Alissa Bonas has uploaded a new change for review.

Change subject: core, webadmin: allow edit unattached storage conn
......................................................................

core, webadmin: allow edit unattached storage conn

Allow editing (updating) the path (connection)
of an  unattached storage domain.
Before this change, it was allowed only for domains in maintenance
state.

Change-Id: I42185d9306f5242b2258adbf8072288184393b63
Signed-off-by: Alissa Bonas <abo...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommand.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommandTest.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java
3 files changed, 8 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/74/17774/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommand.java
index e4ba86e..0cafc3b 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommand.java
@@ -15,6 +15,7 @@
 import 
org.ovirt.engine.core.common.action.StorageServerConnectionParametersBase;
 import org.ovirt.engine.core.common.businessentities.LUNs;
 import org.ovirt.engine.core.common.businessentities.StorageDomain;
+import org.ovirt.engine.core.common.businessentities.StorageDomainSharedStatus;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
 import org.ovirt.engine.core.common.businessentities.StorageDomainType;
 import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap;
@@ -185,7 +186,7 @@
 
     protected boolean isDomainInEditState(StorageDomain storageDomain) {
         boolean isEditable = (storageDomain.getStorageDomainType() == 
StorageDomainType.Data || storageDomain.getStorageDomainType() == 
StorageDomainType.Master)
-                && storageDomain.getStatus() == 
StorageDomainStatus.Maintenance;
+                && (storageDomain.getStatus() == 
StorageDomainStatus.Maintenance || storageDomain.getStorageDomainSharedStatus() 
== StorageDomainSharedStatus.Unattached);
         return isEditable;
     }
 
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommandTest.java
index e0d2e2f..f194d13 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommandTest.java
@@ -28,6 +28,7 @@
 import org.ovirt.engine.core.common.businessentities.NfsVersion;
 import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.StorageDomainDynamic;
+import org.ovirt.engine.core.common.businessentities.StorageDomainSharedStatus;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
 import org.ovirt.engine.core.common.businessentities.StoragePoolIsoMap;
 import org.ovirt.engine.core.common.businessentities.StorageServerConnections;
@@ -315,6 +316,7 @@
         StorageDomain domain1 = new StorageDomain();
         domain1.setStorage(newNFSConnection.getconnection());
         domain1.setStatus(StorageDomainStatus.Active);
+        domain1.setStorageDomainSharedStatus(StorageDomainSharedStatus.Active);
         domains.add(domain1);
         parameters.setStorageServerConnection(newNFSConnection);
         
when(storageConnDao.get(newNFSConnection.getid())).thenReturn(oldNFSConnection);
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 0a71091..e0251b9 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
@@ -480,8 +480,8 @@
     }
 
     private boolean isPathEditable(StorageDomain storage) {
-        if(storage.getStorageType().isFileDomain() && 
!storage.getStorageType().equals(StorageType.GLUSTERFS)) {
-          return ((storage.getStorageDomainType() == StorageDomainType.Data || 
storage.getStorageDomainType() == StorageDomainType.Master) && 
storage.getStatus() == StorageDomainStatus.Maintenance);
+        if (storage.getStorageType().isFileDomain() && 
!storage.getStorageType().equals(StorageType.GLUSTERFS)) {
+            return ((storage.getStorageDomainType() == StorageDomainType.Data 
|| storage.getStorageDomainType() == StorageDomainType.Master) && 
(storage.getStatus() == StorageDomainStatus.Maintenance || 
storage.getStorageDomainSharedStatus() ==  
StorageDomainSharedStatus.Unattached));
         }
         return false;
     }
@@ -1151,10 +1151,11 @@
         boolean isActive = storageDomain.getStorageDomainSharedStatus() == 
StorageDomainSharedStatus.Active
                 || storageDomain.getStorageDomainSharedStatus() == 
StorageDomainSharedStatus.Mixed;
         boolean isInMaintenance = (storageDomain.getStatus() == 
StorageDomainStatus.Maintenance);
+        boolean isUnattached = (storageDomain.getStorageDomainSharedStatus() 
== StorageDomainSharedStatus.Unattached);
         boolean isDataDomain = (storageDomain.getStorageDomainType() == 
StorageDomainType.Data) || (storageDomain.getStorageDomainType() == 
StorageDomainType.Master);
         boolean isBlockStorage = 
storageDomain.getStorageType().isBlockDomain();
 
-        isEditAvailable = isActive || isBlockStorage || ( isInMaintenance && 
isDataDomain)  ;
+        isEditAvailable = isActive || isBlockStorage || ((isInMaintenance || 
isUnattached) && isDataDomain);
         return isEditAvailable;
     }
 


-- 
To view, visit http://gerrit.ovirt.org/17774
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I42185d9306f5242b2258adbf8072288184393b63
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alissa Bonas <abo...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to