From 718334952214cd5f9e3440f750befe13d2bfc7f7 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Thu, 3 Mar 2011 17:08:27 -0800 Subject: [PATCH] Add Zone Wizard - basic zone - do not create VLAN if pod fails to be created. --- ui/scripts/cloud.core.resource.js | 48 +++++++++++++++++-------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/ui/scripts/cloud.core.resource.js b/ui/scripts/cloud.core.resource.js index 64a0e98d057..e4ff669132e 100644 --- a/ui/scripts/cloud.core.resource.js +++ b/ui/scripts/cloud.core.resource.js @@ -1473,11 +1473,15 @@ function addZoneWizardSubmit($thisWizard) { array1.push("&forVirtualNetwork=false"); //direct VLAN array1.push("&zoneid=" + zoneId); - if($createDirectVlan.find("#vlan_id_container").css("display") != "none") { + var isValid = true; + if($createDirectVlan.find("#vlan_id_container").css("display") != "none") { //advanced zone + security group (default VLAN is at zone-level) array1.push("&vlan="+$createDirectVlan.find("#vlan_id").val()); } - else { - array1.push("&vlan=untagged"); + else { //basic zone (default VLAN is at pod-level) + array1.push("&vlan=untagged"); + array1.push("&podId=" + podId); + if(podId == null) + isValid = false; } array1.push("&gateway="+todb(guestgateway)); @@ -1486,24 +1490,26 @@ function addZoneWizardSubmit($thisWizard) { if(endip != null && endip.length > 0) array1.push("&endip="+todb(endip)); - $.ajax({ - data: createURL("command=createVlanIpRange" + array1.join("")), - dataType: "json", - async: false, - success: function(json) { - $thisWizard.find("#after_submit_screen").find("#add_iprange_tick_cross").removeClass().addClass("zonepopup_reviewtick"); - $thisWizard.find("#after_submit_screen").find("#add_iprange_message").removeClass().text("Guest IP range was created successfully"); - - var item = json.createvlaniprangeresponse.vlan; - vlanId = item.id; - }, - error: function(XMLHttpResponse) { - handleError(XMLHttpResponse, function() { - $thisWizard.find("#after_submit_screen").find("#add_iprange_tick_cross").removeClass().addClass("zonepopup_reviewcross"); - $thisWizard.find("#after_submit_screen").find("#add_iprange_message").removeClass().addClass("error").text(("Failed to create Guest IP range: " + parseXMLHttpResponse(XMLHttpResponse))); - }); - } - }); + if(isValid) { + $.ajax({ + data: createURL("command=createVlanIpRange" + array1.join("")), + dataType: "json", + async: false, + success: function(json) { + $thisWizard.find("#after_submit_screen").find("#add_iprange_tick_cross").removeClass().addClass("zonepopup_reviewtick"); + $thisWizard.find("#after_submit_screen").find("#add_iprange_message").removeClass().text("Guest IP range was created successfully"); + + var item = json.createvlaniprangeresponse.vlan; + vlanId = item.id; + }, + error: function(XMLHttpResponse) { + handleError(XMLHttpResponse, function() { + $thisWizard.find("#after_submit_screen").find("#add_iprange_tick_cross").removeClass().addClass("zonepopup_reviewcross"); + $thisWizard.find("#after_submit_screen").find("#add_iprange_message").removeClass().addClass("error").text(("Failed to create Guest IP range: " + parseXMLHttpResponse(XMLHttpResponse))); + }); + } + }); + } }