summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rwxr-xr-xmodules/luci-base/root/usr/libexec/rpcd/luci6
-rw-r--r--modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json2
-rw-r--r--modules/luci-mod-system/htdocs/luci-static/resources/view/system/reboot.js17
3 files changed, 9 insertions, 16 deletions
diff --git a/modules/luci-base/root/usr/libexec/rpcd/luci b/modules/luci-base/root/usr/libexec/rpcd/luci
index 4eb62d2152..f200ee5f4f 100755
--- a/modules/luci-base/root/usr/libexec/rpcd/luci
+++ b/modules/luci-base/root/usr/libexec/rpcd/luci
@@ -524,12 +524,6 @@ local methods = {
local util = require "luci.util"
return { result = (os.execute(string.format("/bin/umount %s", util.shellquote(args.path))) == 0) }
end
- },
-
- setReboot = {
- call = function()
- return { result = (os.execute("/sbin/reboot >/dev/null 2>&1") == 0) }
- end
}
}
diff --git a/modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json b/modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json
index d801f0168f..51a7860dea 100644
--- a/modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json
+++ b/modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json
@@ -69,7 +69,7 @@
"ubus": {
"file": [ "write", "remove", "exec" ],
"iwinfo": [ "scan" ],
- "luci": [ "setInitAction", "setLocaltime", "setPassword", "setBlockDetect", "setUmount", "setReboot" ],
+ "luci": [ "setInitAction", "setLocaltime", "setPassword", "setBlockDetect", "setUmount" ],
"uci": [ "add", "apply", "confirm", "delete", "order", "set", "rename" ]
},
"uci": [ "*" ]
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 0a14465559..3ed87f413f 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
@@ -2,13 +2,6 @@
'require fs';
'require ui';
'require uci';
-'require rpc';
-
-var callReboot = rpc.declare({
- object: 'luci',
- method: 'setReboot',
- expect: { result: false }
-});
return L.view.extend({
load: function() {
@@ -37,7 +30,12 @@ return L.view.extend({
},
handleReboot: function(ev) {
- return callReboot().then(function() {
+ 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)));
+ L.raise('Error', 'Reboot failed');
+ }
+
L.ui.showModal(_('Rebooting…'), [
E('p', { 'class': 'spinning' }, _('Waiting for device...'))
]);
@@ -50,7 +48,8 @@ return L.view.extend({
}, 150000);
L.ui.awaitReconnect();
- });
+ })
+ .catch(function(e) { L.ui.addNotification(null, E('p', e.message)) });
},
handleSaveApply: null,