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
