Tal Nisan has uploaded a new change for review. Change subject: webadmin: Remove unallowed options in import domain dialog ......................................................................
webadmin: Remove unallowed options in import domain dialog When we are selecting a data center that does not support import of data domains, make those options unselectable Change-Id: I79e57dc3d2bcc8a3efb717f0261d9ca66636b463 Bug-Url: https://bugzilla.redhat.com/1176436 Signed-off-by: Tal Nisan <tni...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/ImportStorageModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageListModel.java 2 files changed, 22 insertions(+), 44 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/28/36328/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/ImportStorageModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/ImportStorageModelBehavior.java index 49a18a9..54dd3d0 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/ImportStorageModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/ImportStorageModelBehavior.java @@ -1,14 +1,11 @@ package org.ovirt.engine.ui.uicommonweb.models.storage; -import java.util.ArrayList; -import java.util.Collection; import java.util.List; import org.ovirt.engine.core.common.businessentities.StorageDomainType; import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.StoragePoolStatus; import org.ovirt.engine.core.common.queries.ConfigurationValues; -import org.ovirt.engine.core.compat.Version; import org.ovirt.engine.ui.frontend.AsyncQuery; import org.ovirt.engine.ui.frontend.INewAsyncCallback; import org.ovirt.engine.ui.uicommonweb.Linq; @@ -29,6 +26,20 @@ public void initialize() { super.initialize(); getModel().getActivateDomain().setEntity(false); + initializeItems(); + } + + private void initializeItems() { + List<IStorageModel> items = AsyncDataProvider.getInstance().getIsoStorageModels(); + + NfsStorageModel tempVar2 = new NfsStorageModel(); + tempVar2.setRole(StorageDomainType.ImportExport); + items.add(tempVar2); + + items.addAll(AsyncDataProvider.getInstance().getFileDataStorageModels()); + items.addAll(AsyncDataProvider.getInstance().getImportBlockDataStorageModels()); + + getModel().setItems(items); } @Override @@ -80,35 +91,7 @@ } private void updateAvailabilityByDatacenter(StoragePool datacenter) { - if (datacenter == null) { - return; - } - - boolean isUnassignedDC = StorageModel.UnassignedDataCenterId.equals(datacenter.getId()); - Version dcVersion = !isUnassignedDC ? datacenter.getcompatibility_version() : Version.v3_5; - boolean ovfStoreOnAnyDomainEnabled = (Boolean) AsyncDataProvider.getInstance().getConfigValuePreConverted( - ConfigurationValues.ImportDataStorageDomain, dcVersion.getValue()); - - if (ovfStoreOnAnyDomainEnabled && !isItemsContainDataDomains()) { - Collection<IStorageModel> items = new ArrayList<IStorageModel>(); - items.addAll(getModel().getItems()); - items.addAll(AsyncDataProvider.getInstance().getFileDataStorageModels()); - items.addAll(AsyncDataProvider.getInstance().getImportBlockDataStorageModels()); - - // Set items manually to invoke itemsChanged event - getModel().setItems(items); - } - getModel().getActivateDomain().setIsAvailable(!StorageModel.UnassignedDataCenterId.equals(datacenter.getId())); - } - - private boolean isItemsContainDataDomains() { - for (IStorageModel storageModel : getModel().getItems()) { - if (storageModel.getRole() == StorageDomainType.Data) { - return true; - } - } - return false; } public void postUpdateItemsAvailability(IStorageModel item, boolean isNoStorageAttached) @@ -137,10 +120,6 @@ } private boolean isItemSelectable(IStorageModel item, StoragePool dataCenter, boolean isNoStorageAttached) { - // Allow import of data domains - if (item.getRole() == StorageDomainType.Data) { - return true; - } // Local SD can be attached to a local DC only if (isLocalStorage(item) && !dataCenter.isLocal()) { @@ -148,7 +127,7 @@ } // All storage domains can be attached to Unassigned DC - if (dataCenter.getId().equals(StorageModel.UnassignedDataCenterId)) { + if (StorageModel.UnassignedDataCenterId.equals(dataCenter.getId())) { return true; } @@ -159,6 +138,13 @@ return true; } + // Allow import of data domains only if the data center supports OVF on any domain or in the "None" data center + if (item.getRole() == StorageDomainType.Data) { + boolean ovfStoreOnAnyDomainEnabled = (Boolean) AsyncDataProvider.getInstance().getConfigValuePreConverted( + ConfigurationValues.ImportDataStorageDomain, dataCenter.getcompatibility_version().getValue()); + return ovfStoreOnAnyDomainEnabled; + } + return false; } } 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 d83e042..0343852 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 @@ -617,14 +617,6 @@ model.getComment().setIsAvailable(false); model.getFormat().setIsAvailable(false); - List<IStorageModel> items = AsyncDataProvider.getInstance().getIsoStorageModels(); - - NfsStorageModel tempVar2 = new NfsStorageModel(); - tempVar2.setRole(StorageDomainType.ImportExport); - items.add(tempVar2); - - model.setItems(items); - model.initialize(); UICommand command; -- To view, visit http://gerrit.ovirt.org/36328 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I79e57dc3d2bcc8a3efb717f0261d9ca66636b463 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tal Nisan <tni...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches