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';
'require baseclass';
'require view';
'require fs';
'require ui';
var SSHPubkeyDecoder = L.Class.singleton({
var isReadonlyView = !L.hasViewPermission() || null;
var SSHPubkeyDecoder = baseclass.singleton({
lengthDecode: function(s, off)
{
var l = (s.charCodeAt(off++) << 24) |
@ -224,17 +227,23 @@ return view.extend({
},
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('input', {
'class': 'cbi-input-text',
'type': 'text',
'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', {
'class': 'cbi-button',
'click': ui.createHandlerFn(this, addKey)
'click': ui.createHandlerFn(this, addKey),
'disabled': isReadonlyView
}, _('Add key'))
])
]);
@ -244,7 +253,7 @@ return view.extend({
if (pubkey)
list.insertBefore(E('div', {
class: 'item',
click: ui.createHandlerFn(this, removeKey),
click: isReadonlyView ? null : ui.createHandlerFn(this, removeKey),
'data-key': key
}, [
E('strong', pubkey.comment || _('Unnamed key')), E('br'),