luci-mod-system: sshkeys.js: make readonly on insufficient ACLs

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2020-04-16 15:38:09 +02:00
parent d7a17641d3
commit 74e8fb0c8e

View file

@ -1,9 +1,12 @@
'use strict'; 'use strict';
'require baseclass';
'require view'; 'require view';
'require fs'; 'require fs';
'require ui'; 'require ui';
var SSHPubkeyDecoder = L.Class.singleton({ var isReadonlyView = !L.hasViewPermission() || null;
var SSHPubkeyDecoder = baseclass.singleton({
lengthDecode: function(s, off) lengthDecode: function(s, off)
{ {
var l = (s.charCodeAt(off++) << 24) | var l = (s.charCodeAt(off++) << 24) |
@ -224,17 +227,23 @@ return view.extend({
}, },
render: function(keys) { render: function(keys) {
var list = E('div', { 'class': 'cbi-dynlist', 'dragover': dragKey, 'drop': dropKey }, [ var list = E('div', {
'class': 'cbi-dynlist',
'dragover': isReadonlyView ? null : dragKey,
'drop': isReadonlyView ? null : dropKey
}, [
E('div', { 'class': 'add-item' }, [ E('div', { 'class': 'add-item' }, [
E('input', { E('input', {
'class': 'cbi-input-text', 'class': 'cbi-input-text',
'type': 'text', 'type': 'text',
'placeholder': _('Paste or drag SSH key file…') , 'placeholder': _('Paste or drag SSH key file…') ,
'keydown': function(ev) { if (ev.keyCode === 13) addKey(ev) } 'keydown': function(ev) { if (ev.keyCode === 13) addKey(ev) },
'disabled': isReadonlyView
}), }),
E('button', { E('button', {
'class': 'cbi-button', 'class': 'cbi-button',
'click': ui.createHandlerFn(this, addKey) 'click': ui.createHandlerFn(this, addKey),
'disabled': isReadonlyView
}, _('Add key')) }, _('Add key'))
]) ])
]); ]);
@ -244,7 +253,7 @@ return view.extend({
if (pubkey) if (pubkey)
list.insertBefore(E('div', { list.insertBefore(E('div', {
class: 'item', class: 'item',
click: ui.createHandlerFn(this, removeKey), click: isReadonlyView ? null : ui.createHandlerFn(this, removeKey),
'data-key': key 'data-key': key
}, [ }, [
E('strong', pubkey.comment || _('Unnamed key')), E('br'), E('strong', pubkey.comment || _('Unnamed key')), E('br'),