Daniel Erez has uploaded a new change for review.

Change subject: webadmin: disable edit of Cinder domain
......................................................................

webadmin: disable edit of Cinder domain

- Disable 'Edit' button for Cinder stroage domain
- Support Cinder disks on edit dialog.

Change-Id: Iedb880f580353213199a55fd47f25e8031ba783f
Bug-Url: https://bugzilla.redhat.com/1185826
Signed-off-by: Daniel Erez <de...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditDiskModel.java
2 files changed, 42 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/52/39252/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
index 2552321..151bab3 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
@@ -937,7 +937,8 @@
     }
 
     private boolean isEditAvailable(StorageDomain storageDomain) {
-        if (storageDomain == null || 
storageDomain.getStorageDomainSharedStatus() == 
StorageDomainSharedStatus.Locked) {
+        if (storageDomain == null || 
storageDomain.getStorageDomainSharedStatus() == 
StorageDomainSharedStatus.Locked ||
+                storageDomain.getStorageType().isCinderDomain()) {
             return false;
         }
 
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 121eb0b..c02f1ce 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
@@ -44,20 +44,29 @@
         getIsSgIoUnfiltered().setEntity(getDisk().getSgio() == 
ScsiGenericIO.UNFILTERED);
         getIsReadOnly().setEntity(getDisk().getReadOnly());
 
-        if (getDisk().getDiskStorageType() == DiskStorageType.IMAGE) {
-            DiskImage diskImage = (DiskImage) getDisk();
-            getDiskStorageType().setEntity(DiskStorageType.IMAGE);
-            getSize().setEntity((int) diskImage.getSizeInGigabytes());
-            getVolumeType().setSelectedItem(diskImage.getVolumeType());
+        switch (getDisk().getDiskStorageType()) {
+            case IMAGE:
+                DiskImage diskImage = (DiskImage) getDisk();
+                getDiskStorageType().setEntity(DiskStorageType.IMAGE);
+                getSize().setEntity((int) diskImage.getSizeInGigabytes());
+                getVolumeType().setSelectedItem(diskImage.getVolumeType());
 
-            boolean isExtendImageSizeEnabled = getVm() != null && 
!diskImage.isDiskSnapshot() &&
-                    VdcActionUtils.canExecute(Arrays.asList(getVm()), 
VM.class, VdcActionType.ExtendImageSize);
-            getSizeExtend().setIsChangable(isExtendImageSizeEnabled);
-        } else {
-            LunDisk lunDisk = (LunDisk) getDisk();
-            getDiskStorageType().setEntity(DiskStorageType.LUN);
-            getSize().setEntity(lunDisk.getLun().getDeviceSize());
-            getSizeExtend().setIsAvailable(false);
+                boolean isExtendImageSizeEnabled = getVm() != null && 
!diskImage.isDiskSnapshot() &&
+                        VdcActionUtils.canExecute(Arrays.asList(getVm()), 
VM.class, VdcActionType.ExtendImageSize);
+                getSizeExtend().setIsChangable(isExtendImageSizeEnabled);
+                break;
+            case LUN:
+                LunDisk lunDisk = (LunDisk) getDisk();
+                getDiskStorageType().setEntity(DiskStorageType.LUN);
+                getSize().setEntity(lunDisk.getLun().getDeviceSize());
+                getSizeExtend().setIsAvailable(false);
+                break;
+            case CINDER:
+                CinderDisk cinderDisk = (CinderDisk) getDisk();
+                getDiskStorageType().setEntity(DiskStorageType.CINDER);
+                getSize().setEntity((int) cinderDisk.getSizeInGigabytes());
+                getSizeExtend().setIsChangable(true);
+                break;
         }
 
         updateReadOnlyChangeability();
@@ -157,9 +166,26 @@
         }
     }
 
+    private Guid getStorageDomainId() {
+        switch (getDisk().getDiskStorageType()) {
+            case IMAGE:
+                return  getDiskImage().getStorageIds().get(0);
+            case CINDER:
+                return  getCinderDisk().getStorageIds().get(0);
+        }
+        return null;
+    }
+
     @Override
     protected void updateStorageDomains(final StoragePool datacenter) {
-        // do nothing
+        AsyncDataProvider.getInstance().getStorageDomainById(new 
AsyncQuery(this, new INewAsyncCallback() {
+            @Override
+            public void onSuccess(Object target, Object returnValue) {
+                DiskModel diskModel = (DiskModel) target;
+                StorageDomain storageDomain = (StorageDomain) returnValue;
+                diskModel.getStorageDomain().setSelectedItem(storageDomain);
+            }
+        }), getStorageDomainId());
     }
 
     @Override


-- 
To view, visit https://gerrit.ovirt.org/39252
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iedb880f580353213199a55fd47f25e8031ba783f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Daniel Erez <de...@redhat.com>
Gerrit-Reviewer: Maor Lipchuk <mlipc...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to