Merge pull request #5101 from dibdot/sqm-fix
luci-app-sqm: fix JS error if service is disabled
This commit is contained in:
commit
3ad3affc1b
2 changed files with 22 additions and 4 deletions
|
@ -1,5 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
'require fs';
|
'require fs';
|
||||||
|
'require ui';
|
||||||
'require rpc';
|
'require rpc';
|
||||||
'require uci';
|
'require uci';
|
||||||
'require view';
|
'require view';
|
||||||
|
@ -23,8 +24,8 @@ return view.extend({
|
||||||
|
|
||||||
load: function() {
|
load: function() {
|
||||||
return Promise.all([
|
return Promise.all([
|
||||||
fs.list("/var/run/sqm/available_qdiscs"),
|
L.resolveDefault(fs.list('/var/run/sqm/available_qdiscs'), []),
|
||||||
fs.list("/usr/lib/sqm").then(L.bind(function(scripts) {
|
L.resolveDefault(fs.list('/usr/lib/sqm'), []).then(L.bind(function(scripts) {
|
||||||
var tasks = [], scriptHelpTbl = {};
|
var tasks = [], scriptHelpTbl = {};
|
||||||
|
|
||||||
for (var i = 0; i < scripts.length; i++)
|
for (var i = 0; i < scripts.length; i++)
|
||||||
|
@ -41,6 +42,21 @@ return view.extend({
|
||||||
var qdiscs = data[0],
|
var qdiscs = data[0],
|
||||||
scripts = data[1];
|
scripts = data[1];
|
||||||
|
|
||||||
|
if (qdiscs.length === 0) {
|
||||||
|
ui.addNotification(null,
|
||||||
|
E('div', { 'class': 'left' }, [
|
||||||
|
E('p', _("The SQM service seems to be disabled. Please use the button below to activate this service.")),
|
||||||
|
E('button', {
|
||||||
|
'class': 'btn cbi-button-active',
|
||||||
|
'click': ui.createHandlerFn(this, function() {
|
||||||
|
fs.exec_direct('/etc/init.d/sqm', ['enable']);
|
||||||
|
fs.exec_direct('/etc/init.d/sqm', ['start']);
|
||||||
|
location.reload();
|
||||||
|
})
|
||||||
|
}, _('Enable SQM'))
|
||||||
|
]));
|
||||||
|
}
|
||||||
|
|
||||||
var m, s, o;
|
var m, s, o;
|
||||||
|
|
||||||
m = new form.Map('sqm', _('Smart Queue Management'));
|
m = new form.Map('sqm', _('Smart Queue Management'));
|
||||||
|
@ -62,7 +78,7 @@ return view.extend({
|
||||||
o.write = L.bind(function(section, value) {
|
o.write = L.bind(function(section, value) {
|
||||||
if (value == "1") {
|
if (value == "1") {
|
||||||
this.handleEnableSQM();
|
this.handleEnableSQM();
|
||||||
L.ui.addNotification(null, E('p', _("The SQM GUI has just enabled the sqm initscript on your behalf. Remember to disable the sqm initscript manually under System Startup menu in case this change was not wished for.")));
|
ui.addNotification(null, E('p', _("The SQM GUI has just enabled the sqm initscript on your behalf. Remember to disable the sqm initscript manually under System Startup menu in case this change was not wished for.")));
|
||||||
}
|
}
|
||||||
|
|
||||||
return uci.set("sqm", section, "enabled", value);
|
return uci.set("sqm", section, "enabled", value);
|
||||||
|
|
|
@ -4,7 +4,9 @@
|
||||||
"read": {
|
"read": {
|
||||||
"file": {
|
"file": {
|
||||||
"/var/run/sqm/available_qdiscs": [ "list" ],
|
"/var/run/sqm/available_qdiscs": [ "list" ],
|
||||||
"/usr/lib/sqm/*.qos.help": [ "read" ]
|
"/usr/lib/sqm/*.qos.help": [ "read" ],
|
||||||
|
"/etc/init.d/sqm enable" : [ "exec" ],
|
||||||
|
"/etc/init.d/sqm start" : [ "exec" ]
|
||||||
},
|
},
|
||||||
"uci": [ "sqm" ],
|
"uci": [ "sqm" ],
|
||||||
"ubus": {
|
"ubus": {
|
||||||
|
|
Loading…
Reference in a new issue