summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2020-09-11 13:26:45 +0200
committerPaul Donald <itsascambutmailmeanyway@gmail.com>2023-12-30 23:38:19 +0000
commit2e4900eb43fe0687fb116e7defea4055b9c9b8a2 (patch)
treeaff5f1f41126366dafce0405ff85b5458a4d0776
parent5802709bc68e7b173cd21f0a6b62e30a0925d530 (diff)
luci-mod-system: use new "rc" ubus object for init.d scripts
Convert startup.js and system.js to use the generic ubus rc method to handle /etc/init.d/ scripts for enable/disable/start/restart/reload/stop operation. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> [ reword commit description, convert system.js ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
-rw-r--r--modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js27
-rw-r--r--modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js20
-rw-r--r--modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json10
3 files changed, 29 insertions, 28 deletions
diff --git a/modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js
index 4d1defbd2b..d034500713 100644
--- a/modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js
+++ b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js
@@ -7,29 +7,28 @@
var isReadonlyView = !L.hasViewPermission() || null;
return view.extend({
- callInitList: rpc.declare({
- object: 'luci',
- method: 'getInitList',
+ callRcList: rpc.declare({
+ object: 'rc',
+ method: 'list',
expect: { '': {} }
}),
- callInitAction: rpc.declare({
- object: 'luci',
- method: 'setInitAction',
+ callRcInit: rpc.declare({
+ object: 'rc',
+ method: 'init',
params: [ 'name', 'action' ],
- expect: { result: false }
}),
load: function() {
return Promise.all([
L.resolveDefault(fs.read('/etc/rc.local'), ''),
- this.callInitList()
+ this.callRcList()
]);
},
handleAction: function(name, action, ev) {
- return this.callInitAction(name, action).then(function(success) {
- if (success != true)
+ return this.callRcInit(name, action).then(function(ret) {
+ if (ret)
throw _('Command failed');
return true;
@@ -80,19 +79,19 @@ return view.extend({
]);
for (var init in initList)
- if (initList[init].index < 100)
+ if (initList[init].start < 100)
list.push(Object.assign({ name: init }, initList[init]));
list.sort(function(a, b) {
- if (a.index != b.index)
- return a.index - b.index
+ if (a.start != b.start)
+ return a.start - b.start
return a.name > b.name;
});
for (var i = 0; i < list.length; i++) {
rows.push([
- '%02d'.format(list[i].index),
+ '%02d'.format(list[i].start),
list[i].name,
E('div', [
this.renderEnableDisable(list[i]),
diff --git a/modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js
index 767bc8c619..754793c6b3 100644
--- a/modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js
+++ b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js
@@ -7,12 +7,12 @@
'require form';
'require tools.widgets as widgets';
-var callInitList, callInitAction, callTimezone,
+var callRcList, callRcInit, callTimezone,
callGetLocaltime, callSetLocaltime, CBILocalTime;
-callInitList = rpc.declare({
- object: 'luci',
- method: 'getInitList',
+callRcList = rpc.declare({
+ object: 'rc',
+ method: 'list',
params: [ 'name' ],
expect: { '': {} },
filter: function(res) {
@@ -22,9 +22,9 @@ callInitList = rpc.declare({
}
});
-callInitAction = rpc.declare({
- object: 'luci',
- method: 'setInitAction',
+callRcInit = rpc.declare({
+ object: 'rc',
+ method: 'init',
params: [ 'name', 'action' ],
expect: { result: false }
});
@@ -83,7 +83,7 @@ CBILocalTime = form.DummyValue.extend({
this.ntpd_support ? E('button', {
'class': 'cbi-button cbi-button-apply',
'click': ui.createHandlerFn(this, function() {
- return callInitAction('sysntpd', 'restart');
+ return callRcInit('sysntpd', 'restart');
}),
'disabled': (this.readonly != null) ? this.readonly : this.map.readonly
}, _('Sync with NTP-Server')) : ''
@@ -95,7 +95,7 @@ CBILocalTime = form.DummyValue.extend({
return view.extend({
load: function() {
return Promise.all([
- callInitList('sysntpd'),
+ callRcList('sysntpd'),
callTimezone(),
callGetLocaltime(),
uci.load('luci'),
@@ -271,7 +271,7 @@ return view.extend({
else
uci.unset('system', 'ntp', 'enabled');
- return callInitAction('sysntpd', 'enable');
+ return callRcInit('sysntpd', 'enable');
};
o.load = function(section_id) {
return (ntpd_enabled == 1 &&
diff --git a/modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json b/modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json
index 732a73a760..4fa39613b7 100644
--- a/modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json
+++ b/modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json
@@ -3,14 +3,16 @@
"description": "Grant access to system configuration",
"read": {
"ubus": {
- "luci": [ "getInitList", "getLEDs", "getTimezones", "getUSBDevices" ],
+ "luci": [ "getLEDs", "getTimezones", "getUSBDevices" ],
+ "rc": [ "list" ],
"system": [ "info" ]
},
"uci": [ "luci", "system" ]
},
"write": {
"ubus": {
- "luci": [ "setInitAction", "setLocaltime", "setPassword" ]
+ "luci": [ "setLocaltime", "setPassword" ],
+ "rc": [ "init" ],
},
"uci": [ "luci", "system" ]
}
@@ -61,7 +63,7 @@
},
"ubus": {
"file": [ "read" ],
- "luci": [ "getInitList" ]
+ "rc": [ "list" ]
}
},
"write": {
@@ -70,7 +72,7 @@
},
"ubus": {
"file": [ "write" ],
- "luci": [ "setInitAction" ]
+ "rc": [ "init" ]
}
}
},