From c67d2ddc2ce34bb2d985b3864706d2cf49e65b6c Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 31 Oct 2019 15:54:21 +0100 Subject: [PATCH] luci-base, luci-mod-system: replace luci/setReboot with fs.exec Signed-off-by: Jo-Philipp Wich --- modules/luci-base/root/usr/libexec/rpcd/luci | 6 ------ .../root/usr/share/rpcd/acl.d/luci-base.json | 2 +- .../luci-static/resources/view/system/reboot.js | 17 ++++++++--------- 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, -- 2.30.2