Ramesh N has uploaded a new change for review. Change subject: webadmin: fix action availability for create brick ......................................................................
webadmin: fix action availability for create brick Enable/Disable create brick action based on the selection of storage devices. Change-Id: Iecaff8f5863bd3107ba109e6f1f9d695d8ee67aa Bug-Url: https://bugzilla.redhat.com/1208125 Signed-off-by: Ramesh Nachimuthu <rnach...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterStorageDevicesListModel.java 1 file changed, 41 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/20/39820/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterStorageDevicesListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterStorageDevicesListModel.java index 7296ba7..812ca81 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterStorageDevicesListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/HostGlusterStorageDevicesListModel.java @@ -186,14 +186,49 @@ .runAction(VdcActionType.SyncStorageDevices, new VdsActionParameters(getEntity().getId())); } - private void updateActionAvailability() { - VDS vds = getEntity(); - if (vds != null) { - getSyncStorageDevicesCommand().setIsExecutionAllowed(vds.getStatus() == VDSStatus.Up); - getCreateBrickCommand().setIsExecutionAllowed(vds.getStatus() == VDSStatus.Up); - } + @Override + protected void onSelectedItemChanged() { + super.onSelectedItemChanged(); + updateActionAvailability(); } + @Override + protected void selectedItemsChanged() + { + super.selectedItemsChanged(); + updateActionAvailability(); + } + + private void updateActionAvailability() { + VDS vds = getEntity(); + boolean createBrickAllowed = false; + boolean syncStorageDeviceAllowed = false; + if (vds != null && vds.getStatus() == VDSStatus.Up) { + syncStorageDeviceAllowed = true; + createBrickAllowed = !getItems().isEmpty() && canCreateBrick(); + if (createBrickAllowed && !getSelectedItems().isEmpty()) { + for (StorageDevice device : getSelectedItems()) { + if (device.getCanCreateBrick()) { + createBrickAllowed = false; + break; + } + + } + } + } + + getSyncStorageDevicesCommand().setIsExecutionAllowed(syncStorageDeviceAllowed); + getCreateBrickCommand().setIsExecutionAllowed(createBrickAllowed); + } + + private boolean canCreateBrick(){ + for (StorageDevice device : getItems()) { + if (device.getCanCreateBrick()) { + return true; + } + } + return false; + } private void onCreateBrick() { CreateBrickModel lvModel = (CreateBrickModel) getWindow(); if (lvModel == null) { -- To view, visit https://gerrit.ovirt.org/39820 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iecaff8f5863bd3107ba109e6f1f9d695d8ee67aa Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ramesh N <rnach...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches