From ae453b296179197af8423fed8640b5783b9ba97b Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Sat, 25 Sep 2010 09:57:48 -0700 Subject: [PATCH] new UI - accounts page - implement Disable account action. --- ui/new/jsp/account.jsp | 23 +++------------- ui/new/scripts/cloud.core2.account.js | 39 +++++++++++++++++++++++---- 2 files changed, 37 insertions(+), 25 deletions(-) diff --git a/ui/new/jsp/account.jsp b/ui/new/jsp/account.jsp index d4f0e263269..205ef23c8d9 100644 --- a/ui/new/jsp/account.jsp +++ b/ui/new/jsp/account.jsp @@ -176,23 +176,6 @@ - - - \ No newline at end of file + \ No newline at end of file diff --git a/ui/new/scripts/cloud.core2.account.js b/ui/new/scripts/cloud.core2.account.js index 28a3ff10457..a0a811a4d3d 100644 --- a/ui/new/scripts/cloud.core2.account.js +++ b/ui/new/scripts/cloud.core2.account.js @@ -56,17 +56,30 @@ function accountJsonToDetailsTab(jsonObj) { if (jsonObj.accounttype == roleTypeUser || jsonObj.accounttype == roleTypeDomainAdmin) buildActionLinkForDetailsTab("Resource limits", accountActionMap, $actionMenu, accountListAPIMap); -// if(jsonObj.state == "enabled") -// buildActionLinkForDetailsTab("Disable", accountActionMap, $actionMenu, accountListAPIMap); -// else if(jsonObj.state == "disabled") -// buildActionLinkForDetailsTab("Enable", accountActionMap, $actionMenu, accountListAPIMap); + if(jsonObj.state == "enabled") { + buildActionLinkForDetailsTab("Disable account", accountActionMap, $actionMenu, accountListAPIMap); + //buildActionLinkForDetailsTab("Lock account", accountActionMap, $actionMenu, accountListAPIMap); + } +// else if(jsonObj.state == "disabled") { +// buildActionLinkForDetailsTab("Enable account", accountActionMap, $actionMenu, accountListAPIMap); +// } } } var accountActionMap = { "Resource limits": { customActionFn : doResourceLimits - } + } + , + "Disable account": { + isAsyncJob: true, + asyncJobResponse: "disableaccountresponse", + dialogBeforeActionFn : doDisableAccount, + inProcessText: "Disabling account....", + afterActionSeccessFn: function(jsonObj) { + accountJsonToDetailsTab(jsonObj); + } + } }; var accountListAPIMap = { @@ -165,3 +178,19 @@ function doResourceLimits () { } }); } + +function doDisableAccount($actionLink, listAPIMap, $detailsTab) { + var jsonObj = $detailsTab.data("jsonObj"); + + $("#dialog_disable_account") + .dialog('option', 'buttons', { + "Yes": function() { + $(this).dialog("close"); + var apiCommand = "command=disableAccount&account="+jsonObj.name+"&domainId="+jsonObj.domainid; + doActionToDetailsTab(jsonObj.id, $actionLink, apiCommand, listAPIMap); + }, + "Cancel": function() { + $(this).dialog("close"); + } + }).dialog("open"); +}