Tal Nisan has uploaded a new change for review.

Change subject: webadmin: Add an alert when adding a Domain to uninitialized 
pool
......................................................................

webadmin: Add an alert when adding a Domain to uninitialized pool

When trying to add a Storage Domain to an uninitialized Storage Pool
there should be a warning message that the Pool is uninitialized and
that the user should first add a data domain to initialize the pool

Change-Id: I30c2b37f2cf59ef9c57ff96d1ffc4c23d452819e
Bug-Url: https://bugzilla.redhat.com/887378
Signed-off-by: Tal Nisan <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/StoragePopupView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/StoragePopupView.ui.xml
4 files changed, 53 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/23/13523/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
index 91542ed..8a58782 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
@@ -7,16 +7,17 @@
 import java.util.List;
 
 import 
org.ovirt.engine.core.common.businessentities.BusinessEntitiesDefinitions;
+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.StorageFormatType;
+import org.ovirt.engine.core.common.businessentities.StoragePoolStatus;
 import org.ovirt.engine.core.common.businessentities.StorageType;
 import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.businessentities.VDSStatus;
 import org.ovirt.engine.core.common.businessentities.VDSType;
 import org.ovirt.engine.core.common.businessentities.VdsSpmStatus;
-import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.storage_pool;
 import org.ovirt.engine.core.common.interfaces.SearchType;
 import org.ovirt.engine.core.common.queries.ConfigurationValues;
@@ -41,6 +42,7 @@
 import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyValidation;
 import 
org.ovirt.engine.ui.uicommonweb.validation.SpecialAsciiI18NOrNoneValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.ValidationResult;
+import org.ovirt.engine.ui.uicompat.ConstantsManager;
 import org.ovirt.engine.ui.uicompat.Event;
 import org.ovirt.engine.ui.uicompat.EventArgs;
 
@@ -124,6 +126,16 @@
         privateDataCenter = value;
     }
 
+    private EntityModel dataCenterAlert;
+
+    public EntityModel getDataCenterAlert() {
+        return dataCenterAlert;
+    }
+
+    public void setDataCenterAlert(EntityModel dataCenterAlert) {
+        this.dataCenterAlert = dataCenterAlert;
+    }
+
     private ListModel privateHost;
 
     public ListModel getHost()
@@ -186,6 +198,7 @@
 
         setName(new EntityModel());
         setDescription(new EntityModel());
+        setDataCenterAlert(new EntityModel());
         setDataCenter(new ListModel());
         getDataCenter().getSelectedItemChangedEvent().addListener(this);
         setHost(new ListModel());
@@ -318,6 +331,20 @@
     private void DataCenter_SelectedItemChanged()
     {
         UpdateItemsAvailability();
+        updateDataCenterAlert();
+    }
+
+    private void updateDataCenterAlert() {
+        if (getDataCenter().getSelectedItem() != null
+                && !UnassignedDataCenterId.equals(((storage_pool) 
getDataCenter().getSelectedItem()).getId())
+                && ((storage_pool) 
getDataCenter().getSelectedItem()).getstatus() == 
StoragePoolStatus.Uninitialized) {
+            getDataCenterAlert().setIsAvailable(true);
+            
getDataCenterAlert().setEntity(ConstantsManager.getInstance().getConstants().dataCenterUninitializedAlert());
+        }
+        else {
+            getDataCenterAlert().setIsAvailable(false);
+            getDataCenterAlert().setEntity("");
+        }
     }
 
     private void Host_SelectedItemChanged()
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
index 436a0f9..5a03ae6 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
@@ -175,6 +175,9 @@
     @DefaultStringValue("Storage")
     String storageTitle();
 
+    @DefaultStringValue("Data Center is uninitialized, in order to initialize 
add a data domain")
+    String dataCenterUninitializedAlert();
+
     @DefaultStringValue("Detach Storage")
     String detachStorageTitle();
 
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/StoragePopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/StoragePopupView.java
index a04bbca..6193d66 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/StoragePopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/StoragePopupView.java
@@ -32,6 +32,7 @@
 import com.google.gwt.uibinder.client.UiBinder;
 import com.google.gwt.uibinder.client.UiField;
 import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.Image;
 import com.google.inject.Inject;
 
 public class StoragePopupView extends AbstractModelBoundPopupView<StorageModel>
@@ -84,6 +85,9 @@
     @Ignore
     @UiField
     FlowPanel specificStorageTypePanel;
+
+    @UiField
+    Image datacenterAlertIcon;
 
     @SuppressWarnings("rawtypes")
     @Ignore
@@ -192,6 +196,14 @@
                 revealStorageView(storageModel);
             }
         });
+
+        
storageModel.getDataCenterAlert().getEntityChangedEvent().addListener(new 
IEventListener() {
+            @Override
+            public void eventRaised(Event ev, Object sender, EventArgs args) {
+                
datacenterAlertIcon.setVisible(storageModel.getDataCenterAlert().getIsAvailable());
+                datacenterAlertIcon.setTitle((String) 
storageModel.getDataCenterAlert().getEntity());
+            }
+        });
     }
 
     @SuppressWarnings("unchecked")
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/StoragePopupView.ui.xml
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/StoragePopupView.ui.xml
index 2ebcd75..a28b3c6 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/StoragePopupView.ui.xml
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/storage/StoragePopupView.ui.xml
@@ -3,6 +3,8 @@
 <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" 
xmlns:g="urn:import:com.google.gwt.user.client.ui"
        xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog" 
xmlns:e="urn:import:org.ovirt.engine.ui.common.widget.editor">
 
+       <ui:with field='resources' 
type='org.ovirt.engine.ui.webadmin.ApplicationResources' />
+
        <ui:style src='../../../../../defines.css' 
type="org.ovirt.engine.ui.webadmin.section.main.view.popup.storage.StoragePopupView.WidgetStyle">
                .content {
                }
@@ -72,6 +74,10 @@
             margin-top: 10px;
         }
 
+        .dataCenterAlertIcon {
+            margin-top: 10px;
+        }
+
        </ui:style>
 
        <d:SimpleDialogPanel width="760px" height="625px">
@@ -81,7 +87,10 @@
                                        <e:EntityModelTextBoxEditor 
ui:field="nameEditor" addStyleNames="{style.nameEditor}"/>
                                        <e:EntityModelTextBoxEditor 
ui:field="descriptionEditor" addStyleNames="{style.descriptionEditor}"/>
                                </g:HorizontalPanel>
-                               <e:ListModelListBoxEditor 
ui:field="datacenterListEditor" addStyleNames="{style.datacenterListEditor}"/>
+                               <g:HorizontalPanel>
+                                       <e:ListModelListBoxEditor 
ui:field="datacenterListEditor" addStyleNames="{style.datacenterListEditor}"/>
+                                       <g:Image ui:field="datacenterAlertIcon" 
resource='{resources.alertImage}' visible="false" 
addStyleNames="{style.dataCenterAlertIcon}"/>
+                               </g:HorizontalPanel>
                                <g:HorizontalPanel 
addStyleNames="{style.storageTypePanel}">
                                        <e:ListModelListBoxEditor 
ui:field="storageTypeListEditor" addStyleNames="{style.storageTypeListEditor}"/>
                                        <e:ListModelListBoxEditor 
ui:field="formatListEditor" addStyleNames="{style.formatListEditor}"/>


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I30c2b37f2cf59ef9c57ff96d1ffc4c23d452819e
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Tal Nisan <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to