On 02.02.21 14:41, Aaron Lauterer wrote: > > > On 2/2/21 2:13 PM, Dominik Csapak wrote: >> well this is hardly readable anymore... (not your fault) >> but, would it now not be disabled if i have no CDROM perms >> even if it is a disk and i have perms for that, >> because of short-circuiting ? > > Oh yeah, thanks for catching that. One more comment inline > > >> >> On 2/1/21 3:21 PM, Aaron Lauterer wrote: >>> Add CDROM permission check to disable the Edit button if they are not >>> present. >>> >>> Signed-off-by: Aaron Lauterer <a.laute...@proxmox.com> >>> --- >>> www/manager6/qemu/HardwareView.js | 6 +++++- >>> 1 file changed, 5 insertions(+), 1 deletion(-) >>> >>> diff --git a/www/manager6/qemu/HardwareView.js >>> b/www/manager6/qemu/HardwareView.js >>> index 252a8e72..56bdc0a1 100644 >>> --- a/www/manager6/qemu/HardwareView.js >>> +++ b/www/manager6/qemu/HardwareView.js >>> @@ -600,7 +600,11 @@ Ext.define('PVE.qemu.HardwareView', { >>> remove_btn.setText(isUsedDisk && !isCloudInit ? >>> remove_btn.altText : remove_btn.defaultText); >>> remove_btn.RESTMethod = isUnusedDisk ? 'POST':'PUT'; >>> - edit_btn.setDisabled(rec.data.delete || !rowdef.editor || >>> isCloudInit || (!isCDRom && !diskCap)); >>> + edit_btn.setDisabled(rec.data.delete || >>> + !rowdef.editor || >>> + isCloudInit || >>> + !caps.vms['VM.Config.CDROM'] || > > It doesn't really help readability but should work if we additionally check > if the current selection is a cdrom. This should prevent short-circuiting in > that case > > (isCDRom && !caps.vms['VM.Config.CDROM'])) ||
please also split all lines consistently, i.e., if this would stay as is then it should be written as edit_btn.setDisabled( rec.data.delete || !rowdef.editor || isCloudInit || !caps.vms['VM.Config.CDROM'] || (!isCDRom && !diskCap) ); less indentation but also less crowded (as method call and first argument aren't glued together) _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel