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
