luci-app-usteer: Allow editing of settings if usteer is not running
authorRamon Van Gorkom <Ramon00c00@gmail.com>
Mon, 29 Apr 2024 16:45:18 +0000 (18:45 +0200)
committerPaul Donald <itsascambutmailmeanyway+github@gmail.com>
Wed, 1 May 2024 22:49:50 +0000 (00:49 +0200)
Apparently, an invalid parameter can stop usteer from starting.  This PR allows the editing of parameters while usteer is stopped. In that case the status tab is not shown.

Signed-off-by: Ramon Van Gorkom <Ramon00c00@gmail.com>
applications/luci-app-usteer/htdocs/luci-static/resources/view/usteer/usteer.js

index 166ebcef4b413a621b34cbde2dfb307a788ad75f..48ec283b61065098027dd3ca0468b47a0cb706ff 100644 (file)
@@ -368,13 +368,15 @@ return view.extend({
 
                if (!('usteer' in data[0])) {
                        m = new form.Map('usteer', _('Usteer'),
-                               _('Usteer is not running. Make sure it is installed and running.') +
+                               _('Usteer is not running. Make sure it is installed and running.') +' '+
+                               _('An incorrect parameter can cause usteer to fail to start up.') +' '+
                                _('To start it running try %s').format('<code>/etc/init.d/usteer start</code>')
                        );
-                       return m.render();
                }
 
-               m = new form.Map('usteer', _('Usteer'));
+               else {
+                       m = new form.Map('usteer', _('Usteer'));
+               }
 
                Hosts = data[1];
                Remotehosts = data[2];
@@ -389,11 +391,13 @@ return view.extend({
                s.tab('hearingmap', _('Hearing map'));
                s.tab('settings', _('Settings'));
 
-               o = s.taboption('status', Clientinfooverview);
-               o.readonly = true;
+               if (('usteer' in data[0])) {
+                       o = s.taboption('status', Clientinfooverview);
+                       o.readonly = true;
 
-               o = s.taboption('hearingmap', HearingMap);
-               o.readonly = true;
+                       o = s.taboption('hearingmap', HearingMap);
+                       o.readonly = true;
+               }
 
                o = s.taboption('settings', Settingstitle);
                o.readonly = true;