bug 7713: Add Zone Wizard - Add IP Range to public network for advanced zone - fix a bug that domain dropdown was not populated.

This commit is contained in:
Jessica Wang 2011-01-05 19:03:42 -08:00
parent b4dad6e9cc
commit 94b07a55d4
3 changed files with 59 additions and 14 deletions

View File

@ -713,12 +713,14 @@
-->
</select>
</li>
<!--
<li style="display: none" id="add_publicip_vlan_pod_container">
<label for="user_name">
Pod:</label>
<select class="select" name="add_publicip_vlan_pod" id="add_publicip_vlan_pod">
</select>
</li>
-->
<li style="display: none" id="add_publicip_vlan_domain_container">
<label for="user_name">
Domain:</label>

View File

@ -385,13 +385,13 @@ function bindAddIpRangeToPublicNetworkButton($button, $midmenuItem1) {
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_tagged").change(function(event) {
if ($(this).val() == "tagged") {
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_vlan_container").show();
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_pod_container").hide();
//$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_pod_container").hide();
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_scope").empty().append('<option value="zone-wide">zone-wide</option>').append('<option value="account-specific">account-specific</option>');
}
else if($(this).val() == "untagged") {
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_vlan_container").hide();
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_pod_container").hide();
//$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_pod_container").hide();
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_scope").empty().append('<option value="zone-wide">zone-wide</option>');
}
@ -419,16 +419,19 @@ function bindAddIpRangeToPublicNetworkButton($button, $midmenuItem1) {
$button.unbind("click").bind("click", function(event) {
if($("#public_network_page").find("#tab_content_ipallocation").css("display") == "none")
$("#public_network_page").find("#tab_ipallocation").click();
/*
$dialogAddIpRangeToPublicNetwork.find("#info_container").hide();
$dialogAddIpRangeToPublicNetwork.find("#zone_name").text(fromdb(zoneObj.name));
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_vlan_container, #add_publicip_vlan_domain_container, #add_publicip_vlan_account_container").hide();
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_tagged, #add_publicip_vlan_vlan, #add_publicip_vlan_gateway, #add_publicip_vlan_netmask, #add_publicip_vlan_startip, #add_publicip_vlan_endip, #add_publicip_vlan_account").val("");
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_pod_container").show();
*/
//$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_pod_container").show();
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_tagged").change();
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_scope").change(); // default value of "#add_publicip_vlan_scope" is "zone-wide". Calling change() will hide "#add_publicip_vlan_domain_container", "#add_publicip_vlan_account_container".
/*
var podSelect = $dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_pod").empty();
$.ajax({
data: createURL("command=listPods&zoneId="+zoneObj.id),
@ -445,6 +448,7 @@ function bindAddIpRangeToPublicNetworkButton($button, $midmenuItem1) {
}
}
});
*/
var domainSelect = $dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_domain").empty();
if(zoneObj.domainid != null) { //list only domains under zoneObj.domainid
@ -540,7 +544,7 @@ function bindAddIpRangeToPublicNetworkButton($button, $midmenuItem1) {
if(endip != null && endip.length > 0)
array1.push("&endip="+todb(endip));
// Allocating ip ranges on a vlan for virtual networking
// Add IP Range to public network
$.ajax({
data: createURL("command=createVlanIpRange&forVirtualNetwork=true&zoneId="+zoneObj.id+vlan+scopeParams+array1.join("")),
dataType: "json",

View File

@ -979,7 +979,9 @@ function refreshAddZoneWizard() {
$addZoneWizard.find("#step4").find("#add_publicip_vlan_tagged").change();
$addZoneWizard.find("#step4").find("#add_publicip_vlan_scope").change(); // default value of "#add_publicip_vlan_scope" is "zone-wide". Calling change() will hide "#add_publicip_vlan_domain_container", "#add_publicip_vlan_account_container".
$addZoneWizard.find("#after_submit_screen").find("#spinning_wheel").show();
$addZoneWizard.find("#basic_mode").click();
}
@ -1091,6 +1093,45 @@ function initAddZoneWizard() {
return;
$thisWizard.find("#step2").hide();
$thisWizard.find("#step3").show();
var $IpRangeDomainSelect = $thisWizard.find("#step4").find("#add_publicip_vlan_domain").empty();
if($thisWizard.find("#step2").find("#domain_dropdown_container").css("display") != "none") { //list only domains under zoneDomain
var zoneDomainId = $thisWizard.find("#step2").find("#domain_dropdown").val();
var zoneDomainName = $thisWizard.find("#step2").find("#domain_dropdown option:selected").text();
$IpRangeDomainSelect.append("<option value='" + zoneDomainId + "'>" + zoneDomainName + "</option>");
function populateDomainDropdown(parentDomainId) {
$.ajax({
data: createURL("command=listDomainChildren&id="+parentDomainId),
dataType: "json",
async: false,
success: function(json) {
var domains = json.listdomainchildrenresponse.domain;
if (domains != null && domains.length > 0) {
for (var i = 0; i < domains.length; i++) {
$IpRangeDomainSelect.append("<option value='" + domains[i].id + "'>" + fromdb(domains[i].name) + "</option>");
if(domains[i].haschild == true)
populateDomainDropdown(domains[i].id);
}
}
}
});
}
populateDomainDropdown(zoneDomainId);
}
else { //list all domains
$.ajax({
data: createURL("command=listDomains"),
dataType: "json",
success: function(json) {
var items = json.listdomainsresponse.domain;
if(items != null && items.length > 0) {
for(var i=0; i<items.length; i++) {
$IpRangeDomainSelect.append("<option value='" + items[i].id + "'>" + fromdb(items[i].name) + "</option>");
}
}
}
});
}
break;
case "go_to_step_4": //step 3 => step 4
@ -1201,9 +1242,7 @@ function addZoneWizardValidatePublicIPRange($thisWizard) {
return isValid;
}
function addZoneWizardSubmit($thisWizard) {
$thisWizard.find("#spinning_wheel").show();
function addZoneWizardSubmit($thisWizard) {
var moreCriteria = [];
var networktype = $thisWizard.find("#step1").find("input:radio[name=basic_advanced]:checked").val(); //"Basic", "Advanced"
@ -1242,8 +1281,8 @@ function addZoneWizardSubmit($thisWizard) {
moreCriteria.push("&guestcidraddress="+todb(guestcidraddress));
}
if($thisWizard.find("#domain_dropdown_container").css("display") != "none") {
var domainId = trim($thisWizard.find("#domain_dropdown").val());
if($thisWizard.find("#step2").find("#domain_dropdown_container").css("display") != "none") {
var domainId = trim($thisWizard.find("#step2").find("#domain_dropdown").val());
moreCriteria.push("&domainid="+domainId);
}
@ -1330,7 +1369,7 @@ function addZoneWizardSubmit($thisWizard) {
// create pod (end)
// add IP range to public network in zone (begin)
if($("input[name=basic_advanced]:checked").val() == "Advanced") {
if(networktype == "Advanced") {
var isDirect = false;
var isTagged = $thisWizard.find("#step4").find("#add_publicip_vlan_tagged").val() == "tagged";
@ -1418,7 +1457,7 @@ function addZoneWizardSubmit($thisWizard) {
});
}
$thisWizard.find("#spinning_wheel").hide();
$thisWizard.find("#after_submit_screen").find("#spinning_wheel").hide();
}
function initUpdateConsoleCertButton($midMenuAddLink2) {