diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties index 23997e77524..631bd67673c 100644 --- a/client/WEB-INF/classes/resources/messages.properties +++ b/client/WEB-INF/classes/resources/messages.properties @@ -1,5 +1,6 @@ #New - Add all new parameters here. - +force.stop.instance=Force Stop Instance +force.stop.instance.warning=Force Stop Instance might cause data lost #Labels label.PreSetup=PreSetup diff --git a/ui/jsp/instance.jsp b/ui/jsp/instance.jsp index 74b58f73f82..e39ca32f7cd 100644 --- a/ui/jsp/instance.jsp +++ b/ui/jsp/instance.jsp @@ -1452,6 +1452,28 @@ dictionary = { + + + + +
diff --git a/ui/scripts/cloud.core.instance.js b/ui/scripts/cloud.core.instance.js index 265cb00b292..5cc8944b558 100644 --- a/ui/scripts/cloud.core.instance.js +++ b/ui/scripts/cloud.core.instance.js @@ -143,7 +143,13 @@ function afterLoadInstanceJSP() { initDialog("dialog_change_service_offering", 600); initDialog("dialog_create_template", 400); initDialog("dialog_migrate_instance", 600); - + initDialog("dialog_confirmation_stop_vm"); + + var $dialogStopVm = $("#dialog_confirmation_stop_vm"); + if(isAdmin()) { + $dialogStopVm.find("#force_stop_instance_container").show(); + } + $.ajax({ data: createURL("command=listOsTypes"), dataType: "json", @@ -221,9 +227,8 @@ function bindStopVMButton() { $("#dialog_info_please_select_one_item_in_middle_menu").dialog("open"); return false; } - - $("#dialog_confirmation") - .text(dictionary["message.action.stop.instance"]) + + $("#dialog_confirmation_stop_vm") .dialog('option', 'buttons', { "Confirm": function() { $(this).dialog("close"); @@ -240,9 +245,11 @@ function bindStopVMButton() { vmToRightPanel($midmenuItem1); } } - + + var isForced = $("#dialog_confirmation_stop_vm").find("#force_stop_instance").attr("checked").toString(); + for(var id in selectedItemsInMidMenu) { - var apiCommand = "command=stopVirtualMachine&id="+id; + var apiCommand = "command=stopVirtualMachine&id="+id+"&forced="+isForced; doActionToMidMenu(id, apiInfo, apiCommand); } @@ -1412,15 +1419,15 @@ function doStartVM($actionLink, $detailsTab, $midmenuItem1) { } function doStopVM($actionLink, $detailsTab, $midmenuItem1) { - $("#dialog_confirmation") - .text(dictionary["message.action.stop.instance"]) + $("#dialog_confirmation_stop_vm") .dialog('option', 'buttons', { "Confirm": function() { $(this).dialog("close"); var jsonObj = $midmenuItem1.data("jsonObj"); - var id = jsonObj.id; - var apiCommand = "command=stopVirtualMachine&id="+id; + var id = jsonObj.id; + var isForced = $("#dialog_confirmation_stop_vm").find("#force_stop_instance").attr("checked").toString(); + var apiCommand = "command=stopVirtualMachine&id="+id+"&forced="+isForced; doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() {