summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--modules/luci-mod-system/htdocs/luci-static/resources/view/system/reboot.js14
-rw-r--r--modules/luci-mod-system/root/usr/share/rpcd/acl.d/luci-mod-system.json3
2 files changed, 12 insertions, 5 deletions
diff --git a/modules/luci-mod-system/htdocs/luci-static/resources/view/system/reboot.js b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/reboot.js
index 3b9f450fc..92e1dd492 100644
--- a/modules/luci-mod-system/htdocs/luci-static/resources/view/system/reboot.js
+++ b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/reboot.js
@@ -1,9 +1,15 @@
'use strict';
'require view';
-'require fs';
+'require rpc';
'require ui';
'require uci';
+var callReboot = rpc.declare({
+ object: 'system',
+ method: 'reboot',
+ expect: { result: 0 }
+});
+
return view.extend({
load: function() {
return uci.changes();
@@ -31,9 +37,9 @@ return view.extend({
},
handleReboot: function(ev) {
- return fs.exec('/sbin/reboot').then(function(res) {
- if (res.code != 0) {
- L.ui.addNotification(null, E('p', _('The reboot command failed with code %d').format(res.code)));
+ return callReboot().then(function(res) {
+ if (res != 0) {
+ L.ui.addNotification(null, E('p', _('The reboot command failed with code %d').format(res)));
L.raise('Error', 'Reboot failed');
}
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 b29ddb8f4..38ff98dee 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
@@ -160,7 +160,8 @@
"/sbin/reboot": [ "exec" ]
},
"ubus": {
- "file": [ "exec" ]
+ "file": [ "exec" ],
+ "system": [ "reboot" ]
}
}
}