Idan Shaby has uploaded a new change for review.

Change subject: webadmin: Configurable Default for Wipe After Delete per 
Storage Domain
......................................................................

webadmin: Configurable Default for Wipe After Delete per Storage Domain

This patch adds the ability to configure a default value for wipe after
delete (WAD) per storage domain via the UI. This way, each new disk will
get the default value for WAD from its storage domain.
Note that SANWipeAfterDelete will no longer be the WAD default value for
disks, but for storage domains.

Change-Id: Id0bf6a95eb4b33867de86e99f8cb59eec0d1cdd4
Bug-Url: https://bugzilla.redhat.com/1073448
Signed-off-by: Idan Shaby <[email protected]>
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetStorageDomainWipeAfterDeleteQuery.java
A 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetStorageDomainWipeAfterDeleteQueryTest.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetStorageDomainWipeAfterDeleteParameters.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/ImportFcpStorageView.ui.xml
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/ImportIscsiStorageView.ui.xml
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
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/storage/StorageModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.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
12 files changed, 176 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/26/36526/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetStorageDomainWipeAfterDeleteQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetStorageDomainWipeAfterDeleteQuery.java
new file mode 100644
index 0000000..33fdc3d
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetStorageDomainWipeAfterDeleteQuery.java
@@ -0,0 +1,19 @@
+package org.ovirt.engine.core.bll;
+
+import org.ovirt.engine.core.bll.utils.WipeAfterDeleteUtils;
+import 
org.ovirt.engine.core.common.queries.GetStorageDomainWipeAfterDeleteParameters;
+
+public class GetStorageDomainWipeAfterDeleteQuery<P extends 
GetStorageDomainWipeAfterDeleteParameters>
+        extends QueriesCommandBase<P> {
+
+    public GetStorageDomainWipeAfterDeleteQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override protected void executeQueryCommand() {
+        if (getParameters().getStorageType() != null) {
+            getQueryReturnValue().setReturnValue(
+                    
WipeAfterDeleteUtils.getDefaultWipeAfterDeleteFlag(getParameters().getStorageType()));
+        }
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetStorageDomainWipeAfterDeleteQueryTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetStorageDomainWipeAfterDeleteQueryTest.java
new file mode 100644
index 0000000..eecc7be
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetStorageDomainWipeAfterDeleteQueryTest.java
@@ -0,0 +1,42 @@
+package org.ovirt.engine.core.bll;
+
+import org.junit.ClassRule;
+import org.junit.experimental.theories.DataPoints;
+import org.junit.experimental.theories.Theories;
+import org.junit.experimental.theories.Theory;
+import org.junit.runner.RunWith;
+import org.ovirt.engine.core.common.businessentities.StorageType;
+import org.ovirt.engine.core.common.config.ConfigValues;
+import 
org.ovirt.engine.core.common.queries.GetStorageDomainWipeAfterDeleteParameters;
+import org.ovirt.engine.core.utils.MockConfigRule;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assume.assumeTrue;
+import static org.mockito.Mockito.when;
+import static org.ovirt.engine.core.utils.MockConfigRule.mockConfig;
+
+@RunWith(Theories.class)
+public class GetStorageDomainWipeAfterDeleteQueryTest
+        extends AbstractQueryTest<GetStorageDomainWipeAfterDeleteParameters,
+        
GetStorageDomainWipeAfterDeleteQuery<GetStorageDomainWipeAfterDeleteParameters>>
 {
+
+    @ClassRule
+    public static MockConfigRule mcr = new MockConfigRule(
+            mockConfig(ConfigValues.SANWipeAfterDelete, true),
+            mockConfig(ConfigValues.UserSessionTimeOutInterval, 60)
+    );
+
+    @DataPoints
+    public static StorageType[] types = StorageType.values();
+
+    @Theory
+    public void testExecuteQueryForType(StorageType type) {
+        assumeTrue(type + " is not a concrete type, skipping", 
type.isConcreteStorageType());
+
+        when(getQueryParameters().getStorageType()).thenReturn(type);
+        getQuery().executeQueryCommand();
+
+        assertEquals("Wrong 'Wipe After Delete' value returned for Storage 
Domain type " + type,
+                type.isBlockDomain(), 
getQuery().getQueryReturnValue().getReturnValue());
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetStorageDomainWipeAfterDeleteParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetStorageDomainWipeAfterDeleteParameters.java
new file mode 100644
index 0000000..98e9268
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetStorageDomainWipeAfterDeleteParameters.java
@@ -0,0 +1,23 @@
+package org.ovirt.engine.core.common.queries;
+
+import org.ovirt.engine.core.common.businessentities.StorageType;
+
+public class GetStorageDomainWipeAfterDeleteParameters extends 
VdcQueryParametersBase {
+
+    private static final long serialVersionUID = 6469435734937894858L;
+    private StorageType storageType;
+
+    public GetStorageDomainWipeAfterDeleteParameters() {}
+
+    public GetStorageDomainWipeAfterDeleteParameters(StorageType storageType) {
+        this.storageType = storageType;
+    }
+
+    public StorageType getStorageType() {
+        return storageType;
+    }
+
+    public void setStorageType(StorageType storageType) {
+        this.storageType = storageType;
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
index 2864d22..16cdb7b 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
@@ -280,6 +280,7 @@
     GetIscsiBondById,
     GetStorageServerConnectionByIscsiBondId,
     GetNetworksByIscsiBondId,
+    GetStorageDomainWipeAfterDelete,
 
     // Event Notification
     GetEventSubscribersBySubscriberIdGrouped,
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/ImportFcpStorageView.ui.xml
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/ImportFcpStorageView.ui.xml
index 288e5cb..e554d94 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/ImportFcpStorageView.ui.xml
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/ImportFcpStorageView.ui.xml
@@ -6,10 +6,11 @@
 
        <ui:style>
         .containerPanel {
-            position: absolute !important;
+            position: relative;
             width: 100%;
             bottom: 0;
-            top: 120px;
+            top: 0px;
+            height: 430px;
         }
 
         .containerPanelInner {
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/ImportIscsiStorageView.ui.xml
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/ImportIscsiStorageView.ui.xml
index 58b9b06..49fe09c 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/ImportIscsiStorageView.ui.xml
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/ImportIscsiStorageView.ui.xml
@@ -7,10 +7,10 @@
 
        <ui:style 
type="org.ovirt.engine.ui.common.widget.uicommon.storage.ImportIscsiStorageView.WidgetStyle">
         .splitLayoutPanel {
-            position: absolute !important;
             width: 100%;
             bottom: 0;
-            top: 120px;
+            top: 0px;
+            height: 440px;
         }
 
         .containerPanel {
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
index af2f059..5289a03 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
@@ -108,6 +108,7 @@
 import 
org.ovirt.engine.core.common.queries.GetImagesListByStoragePoolIdParameters;
 import org.ovirt.engine.core.common.queries.GetLunsByVgIdParameters;
 import 
org.ovirt.engine.core.common.queries.GetPermittedStorageDomainsByStoragePoolIdParameters;
+import 
org.ovirt.engine.core.common.queries.GetStorageDomainWipeAfterDeleteParameters;
 import 
org.ovirt.engine.core.common.queries.GetStorageDomainsByConnectionParameters;
 import 
org.ovirt.engine.core.common.queries.GetStoragePoolsByClusterServiceParameters;
 import org.ovirt.engine.core.common.queries.GetSupportedCpuListParameters;
@@ -2538,6 +2539,16 @@
         
Frontend.getInstance().runQuery(VdcQueryType.GetPermittedStorageDomainsByStoragePoolId,
 params, aQuery);
     }
 
+    public void getStorageDomainWipeAfterDelete(AsyncQuery aQuery, StorageType 
storageType) {
+        aQuery.converterCallback = new IAsyncConverter<Boolean>() {
+            @Override public Boolean Convert(Object returnValue, AsyncQuery 
asyncQuery) {
+                return returnValue != null ? (Boolean)returnValue : null;
+            }
+        };
+        GetStorageDomainWipeAfterDeleteParameters params = new 
GetStorageDomainWipeAfterDeleteParameters(storageType);
+        
Frontend.getInstance().runQuery(VdcQueryType.GetStorageDomainWipeAfterDelete, 
params, aQuery);
+    }
+
     public void getAllDataCenterNetworks(AsyncQuery aQuery, Guid 
storagePoolId) {
         aQuery.converterCallback = new IAsyncConverter() {
             @Override
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 a637e33..872ec8b 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
@@ -1215,6 +1215,7 @@
         storageDomain.setDescription(model.getDescription().getEntity());
         storageDomain.setComment(model.getComment().getEntity());
         storageDomain.setStorageFormat(model.getFormat().getSelectedItem());
+        
storageDomain.setWipeAfterDelete(model.getWipeAfterDelete().getEntity());
 
         if (isNew) {
             AsyncDataProvider.getInstance().getStorageDomainsByConnection(new 
AsyncQuery(this, new INewAsyncCallback() {
@@ -1343,6 +1344,7 @@
         storageDomain.setStorageDomainType(isNew ? storageModel.getRole() : 
storageDomain.getStorageDomainType());
         storageDomain.setStorageName(model.getName().getEntity());
         storageDomain.setStorageFormat(model.getFormat().getSelectedItem());
+        
storageDomain.setWipeAfterDelete(model.getWipeAfterDelete().getEntity());
 
         if (isNew) {
             AsyncDataProvider.getInstance().getStorageDomainsByConnection(new 
AsyncQuery(this, new INewAsyncCallback() {
@@ -1463,6 +1465,7 @@
         storageDomain.setDescription(model.getDescription().getEntity());
         storageDomain.setComment(model.getComment().getEntity());
         storageDomain.setStorageFormat(model.getFormat().getSelectedItem());
+        
storageDomain.setWipeAfterDelete(model.getWipeAfterDelete().getEntity());
 
         if (isNew)
         {
@@ -1700,6 +1703,7 @@
         storageDomain.setStorageName(model.getName().getEntity());
         storageDomain.setDescription(model.getDescription().getEntity());
         storageDomain.setComment(model.getComment().getEntity());
+        
storageDomain.setWipeAfterDelete(model.getWipeAfterDelete().getEntity());
 
         if (isNew)
         {
@@ -1848,6 +1852,7 @@
         storageDomain.setStorageName(model.getName().getEntity());
         storageDomain.setDescription(model.getDescription().getEntity());
         storageDomain.setComment(model.getComment().getEntity());
+        
storageDomain.setWipeAfterDelete(model.getWipeAfterDelete().getEntity());
 
         if (isNew)
         {
@@ -1923,6 +1928,7 @@
         List<IFrontendActionAsyncCallback> callbacks = new 
LinkedList<IFrontendActionAsyncCallback>();
 
         for (final StorageDomain storageDomain : storageDomains) {
+            
storageDomain.setWipeAfterDelete(model.getWipeAfterDelete().getEntity());
             StorageDomainManagementParameter parameters =
                     new 
StorageDomainManagementParameter(storageDomain.getStorageStaticData());
             parameters.setVdsId(hostId);
@@ -2094,6 +2100,7 @@
     public void importFileStorageAddDomain(ArrayList<StorageDomain> domains)
     {
         StorageDomain sdToAdd = Linq.firstOrDefault(domains);
+        
sdToAdd.setWipeAfterDelete(((StorageModel)getWindow()).getWipeAfterDelete().getEntity());
         StorageDomainStatic sdsToAdd = sdToAdd.getStorageStaticData();
 
         StorageDomainManagementParameter params = new 
StorageDomainManagementParameter(sdsToAdd);
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 9ee6220..931ed86 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
@@ -192,6 +192,16 @@
         this.activateDomain = activateDomain;
     }
 
+    private EntityModel<Boolean> wipeAfterDelete;
+
+    public EntityModel<Boolean> getWipeAfterDelete() {
+        return wipeAfterDelete;
+    }
+
+    public void setWipeAfterDelete(EntityModel<Boolean> wipeAfterDelete) {
+        this.wipeAfterDelete = wipeAfterDelete;
+    }
+
     public StorageModel(StorageModelBehavior behavior)
     {
         this.behavior = behavior;
@@ -219,6 +229,7 @@
         
getAvailableStorageItems().getSelectedItemChangedEvent().addListener(this);
         setActivateDomain(new EntityModel<Boolean>(true));
         getActivateDomain().setIsAvailable(false);
+        setWipeAfterDelete(new EntityModel<>(false));
 
         localFSPath = (String) 
AsyncDataProvider.getInstance().getConfigValuePreConverted(ConfigurationValues.RhevhLocalFSPath);
     }
@@ -256,6 +267,7 @@
                 {
                     setSelectedItem(null);
                     
setSelectedItem(getAvailableStorageItems().getSelectedItem());
+                    updateWipeAfterDelete();
                 }
             }
         }
@@ -677,6 +689,21 @@
         behavior.updateItemsAvailability();
     }
 
+    private void updateWipeAfterDelete() {
+        StorageType storageType = 
getAvailableStorageItems().getSelectedItem().getType();
+        if (isNewStorage()) {
+            
AsyncDataProvider.getInstance().getStorageDomainWipeAfterDelete(new 
AsyncQuery(this, new INewAsyncCallback() {
+                @Override public void onSuccess(Object model, Object 
returnValue) {
+                    StorageModel storageModel = (StorageModel)model;
+                    
storageModel.getWipeAfterDelete().setEntity((Boolean)returnValue);
+                }
+            }), storageType);
+        }
+        else {
+            getWipeAfterDelete().setEntity(getStorage().getWipeAfterDelete());
+        }
+    }
+
     public boolean validate() {
         ValidationResult result = new 
NotEmptyValidation().validate(getHost().getSelectedItem());
         if (!result.getSuccess()) {
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
index 09f06f1..2b5020e 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
@@ -371,6 +371,9 @@
     @DefaultStringValue("Activate Domain in Data Center")
     String activateDomainLabel();
 
+    @DefaultStringValue("Wipe After Delete")
+    String wipeAfterDelete();
+
     @DefaultStringValue("Export Path")
     String storagePopupNfsPathLabel();
 
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 d6a3e15..21e0530 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
@@ -9,6 +9,7 @@
 import org.ovirt.engine.ui.common.idhandler.WithElementId;
 import org.ovirt.engine.ui.common.view.popup.AbstractModelBoundPopupView;
 import org.ovirt.engine.ui.common.widget.Align;
+import org.ovirt.engine.ui.common.widget.dialog.AdvancedParametersExpander;
 import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel;
 import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxEditor;
 import 
org.ovirt.engine.ui.common.widget.editor.generic.EntityModelCheckBoxEditor;
@@ -101,6 +102,19 @@
     FlowPanel specificStorageTypePanel;
 
     @UiField
+    @Ignore
+    AdvancedParametersExpander wipeAfterDeleteExpander;
+
+    @UiField
+    @Ignore
+    FlowPanel wipeAfterDeleteExpanderContent;
+
+    @UiField
+    @Path(value = "wipeAfterDelete.entity")
+    @WithElementId("wipeAfterDelete")
+    EntityModelCheckBoxEditor wipeAfterDeleteEditor;
+
+    @UiField
     Image datacenterAlertIcon;
 
     @SuppressWarnings("rawtypes")
@@ -115,6 +129,7 @@
         super(eventBus, resources);
         initListBoxEditors(constants);
         initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
+        initWipeAfterDeleteExpander();
         ViewIdHandler.idHandler.generateAndSetIds(this);
         asWidget().enableResizeSupport(true);
         localize(constants);
@@ -191,6 +206,7 @@
         formatListEditor.setLabelStyleName(style.label());
         
formatListEditor.addContentWidgetStyleName(style.formatContentWidget());
         
activateDomainEditor.addContentWidgetStyleName(style.activateDomainEditor());
+        
wipeAfterDeleteExpanderContent.setStyleName(style.wipeAfterDeleteExpanderContent());
     }
 
     void localize(ApplicationConstants constants) {
@@ -202,6 +218,7 @@
         formatListEditor.setLabel(constants.storagePopupFormatTypeLabel());
         hostListEditor.setLabel(constants.storagePopupHostLabel());
         activateDomainEditor.setLabel(constants.activateDomainLabel());
+        wipeAfterDeleteEditor.setLabel(constants.wipeAfterDelete());
     }
 
     @Override
@@ -224,6 +241,10 @@
                 
datacenterAlertIcon.setTitle(storageModel.getDataCenterAlert().getEntity());
             }
         });
+    }
+
+    private void initWipeAfterDeleteExpander() {
+        
wipeAfterDeleteExpander.initWithContent(wipeAfterDeleteExpanderContent.getElement());
     }
 
     @SuppressWarnings("unchecked")
@@ -307,6 +328,8 @@
         String storageTypeLabel();
 
         String storageDomainTypeLabel();
+
+        String wipeAfterDeleteExpanderContent();
     }
 
 }
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 9e1463f..8e4c4e0 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
@@ -7,6 +7,7 @@
         <ui:with field='resources' 
type='org.ovirt.engine.ui.webadmin.ApplicationResources' />
        <ui:style 
type="org.ovirt.engine.ui.webadmin.section.main.view.popup.storage.StoragePopupView.WidgetStyle">
                .content {
+            overflow-x: hidden;
                }
 
                .formatContentWidget {
@@ -31,6 +32,10 @@
                        font-weight: bold;
                        font-family: Arial,sans-serif;
                        line-height: 30px;
+               }
+
+               .wipeAfterDeleteEditor {
+                       width: 437px;
                }
 
                .nameEditor,
@@ -75,10 +80,14 @@
                        font-weight: bold;
                }
 
+               .wipeAfterDeleteExpanderContent {
+                       margin-left: 15px;
+                       display: none;
+               }
+
         .specificStorageTypePanel {
             width: 100%;
             margin-top: 8px;
-            overflow-x: hidden;
         }
 
         .dataCenterAlertIcon {
@@ -87,7 +96,7 @@
 
        </ui:style>
 
-       <d:SimpleDialogPanel width="760px" height="635px">
+       <d:SimpleDialogPanel width="760px" height="665px">
                <d:content>
                        <g:FlowPanel addStyleNames="{style.content}">
                                <g:HorizontalPanel>
@@ -106,6 +115,10 @@
                                </g:HorizontalPanel>
                 <e:ListModelListBoxEditor ui:field="hostListEditor" 
addStyleNames="{style.hostListEditor}"/>
                                <g:FlowPanel 
ui:field="specificStorageTypePanel" 
addStyleNames="{style.specificStorageTypePanel}"></g:FlowPanel>
+                <d:AdvancedParametersExpander 
ui:field="wipeAfterDeleteExpander"/>
+                <g:FlowPanel ui:field="wipeAfterDeleteExpanderContent">
+                    <ge:EntityModelCheckBoxEditor 
ui:field="wipeAfterDeleteEditor" addStyleNames="{style.wipeAfterDeleteEditor}"/>
+                </g:FlowPanel>
                        </g:FlowPanel>
                </d:content>
        </d:SimpleDialogPanel>


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

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

Reply via email to