Alona Kaplan has uploaded a new change for review.

Change subject: webadmin: Provide confirmation prompt while unplugging a Vnic
......................................................................

webadmin: Provide confirmation prompt while unplugging a Vnic

When the user clicks "ok" on edit vnic dialog-
1. If the user changed the vnic to be unplugged a confrimation window
should be shown.
2. Otherwise, the dialog should be saved.

Change-Id: Iaf1c384f0205bb8b30cda038963eb49eba1dae55
Bug-Url: https://bugzilla.redhat.com/859024
Signed-off-by: Alona Kaplan <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java
3 files changed, 65 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/98/27198/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java
index acd9b70..9acc2ed 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/EditVmInterfaceModel.java
@@ -7,6 +7,8 @@
 import org.ovirt.engine.core.common.businessentities.VmBase;
 import 
org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface;
 import org.ovirt.engine.core.compat.Version;
+import org.ovirt.engine.ui.uicommonweb.UICommand;
+import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel;
 import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
 import org.ovirt.engine.ui.uicompat.Event;
@@ -15,6 +17,8 @@
 
 public class EditVmInterfaceModel extends BaseEditVmInterfaceModel {
 
+    private static String ON_APPROVE_COMMAND = "ON_APPROVE"; //$NON-NLS-1$
+    private static String ABORT_COMMAMD = "ABORT"; //$NON-NLS-1$
     private final VM vm;
 
     public static EditVmInterfaceModel createInstance(VmBase vmStatic, VM vm,
@@ -138,4 +142,53 @@
     private boolean isPluggedBeforeAndAfterEdit() {
         return getNic().isPlugged() && (Boolean) getPlugged().getEntity();
     }
+
+    private void confirmSave() {
+        // Check if the nic was unplugged
+        if (getNic().isPlugged() && !(Boolean) getPlugged().getEntity()) {
+            ConfirmationModel model = new ConfirmationModel();
+            
model.setTitle(ConstantsManager.getInstance().getConstants().unplugVnicTitle());
+            
model.setMessage(ConstantsManager.getInstance().getConstants().areYouSureYouWantUnplugVnicMsg());
+            model.setHashName("unplug_vnic"); //$NON-NLS-1$
+            getSourceModel().setConfirmWindow(model);
+
+            UICommand approveCommand = new UICommand(ON_APPROVE_COMMAND, this);
+            
approveCommand.setTitle(ConstantsManager.getInstance().getConstants().ok());
+            approveCommand.setIsDefault(true);
+            model.getCommands().add(approveCommand);
+
+            UICommand cancel = new UICommand(ABORT_COMMAMD, this);
+            
cancel.setTitle(ConstantsManager.getInstance().getConstants().cancel());
+            cancel.setIsCancel(true);
+            model.getCommands().add(cancel);
+        } else {
+            onSave();
+        }
+    }
+
+    private void abort() {
+        getSourceModel().setConfirmWindow(null);
+    }
+
+    @Override
+    public void executeCommand(UICommand command)
+    {
+        if (ON_SAVE_COMMAND.equals(command.getName()))
+        {
+            confirmSave();
+        }
+        else if (ON_APPROVE_COMMAND.equals(command.getName()))
+        {
+            abort();
+            onSave();
+        }
+        else if (ABORT_COMMAMD.equals(command.getName()))
+        {
+            abort();
+        }
+        else
+        {
+            super.executeCommand(command);
+        }
+    }
 }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java
index b214c9a..76eb998 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceModel.java
@@ -37,6 +37,7 @@
 @SuppressWarnings("unused")
 public abstract class VmInterfaceModel extends Model
 {
+    protected static String ON_SAVE_COMMAND = "OnSave"; //$NON-NLS-1$
     protected static String ENGINE_NETWORK_NAME;
 
     private EntityModel<String> privateName;
@@ -381,7 +382,7 @@
 
     protected abstract VmNetworkInterface createBaseNic();
 
-    private void onSave()
+    protected void onSave()
     {
         VmNetworkInterface nic = createBaseNic();
 
@@ -466,13 +467,13 @@
     }
 
     protected void initCommands() {
-        okCommand = new UICommand("OnSave", this); //$NON-NLS-1$
+        okCommand = new UICommand(ON_SAVE_COMMAND, this);
         okCommand.setTitle(ConstantsManager.getInstance().getConstants().ok());
         okCommand.setIsDefault(true);
         // wait for data to fetch
         okCommand.setIsExecutionAllowed(false);
         getCommands().add(okCommand);
-        UICommand cancelCommand = new UICommand("Cancel", this); //$NON-NLS-1$
+        UICommand cancelCommand = new UICommand(CANCEL_COMMAND, this);
         
cancelCommand.setTitle(ConstantsManager.getInstance().getConstants().cancel());
         cancelCommand.setIsCancel(true);
         getCommands().add(cancelCommand);
@@ -487,11 +488,11 @@
     {
         super.executeCommand(command);
 
-        if ("OnSave".equals(command.getName())) //$NON-NLS-1$
+        if (ON_SAVE_COMMAND.equals(command.getName()))
         {
             onSave();
         }
-        else if ("Cancel".equals(command.getName())) //$NON-NLS-1$
+        else if (CANCEL_COMMAND.equals(command.getName()))
         {
             cancel();
         }
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java
index 08671fd..f527296 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java
@@ -2238,5 +2238,11 @@
 
     @DefaultStringValue("When the VM is running, cannot activate a disk 
attached with IDE interface.")
     String cannotHotPlugDiskWithIdeInterface();
+
+    @DefaultStringValue("Unplug VM Network Interface")
+    String unplugVnicTitle();
+
+    @DefaultStringValue("Are you sure you want to unplug the VM Network 
Interface?")
+    String areYouSureYouWantUnplugVnicMsg();
 }
 


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

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

Reply via email to