-
-
+
diff --git a/ui/new/scripts/cloud.core2.resource.js b/ui/new/scripts/cloud.core2.resource.js
index 4c34dae8391..5b8c7f6467e 100644
--- a/ui/new/scripts/cloud.core2.resource.js
+++ b/ui/new/scripts/cloud.core2.resource.js
@@ -191,8 +191,7 @@ function clusterJSONToTreeNode(json, $clusterNode) {
}
//$menuItem1 is either $leftmenuItem1 or $midmenuItem1
-function showPage($pageToShow, $menuItem1) {
- clearMiddleMenu();
+function showPage($pageToShow, $menuItem1) {
if($pageToShow.length == 0) { //resource.jsp is not loaded in right panel
$("#right_panel").load("jsp/resource.jsp", function(){
showPage2($($pageToShow.selector), $menuItem1); //$pageToShow is still empty (i.e. $pageToShow.length == 0), So, select the element again.
@@ -223,11 +222,16 @@ function showPage2($pageToShow, $menuItem1) {
$pageToShow.data("jsonObj", jsonObj);
}
- if($pageToShow.attr("id") == "resource_page") {
+ if($pageToShow.attr("id") == "resource_page") {
+ clearMiddleMenu();
+ hideMiddleMenu();
+
initAddZoneButton($("#midmenu_add_link"));
initDialog("dialog_add_zone");
}
- else if($pageToShow.attr("id") == "zone_page") {
+ else if($pageToShow.attr("id") == "zone_page") {
+ hideMiddleMenu();
+
initAddPodButton($("#midmenu_add_link"));
initAddVLANButton($("#midmenu_add2_link"));
initAddSecondaryStorageButton($("#midmenu_add3_link"));
@@ -249,11 +253,12 @@ function showPage2($pageToShow, $menuItem1) {
//var afterSwitchFnArray = [afterSwitchToDetailsTab, afterSwitchToNetworkTab, afterSwitchToSecondaryStorageTab];
switchBetweenDifferentTabs(tabArray, tabContentArray);
$zonePage.find("#tab_details").click();
-
- hideMiddleMenu();
+
zoneJsonToRightPanel($menuItem1);
}
- else if($pageToShow.attr("id") == "pod_page") {
+ else if($pageToShow.attr("id") == "pod_page") {
+ hideMiddleMenu();
+
initAddHostButton($("#midmenu_add_link"));
initAddPrimaryStorageButton($("#midmenu_add2_link"));
@@ -264,21 +269,22 @@ function showPage2($pageToShow, $menuItem1) {
if (getHypervisorType() == 'kvm')
$("#dialog_add_pool").find("#add_pool_protocol").empty().html('');
bindEventHandlerToDialogAddPool();
-
- showMiddleMenu();
+
podJsonToRightPanel($menuItem1);
- var podId = jsonObj.id;
- $("#midmenu_container").empty();
- listMidMenuItems2(("listHosts&type=Routing&podid="+podId), "listhostsresponse", "host", hostToMidmenu, hostToRightPanel, hostGetMidmenuId, false, false);
- listMidMenuItems2(("listStoragePools&podid="+podId), "liststoragepoolsresponse", "storagepool", primarystorageToMidmenu, primarystorageToRightPanel, primarystorageGetMidmenuId, false, false);
+ //var podId = jsonObj.id;
+ //$("#midmenu_container").empty();
+ //listMidMenuItems2(("listHosts&type=Routing&podid="+podId), "listhostsresponse", "host", hostToMidmenu, hostToRightPanel, hostGetMidmenuId, false, false);
+ //listMidMenuItems2(("listStoragePools&podid="+podId), "liststoragepoolsresponse", "storagepool", primarystorageToMidmenu, primarystorageToRightPanel, primarystorageGetMidmenuId, false, false);
}
else if($pageToShow.attr("id") == "cluster_page") {
+ clearMiddleMenu();
+ showMiddleMenu();
+
$("#midmenu_add_link").unbind("click").hide();
$("#midmenu_add2_link").unbind("click").hide();
- $("#midmenu_add3_link").unbind("click").hide();
-
- showMiddleMenu();
+ $("#midmenu_add3_link").unbind("click").hide();
+
clusterJsonToRightPanel($menuItem1);
var clusterId = jsonObj.id;
@@ -1274,9 +1280,10 @@ function initAddHostButton($midmenuAddLink1) {
var password = trim($thisDialog.find("#host_password").val());
array1.push("&password="+encodeURIComponent(password));
-
+
+ var newClusterName;
if(clusterRadio == "new_cluster_radio") {
- var newClusterName = trim($thisDialog.find("#new_cluster_name").val());
+ newClusterName = trim($thisDialog.find("#new_cluster_name").val());
array1.push("&clustername="+todb(newClusterName));
}
else if(clusterRadio == "existing_cluster_radio") {
@@ -1304,6 +1311,7 @@ function initAddHostButton($midmenuAddLink1) {
$thisDialog.find("#spinning_wheel").hide();
$thisDialog.dialog("close");
+ showMiddleMenu();
var $midmenuItem1 = $("#midmenu_item").clone();
$("#midmenu_container").append($midmenuItem1.fadeIn("slow"));
var items = json.addhostresponse.host;
@@ -1319,13 +1327,16 @@ function initAddHostButton($midmenuAddLink1) {
}
}
- if(clusterRadio == "new_cluster_radio")
- $thisDialog.find("#new_cluster_name").val("");
-
- refreshClusterUnderPod($("#pod_" + podObj.id));
+ if(clusterRadio == "new_cluster_radio") {
+ refreshClusterUnderPod($("#pod_" + podObj.id), newClusterName);
+ $thisDialog.find("#new_cluster_name").val("");
+ }
},
error: function(XMLHttpResponse) {
- refreshClusterUnderPod($("#pod_" + podObj.id));
+ if(clusterRadio == "new_cluster_radio") {
+ refreshClusterUnderPod($("#pod_" + podObj.id), newClusterName);
+ $thisDialog.find("#new_cluster_name").val(""); //even AddHost fails, new cluster is still created. So, we clean up new cluster field to avoid the same one gets created twice.
+ }
handleErrorInDialog(XMLHttpResponse, $thisDialog);
}
});
@@ -1338,7 +1349,7 @@ function initAddHostButton($midmenuAddLink1) {
});
}
-function refreshClusterUnderPod($podNode) {
+function refreshClusterUnderPod($podNode, newClusterName) {
var podId = $podNode.data("podId");
$.ajax({
data: createURL("command=listClusters&podid="+podId+maxPageSize),
@@ -1349,9 +1360,14 @@ function refreshClusterUnderPod($podNode) {
var container = $podNode.find("#clusters_container").empty();
if (items != null && items.length > 0) {
for (var i = 0; i < items.length; i++) {
- var clusterTemplate = $("#leftmenu_cluster_node_template").clone(true);
- clusterJSONToTreeNode(items[i], clusterTemplate);
- container.append(clusterTemplate.show());
+ var $clusterNode = $("#leftmenu_cluster_node_template").clone(true);
+ var item = items[i];
+ clusterJSONToTreeNode(item, $clusterNode);
+ container.append($clusterNode.show());
+
+ if(newClusterName != null && fromdb(item.name) == newClusterName) {
+ $clusterNode.find("#cluster_name").click();
+ }
}
$podNode.find("#pod_arrow").removeClass("white_nonexpanded_close").addClass("expanded_open");
$podNode.find("#pod_content").show();
diff --git a/ui/scripts/cloud.core.storage.js b/ui/scripts/cloud.core.storage.js
index 580b03046d8..10ca6570729 100644
--- a/ui/scripts/cloud.core.storage.js
+++ b/ui/scripts/cloud.core.storage.js
@@ -959,7 +959,7 @@ function showStorageTab(domainId, targetTab) {
switch (linkAction) {
case "volume_action_delete" :
//check if this volume is attached to a virtual machine. If yes, can't be deleted.
- if(vmname != null && (vmname != "" || vmname != "none")) {
+ if(vmname != null && vmname != "" && vmname != "none") {
$("#dialog_alert").html("This volume is attached to virtual machine " + vmname + " and can't be deleted.
")
$("#dialog_alert").dialog("open");
return;