From: Jo-Philipp Wich Date: Thu, 16 Apr 2020 13:32:06 +0000 (+0200) Subject: luci-mod-status: assoclist: hide wifi disconnect on insufficient ACLs X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=17770e49ebb2ef7c9c348aa69146e33988f69720;p=oweals%2Fluci.git luci-mod-status: assoclist: hide wifi disconnect on insufficient ACLs Signed-off-by: Jo-Philipp Wich --- diff --git a/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js index 115fe9909..1e3aeb242 100644 --- a/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js +++ b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js @@ -2,6 +2,14 @@ 'require baseclass'; 'require dom'; 'require network'; +'require rpc'; + +var callSessionAccess = rpc.declare({ + object: 'session', + method: 'access', + params: [ 'scope', 'object', 'function' ], + expect: { 'access': false } +}); function renderbox(radio, networks) { var chan = null, @@ -91,7 +99,8 @@ return baseclass.extend({ return Promise.all([ network.getWifiDevices(), network.getWifiNetworks(), - network.getHostHints() + network.getHostHints(), + callSessionAccess('access-group', 'luci-mod-status-index-wifi', 'write') ]).then(function(radios_networks_hints) { var tasks = []; @@ -110,7 +119,8 @@ return baseclass.extend({ var seen = {}, radios = data[0], networks = data[1], - hosthints = data[2]; + hosthints = data[2], + hasWritePermission = data[3]; var table = E('div', { 'class': 'network-status-table' }); @@ -209,7 +219,7 @@ return baseclass.extend({ ]) ]; - if (networks[i].isClientDisconnectSupported()) { + if (networks[i].isClientDisconnectSupported() && hasWritePermission) { if (assoclist.firstElementChild.childNodes.length < 6) assoclist.firstElementChild.appendChild(E('div', { 'class': 'th cbi-section-actions' }));