luci-mod-system: sshkeys.js: make readonly on insufficient ACLs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
d7a17641d3
commit
74e8fb0c8e
1 changed files with 14 additions and 5 deletions
|
@ -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'),
|
||||
|
|
Loading…
Reference in a new issue