[pve-devel] [PATCH manager 7/7] ui: qemu/HardwareView: add CDROM permission check to edit button

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Feb 3 07:21:39 CET 2021


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.lauterer at 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)




More information about the pve-devel mailing list