Sergey Gotliv has uploaded a new change for review. Change subject: webadmin: Allow editing de-attached disk in UI ......................................................................
webadmin: Allow editing de-attached disk in UI "Edit" button under VM => Disks is disabled after disk was deattached from VM. It should be enabled as it was before 3.3. Change-Id: Ia128fe1dbe74be608d27737146d575c52e131c56 Bug-Url: https://bugzilla.redhat.com/988061 Signed-off-by: Sergey Gotliv <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java 3 files changed, 23 insertions(+), 11 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/92/17292/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java index d777652..b4b717e 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java @@ -295,6 +295,10 @@ protected abstract LunDisk getLunDisk(); + protected boolean isEditEnabled() { + return (getVm() != null && getVm().isDown()) || !getDisk().getPlugged(); + } + @Override public void initialize() { super.initialize(); @@ -458,7 +462,7 @@ ConfigurationValues.ShareableDiskEnabled, datacenter.getcompatibility_version().getValue()); getIsShareable().setChangeProhibitionReason(CONSTANTS.shareableDiskNotSupported()); - getIsShareable().setIsChangable(isShareableDiskEnabled && getVm() != null && getVm().isDown()); + getIsShareable().setIsChangable(isShareableDiskEnabled && isEditEnabled()); } private void updateDirectLunDiskEnabled(StoragePool datacenter) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java index 238f903..f299147 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java @@ -146,7 +146,7 @@ getVolumeType().setIsChangable(false); getSize().setIsChangable(false); - if (getVm() == null || !getVm().isDown()) { + if (!isEditEnabled()) { getDescription().setIsChangable(false); getAlias().setIsChangable(false); getIsShareable().setIsChangable(false); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java index 162db25..9af840c 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java @@ -547,20 +547,15 @@ private void updateActionAvailability() { Disk disk = (Disk) getSelectedItem(); - boolean isDiskLocked = disk != null && disk.getDiskStorageType() == DiskStorageType.IMAGE && - ((DiskImage) disk).getImageStatus() == ImageStatus.LOCKED; getNewCommand().setIsExecutionAllowed(true); - boolean isExtendImageSizeSupportedAndEnabled = isExtendImageSizeSupported() && isExtendImageSizeEnabled(); - getEditCommand().setIsExecutionAllowed(getSelectedItem() != null && getSelectedItems() != null - && getSelectedItems().size() == 1 && disk.getPlugged() && !isDiskLocked && - (isVmDown() || isExtendImageSizeSupportedAndEnabled)); + getEditCommand().setIsExecutionAllowed(disk != null && isSingleDiskSelected() && !isDiskLocked(disk) && + (isVmDown() || !disk.getPlugged() || (isExtendImageSizeSupported() && isExtendImageSizeEnabled()))); - getRemoveCommand().setIsExecutionAllowed(getSelectedItems() != null && getSelectedItems().size() > 0 - && isRemoveCommandAvailable()); + getRemoveCommand().setIsExecutionAllowed(atLeastOneDiskSelected() && isRemoveCommandAvailable()); - getMoveCommand().setIsExecutionAllowed(getSelectedItems() != null && getSelectedItems().size() > 0 + getMoveCommand().setIsExecutionAllowed(atLeastOneDiskSelected() && (isMoveCommandAvailable() || isLiveMoveCommandAvailable())); updateGetAlignmentCommandAvailability(); @@ -580,6 +575,19 @@ return vm != null && vm.getStatus() == VMStatus.Down; } + private boolean isDiskLocked(Disk disk) { + return disk != null && disk.getDiskStorageType() == DiskStorageType.IMAGE && + ((DiskImage) disk).getImageStatus() == ImageStatus.LOCKED; + } + + private boolean isSingleDiskSelected() { + return getSelectedItems() != null && getSelectedItems().size() == 1; + } + + private boolean atLeastOneDiskSelected() { + return getSelectedItems() != null && getSelectedItems().size() > 0; + } + public boolean isHotPlugAvailable() { VM vm = getEntity(); return vm != null && (vm.getStatus() == VMStatus.Up || -- To view, visit http://gerrit.ovirt.org/17292 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia128fe1dbe74be608d27737146d575c52e131c56 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Sergey Gotliv <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
