Tomas Jelinek has uploaded a new change for review.

Change subject: userportal: fix remove multiple VMs
......................................................................

userportal: fix remove multiple VMs

If multiple VMs were selected in UP extended view
only the first one was actually deleted.

Change-Id: I460eb5d6f0bead1df87fe9b0f221c66747cbea47
Signed-off-by: Tomas Jelinek <[email protected]>
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=947831
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
1 file changed, 33 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/20/16720/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
index e78d10b..e2f32d5 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java
@@ -12,6 +12,7 @@
 import org.ovirt.engine.core.common.action.ChangeDiskCommandParameters;
 import org.ovirt.engine.core.common.action.ChangeVMClusterParameters;
 import org.ovirt.engine.core.common.action.RemoveVmParameters;
+import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.action.VmManagementParametersBase;
 import org.ovirt.engine.core.common.businessentities.DiskImage;
@@ -783,15 +784,10 @@
 
     }
 
-    private void remove()
-    {
-        if (getConfirmWindow() != null)
-        {
+    private void remove() {
+        if (getConfirmWindow() != null) {
             return;
         }
-
-        UserPortalItemModel selectedItem = (UserPortalItemModel) 
getSelectedItem();
-        VM vm = (VM) selectedItem.getEntity();
 
         ConfirmationModel confirmModel = new ConfirmationModel();
         setConfirmWindow(confirmModel);
@@ -801,7 +797,10 @@
         
confirmModel.setMessage(ConstantsManager.getInstance().getConstants().virtualMachineMsg());
 
         ArrayList<String> list = new ArrayList<String>();
-        list.add(vm.getName());
+        for (VM vm : getSelectedVms()) {
+            list.add(vm.getName());
+        }
+
         confirmModel.setItems(list);
 
         UICommand tempVar = new UICommand("OnRemove", this); //$NON-NLS-1$
@@ -814,14 +813,15 @@
         getConfirmWindow().getCommands().add(tempVar2);
     }
 
-    private void onRemove()
-    {
-        UserPortalItemModel selectedItem = (UserPortalItemModel) 
getSelectedItem();
-        VM vm = (VM) selectedItem.getEntity();
-
+    private void onRemove() {
         getConfirmWindow().startProgress(null);
 
-        Frontend.RunAction(VdcActionType.RemoveVm, new 
RemoveVmParameters(vm.getId(), false),
+        List<VdcActionParametersBase> paramsList = new 
ArrayList<VdcActionParametersBase>();
+        for (VM vm : getSelectedVms()) {
+            paramsList.add(new RemoveVmParameters(vm.getId(), false));
+        }
+
+        Frontend.RunMultipleActions(VdcActionType.RemoveVm, paramsList,
                 new IFrontendActionAsyncCallback() {
                     @Override
                     public void executed(FrontendActionAsyncResult result) {
@@ -835,6 +835,25 @@
 
     }
 
+    private List<VM> getSelectedVms() {
+        List<VM> vms = new ArrayList<VM>();
+        if (getSelectedItems() == null) {
+            return vms;
+        }
+
+        for (Object selectedItem : getSelectedItems()) {
+            UserPortalItemModel itemModel = (UserPortalItemModel) selectedItem;
+            VM vm = itemModel.getVM();
+            if (vm == null) {
+                continue;
+            }
+
+            vms.add(vm);
+        }
+
+        return vms;
+    }
+
     private void changeCD()
     {
         UserPortalItemModel selectedItem = (UserPortalItemModel) 
getSelectedItem();


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

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

Reply via email to