Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Created model for Remove Providers popup
......................................................................

webadmin: Created model for Remove Providers popup

Created confirmation window before removal is performed, and a model to
include all of the logic.

Change-Id: Ic8dbc9d11519c15306cc33d7af7d0b6e4f4c7a0c
Signed-off-by: Lior Vernia <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/RemoveProvidersModel.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
3 files changed, 87 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/96/14696/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java
index 0d1f03d..4237410 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/ProviderListModel.java
@@ -3,8 +3,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.ovirt.engine.core.common.action.ProviderParameters;
-import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.businessentities.Provider;
 import org.ovirt.engine.core.common.mode.ApplicationMode;
 import org.ovirt.engine.core.common.queries.VdcQueryParametersBase;
@@ -19,8 +17,6 @@
 import org.ovirt.engine.ui.uicommonweb.models.ListWithDetailsModel;
 import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemModel;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
-import org.ovirt.engine.ui.uicompat.FrontendActionAsyncResult;
-import org.ovirt.engine.ui.uicompat.IFrontendActionAsyncCallback;
 import org.ovirt.engine.ui.uicompat.ObservableCollection;
 
 public class ProviderListModel extends ListWithDetailsModel implements 
ISupportSystemTreeContext {
@@ -172,14 +168,10 @@
     }
 
     private void remove() {
-        Frontend.RunAction(VdcActionType.RemoveProvider, new 
ProviderParameters((Provider) getSelectedItem()),
-                new IFrontendActionAsyncCallback() {
-
-                    @Override
-                    public void Executed(FrontendActionAsyncResult result) {
-                        getSearchCommand().Execute();
-                    }
-                });
+        if (getConfirmWindow() != null) {
+            return;
+        }
+        setConfirmWindow(new RemoveProvidersModel(this));
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/RemoveProvidersModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/RemoveProvidersModel.java
new file mode 100644
index 0000000..43a0b83
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/providers/RemoveProvidersModel.java
@@ -0,0 +1,77 @@
+package org.ovirt.engine.ui.uicommonweb.models.providers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.ovirt.engine.core.common.action.ProviderParameters;
+import org.ovirt.engine.core.common.action.VdcActionParametersBase;
+import org.ovirt.engine.core.common.action.VdcActionType;
+import org.ovirt.engine.core.common.businessentities.Provider;
+import org.ovirt.engine.core.compat.StringHelper;
+import org.ovirt.engine.ui.frontend.Frontend;
+import org.ovirt.engine.ui.uicommonweb.UICommand;
+import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel;
+import org.ovirt.engine.ui.uicommonweb.models.ListModel;
+import org.ovirt.engine.ui.uicompat.ConstantsManager;
+
+@SuppressWarnings("deprecation")
+public class RemoveProvidersModel extends ConfirmationModel {
+
+    private static final String CMD_REMOVE = "OnRemove"; //$NON-NLS-1$
+    private static final String CMD_CANCEL = "Cancel"; //$NON-NLS-1$
+
+    private final ListModel sourceListModel;
+    private final List<Provider> providers;
+
+    @SuppressWarnings("unchecked")
+    public RemoveProvidersModel(ListModel sourceListModel) {
+        this.sourceListModel = sourceListModel;
+        providers = (List<Provider>) sourceListModel.getSelectedItems();
+
+        
setTitle(ConstantsManager.getInstance().getConstants().removeProviderTitle());
+        setHashName("remove_provider"); //$NON-NLS-1$
+        
setMessage(ConstantsManager.getInstance().getConstants().providersMsg());
+
+        List<String> providerNames = new ArrayList<String>();
+        for (Provider provider : providers) {
+            providerNames.add(provider.getName());
+        }
+        setItems(providerNames);
+
+        UICommand tempVar = new UICommand(CMD_REMOVE, this);
+        tempVar.setTitle(ConstantsManager.getInstance().getConstants().ok());
+        tempVar.setIsDefault(true);
+        getCommands().add(tempVar);
+        UICommand tempVar2 = new UICommand(CMD_CANCEL, this);
+        
tempVar2.setTitle(ConstantsManager.getInstance().getConstants().cancel());
+        tempVar2.setIsCancel(true);
+        getCommands().add(tempVar2);
+    }
+
+    private void cancel() {
+        sourceListModel.setConfirmWindow(null);
+    }
+
+    private void onRemove() {
+        ArrayList<VdcActionParametersBase> parameterList = new 
ArrayList<VdcActionParametersBase>();
+        for (Provider provider : providers) {
+            parameterList.add(new ProviderParameters(provider));
+        }
+
+        Frontend.RunMultipleAction(VdcActionType.RemoveProvider, 
parameterList);
+
+        cancel();
+    }
+
+    @Override
+    public void ExecuteCommand(UICommand command) {
+        super.ExecuteCommand(command);
+
+        if (StringHelper.stringsEqual(command.getName(), CMD_REMOVE)) {
+            onRemove();
+        } else if (StringHelper.stringsEqual(command.getName(), CMD_CANCEL)) {
+            cancel();
+        }
+    }
+
+}
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 b8b7a0a..52d5233 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
@@ -1851,4 +1851,10 @@
 
     @DefaultStringValue("Edit Provider")
     String editProviderTitle();
+
+    @DefaultStringValue("Remove Provider(s)")
+    String removeProviderTitle();
+
+    @DefaultStringValue("Provider(s)")
+    String providersMsg();
 }


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

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

Reply via email to