diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties
index ff499262a07..d7e5f2549d4 100644
--- a/client/WEB-INF/classes/resources/messages.properties
+++ b/client/WEB-INF/classes/resources/messages.properties
@@ -420,6 +420,9 @@ label.vm.stop=Stop
label.vm.reboot=Reboot
label.vm.destroy=Destroy
+label.action.start.instance=Start Instance
+label.action.start.instance.processing=Starting Instance....
+
label.action.edit.account=Edit account
label.action.resource.limits=Resource limits
label.action.disable.account=Disable account
@@ -443,6 +446,8 @@ label.action.delete.user.processing=Deleting User....
#Messages
+message.action.start.instance=Please confirm you want to start instance
+
message.edit.limits=Please specify limits to the following resources. A "-1" indicates no limit to the amount of resources create.
message.disable.account=Please confirm you want to disable this account. By disabling the account, all users for this account will no longer have access to their cloud resources. All running virtual machines will be immediately shut down.
message.lock.account=Please confirm you want to lock this account. By locking the account, all users for this account will no longer be able to manage their cloud resources. Existing resources can still be accessed.
diff --git a/ui/jsp/instance.jsp b/ui/jsp/instance.jsp
index b49eb976d1d..e03d024181c 100644
--- a/ui/jsp/instance.jsp
+++ b/ui/jsp/instance.jsp
@@ -5,6 +5,14 @@
+
+
diff --git a/ui/scripts/cloud.core.instance.js b/ui/scripts/cloud.core.instance.js
index 1758b0b2379..a250e4bd4c7 100644
--- a/ui/scripts/cloud.core.instance.js
+++ b/ui/scripts/cloud.core.instance.js
@@ -159,9 +159,9 @@ function bindStartVMButton() {
$(this).dialog("close");
var apiInfo = {
- label: "Start Instance",
+ label: "label.action.start.instance",
isAsyncJob: true,
- inProcessText: "Starting Instance....",
+ inProcessText: "label.action.start.instance.processing",
asyncJobResponse: "startvirtualmachineresponse",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
var jsonObj = json.queryasyncjobresultresponse.jobresult.virtualmachine;
diff --git a/ui/scripts/cloud.core.js b/ui/scripts/cloud.core.js
index e0f6d33f0f3..a6498afca01 100644
--- a/ui/scripts/cloud.core.js
+++ b/ui/scripts/cloud.core.js
@@ -356,67 +356,34 @@ function handleErrorInSubgridItem(XMLHttpResponse, $subgridItem, label) {
//***** actions for middle menu (begin) ************************************************************************
var selectedItemsInMidMenu = {};
-function buildActionLinkForMidMenu(label, actionMap, $actionMenu) {
- var apiInfo = actionMap[label];
- var $listItem = $("#action_list_item_middle_menu").clone();
- $actionMenu.find("#action_list").append($listItem.show());
- var $link = $listItem.find("#link").text(label);
- $link.data("apiInfo", apiInfo);
-
- /*
- $link.data("label", label);
- $link.data("api",apiInfo .api);
- $link.data("isAsyncJob", apiInfo.isAsyncJob);
- $link.data("asyncJobResponse", apiInfo.asyncJobResponse);
- $link.data("afterActionSeccessFn", apiInfo.afterActionSeccessFn);
- $link.data("dialogBeforeActionFn", apiInfo.dialogBeforeActionFn);
- */
-
- $link.bind("click", function(event) {
- $actionMenu.hide();
-
- var itemCounts = 0;
- for(var id in selectedItemsInMidMenu) {
- itemCounts ++;
- }
- if(itemCounts == 0) {
- $("#dialog_info_please_select_one_item_in_middle_menu").dialog("open");
- return;
- }
-
- var $actionLink = $(this);
- var dialogBeforeActionFn = $actionLink.data("dialogBeforeActionFn");
- if(dialogBeforeActionFn == null) {
- for(var id in selectedItemsInMidMenu) {
- var apiCommand = "command="+$actionLink.data("api")+"&id="+id;
- doActionToMidMenu(id, apiInfo, apiCommand);
- }
- }
- else {
- dialogBeforeActionFn(apiInfo, selectedItemsInMidMenu);
-
- }
- selectedItemsInMidMenu = {}; //clear selected items for action
- return false;
- });
-}
-
function doActionToMidMenu(id, apiInfo, apiCommand) {
- var label = apiInfo.label;
- var isAsyncJob = apiInfo.isAsyncJob;
+ var label = apiInfo.label;
+ var label2;
+ if(label in dictionary)
+ label2 = dictionary[label];
+ else
+ label2 = label;
+
var inProcessText = apiInfo.inProcessText;
+ var inProcessText2;
+ if(inProcessText in dictionary)
+ inProcessText2 = dictionary[inProcessText];
+ else
+ inProcessText2 = inProcessText;
+
+ var isAsyncJob = apiInfo.isAsyncJob;
var asyncJobResponse = apiInfo.asyncJobResponse;
var afterActionSeccessFn = apiInfo.afterActionSeccessFn;
var $midmenuItem1 = $("#midmenuItem_"+id);
$midmenuItem1.find("#content").removeClass("selected").addClass("inaction");
$midmenuItem1.find("#spinning_wheel").addClass("midmenu_addingloader").show();
- $midmenuItem1.find("#spinning_wheel").data("inProcessText", inProcessText);
+ $midmenuItem1.find("#spinning_wheel").data("inProcessText", inProcessText2);
$midmenuItem1.find("#info_icon").hide();
var $detailsTab = $("#right_panel_content #tab_content_details");
var $spinningWheel = $detailsTab.find("#spinning_wheel");
- $spinningWheel.find("#description").text(inProcessText);
+ $spinningWheel.find("#description").text(inProcessText2);
$spinningWheel.show();
//Async job (begin) *****
@@ -442,20 +409,20 @@ function doActionToMidMenu(id, apiInfo, apiCommand) {
$("body").stopTime(timerKey);
$midmenuItem1.find("#content").removeClass("inaction");
$midmenuItem1.find("#spinning_wheel").hide();
- hideDetailsTabActionSpinningWheel(id, inProcessText, $midmenuItem1);
+ hideDetailsTabActionSpinningWheel(id, inProcessText2, $midmenuItem1);
if (result.jobstatus == 1) { // Succeeded
$midmenuItem1.find("#info_icon").removeClass("error").show();
- $midmenuItem1.data("afterActionInfo", (label + " action succeeded."));
+ $midmenuItem1.data("afterActionInfo", (label2 + " action succeeded."));
afterActionSeccessFn(json, $midmenuItem1, id);
} else if (result.jobstatus == 2) { // Failed
- var errorMsg = label + " action failed. Reason: " + fromdb(result.jobresult.errortext);
- handleErrorInMidMenu2(errorMsg, $midmenuItem1, id, inProcessText);
+ var errorMsg = label2 + " action failed. Reason: " + fromdb(result.jobresult.errortext);
+ handleErrorInMidMenu2(errorMsg, $midmenuItem1, id, inProcessText2);
}
}
},
error: function(XMLHttpResponse) {
$("body").stopTime(timerKey);
- handleErrorInMidMenu(XMLHttpResponse, $midmenuItem1, id, inProcessText);
+ handleErrorInMidMenu(XMLHttpResponse, $midmenuItem1, id, inProcessText2);
}
});
},
@@ -464,7 +431,7 @@ function doActionToMidMenu(id, apiInfo, apiCommand) {
},
error: function(XMLHttpResponse) {
handleError(XMLHttpResponse);
- handleErrorInMidMenu(XMLHttpResponse, $midmenuItem1, id, inProcessText);
+ handleErrorInMidMenu(XMLHttpResponse, $midmenuItem1, id, inProcessText2);
}
});
}
@@ -480,12 +447,12 @@ function doActionToMidMenu(id, apiInfo, apiCommand) {
$midmenuItem1.find("#content").removeClass("inaction");
$midmenuItem1.find("#spinning_wheel").hide();
$midmenuItem1.find("#info_icon").removeClass("error").show();
- $midmenuItem1.data("afterActionInfo", (label + " action succeeded."));
- hideDetailsTabActionSpinningWheel(id, inProcessText, $midmenuItem1);
+ $midmenuItem1.data("afterActionInfo", (label2 + " action succeeded."));
+ hideDetailsTabActionSpinningWheel(id, inProcessText2, $midmenuItem1);
afterActionSeccessFn(json, $midmenuItem1, id);
},
error: function(XMLHttpResponse) {
- handleErrorInMidMenu(XMLHttpResponse, $midmenuItem1, id, inProcessText);
+ handleErrorInMidMenu(XMLHttpResponse, $midmenuItem1, id, inProcessText2);
}
});
}