mirror of
https://github.com/remittor/zapret-openwrt.git
synced 2025-12-06 03:26:49 +03:00
luci: Fix detect daemons status (empty instances dict)
This commit is contained in:
@@ -94,7 +94,7 @@ return view.extend({
|
||||
} else {
|
||||
btn.enable.disabled = (svc_autorun) ? true : false;
|
||||
btn.disable.disabled = (svc_autorun) ? false : true;
|
||||
if (svcinfo.dmn.total == 0) {
|
||||
if (!svcinfo.dmn.inited) {
|
||||
btn.start.disabled = false;
|
||||
btn.restart.disabled = true;
|
||||
btn.stop.disabled = true;
|
||||
|
||||
@@ -143,6 +143,7 @@ return baseclass.extend({
|
||||
let result = {
|
||||
"autorun": svc_autorun,
|
||||
"dmn": {
|
||||
inited: false,
|
||||
total: 0,
|
||||
running: 0,
|
||||
working: 0,
|
||||
@@ -162,18 +163,18 @@ return baseclass.extend({
|
||||
return -3;
|
||||
}
|
||||
if (typeof(jdata.zapret) == 'object') {
|
||||
result.dmn.inited = true;
|
||||
let dmn_list = jdata.zapret.instances;
|
||||
if (typeof(dmn_list) !== 'object') {
|
||||
return -4;
|
||||
}
|
||||
for (const [dmn_name, daemon] of Object.entries(dmn_list)) {
|
||||
result.dmn.total += 1;
|
||||
if (daemon.running) {
|
||||
result.dmn.running += 1;
|
||||
}
|
||||
if (daemon.pid !== undefined && daemon.pid != null) {
|
||||
if (plist.includes(daemon.pid)) {
|
||||
result.dmn.working += 1;
|
||||
if (typeof(dmn_list) == 'object') {
|
||||
for (const [dmn_name, daemon] of Object.entries(dmn_list)) {
|
||||
result.dmn.total += 1;
|
||||
if (daemon.running) {
|
||||
result.dmn.running += 1;
|
||||
}
|
||||
if (daemon.pid !== undefined && daemon.pid != null) {
|
||||
if (plist.includes(daemon.pid)) {
|
||||
result.dmn.working += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -182,7 +183,7 @@ return baseclass.extend({
|
||||
if (result.dmn.total == 0) {
|
||||
result.status = (!svc_autorun) ? this.statusDict.disabled : this.statusDict.stopped;
|
||||
} else {
|
||||
result.status = (!result.dmn.working) ? this.statusDict.started : this.statusDict.running;
|
||||
result.status = (result.dmn.inited) ? this.statusDict.started : this.statusDict.running;
|
||||
}
|
||||
return result;
|
||||
},
|
||||
@@ -193,7 +194,7 @@ return baseclass.extend({
|
||||
|
||||
if (typeof(svcinfo) == 'object') {
|
||||
svc_autorun = (svcinfo.autorun) ? _('Enabled') : _('Disabled');
|
||||
if (svcinfo.dmn.total == 0) {
|
||||
if (!svcinfo.dmn.inited) {
|
||||
svc_daemons = _('Stopped');
|
||||
} else {
|
||||
svc_daemons = (!svcinfo.dmn.working) ? _('Starting') : _('Running');
|
||||
|
||||
Reference in New Issue
Block a user