From a397edd60ad9bc81fb99d62e4214c3bcfc946e65 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Wed, 20 Jul 2011 14:39:01 -0700 Subject: [PATCH] cloudStack - cluster page - When managedState is "Managed". show "Unmanage Cluser" option. Otherwise, show "Manage Cluster" option. --- ui/jsp/cluster.jsp | 8 +++- ui/scripts/cloud.core.cluster.js | 63 ++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/ui/jsp/cluster.jsp b/ui/jsp/cluster.jsp index baed33f2f43..e3aa0232597 100644 --- a/ui/jsp/cluster.jsp +++ b/ui/jsp/cluster.jsp @@ -15,7 +15,13 @@ dictionary = { 'message.action.enable.cluster' : '', 'label.action.disable.cluster' : '', 'label.action.disable.cluster.processing' : '', - 'message.action.disable.cluster' : '' + 'message.action.disable.cluster' : '', + 'label.action.manage.cluster' : '', + 'message.action.manage.cluster' : '', + 'label.action.manage.cluster.processing' : '', + 'label.action.unmanage.cluster' : '', + 'message.action.unmanage.cluster' : '', + 'label.action.unmanage.cluster.processing' : '' }; diff --git a/ui/scripts/cloud.core.cluster.js b/ui/scripts/cloud.core.cluster.js index 3a76cd4d42f..277a261597b 100644 --- a/ui/scripts/cloud.core.cluster.js +++ b/ui/scripts/cloud.core.cluster.js @@ -94,6 +94,11 @@ function clusterBuildActionMenu(jsonObj) { else if(jsonObj.allocationstate == "Enabled") buildActionLinkForTab("label.action.disable.cluster", clusterActionMap, $actionMenu, $midmenuItem1, $thisTab); + if(jsonObj.managedstate == "Managed") + buildActionLinkForTab("label.action.unmanage.cluster", clusterActionMap, $actionMenu, $midmenuItem1, $thisTab); + else //PrepareUnmanaged , PrepareUnmanagedError, Unmanaged + buildActionLinkForTab("label.action.manage.cluster", clusterActionMap, $actionMenu, $midmenuItem1, $thisTab); + buildActionLinkForTab("label.action.delete.cluster", clusterActionMap, $actionMenu, $midmenuItem1, $thisTab); } @@ -137,6 +142,28 @@ var clusterActionMap = { clusterBuildActionMenu(jsonObj); } } + , + "label.action.manage.cluster": { + isAsyncJob: false, + dialogBeforeActionFn : doUnmanageCluster, + inProcessText: "label.action.manage.cluster.processing", + afterActionSeccessFn: function(json, $midmenuItem1, id) { + var jsonObj = json.updateclusterresponse.cluster; + $("#right_panel_content").find("#tab_content_details").find("#managedstate").text(fromdb(jsonObj.managedstate)); + clusterBuildActionMenu(jsonObj); + } + } + , + "label.action.unmanage.cluster": { + isAsyncJob: false, + dialogBeforeActionFn : doUnmanageCluster, + inProcessText: "label.action.unmanage.cluster.processing", + afterActionSeccessFn: function(json, $midmenuItem1, id) { + var jsonObj = json.updateclusterresponse.cluster; + $("#right_panel_content").find("#tab_content_details").find("#managedstate").text(fromdb(jsonObj.managedstate)); + clusterBuildActionMenu(jsonObj); + } + } , "label.action.delete.cluster": { api: "deleteCluster", @@ -191,6 +218,42 @@ function doDisableCluster($actionLink, $detailsTab, $midmenuItem1) { }).dialog("open"); } +function doManageCluster($actionLink, $detailsTab, $midmenuItem1) { + var jsonObj = $midmenuItem1.data("jsonObj"); + var id = jsonObj.id; + + $("#dialog_confirmation") + .text(dictionary["message.action.manage.cluster"]) + .dialog('option', 'buttons', { + "Confirm": function() { + $(this).dialog("close"); + var apiCommand = "command=updateCluster&id="+id+"&managedstate=Managed"; + doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); + }, + "Cancel": function() { + $(this).dialog("close"); + } + }).dialog("open"); +} + +function doUnmanageCluster($actionLink, $detailsTab, $midmenuItem1) { + var jsonObj = $midmenuItem1.data("jsonObj"); + var id = jsonObj.id; + + $("#dialog_confirmation") + .text(dictionary["message.action.unmanage.cluster"]) + .dialog('option', 'buttons', { + "Confirm": function() { + $(this).dialog("close"); + var apiCommand = "command=updateCluster&id="+id+"&managedstate=Unmanaged"; + doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); + }, + "Cancel": function() { + $(this).dialog("close"); + } + }).dialog("open"); +} + function doDeleteCluster($actionLink, $detailsTab, $midmenuItem1) { var jsonObj = $midmenuItem1.data("jsonObj"); var id = jsonObj.id;