mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
bug 7448: zone tree - network - implement Add IP Range for public network.
This commit is contained in:
parent
d2bd6e522e
commit
b043f5517f
10
ui/index.jsp
10
ui/index.jsp
@ -261,6 +261,16 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="actionpanel_button_wrapper" id="midmenu_add_iprange_button" style="display: none;">
|
||||
<div class="actionpanel_button">
|
||||
<div class="actionpanel_button_icons">
|
||||
<img src="images/addvm_actionicon.png" alt="Add IP Range" /></div>
|
||||
<div class="actionpanel_button_links" id="Div8">
|
||||
Add IP Range
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="actionpanel_button_wrapper" id="midmenu_add_directIpRange_button" style="display: none;">
|
||||
<div class="actionpanel_button">
|
||||
<div class="actionpanel_button_icons">
|
||||
|
||||
@ -448,6 +448,131 @@
|
||||
</div>
|
||||
<!-- IP Range template (end) -->
|
||||
|
||||
|
||||
<!-- Add IP Range for public netework dialog (begin) -->
|
||||
<div id="dialog_add_iprange_to_publicnetwork" title="Add IP Range to Public Network" style="display: none">
|
||||
<p>
|
||||
Add an IP range to public network in zone: <b><span id="zone_name"></span></b>
|
||||
</p>
|
||||
<div class="dialog_formcontent">
|
||||
<form action="#" method="post" id="form_acquire">
|
||||
<ol>
|
||||
<li style="display: none" id="add_publicip_vlan_type_container">
|
||||
<label for="add_publicip_vlan_type">
|
||||
Type:</label>
|
||||
<select class="select" name="add_publicip_vlan_type" id="add_publicip_vlan_type">
|
||||
<option value="false">Direct</option>
|
||||
<option value="true">Virtual</option>
|
||||
</select>
|
||||
</li>
|
||||
<li style="display: none" id="add_publicip_vlan_network_name_container">
|
||||
<label for="user_name">
|
||||
Network Name:</label>
|
||||
<input class="text" type="text" name="add_publicip_vlan_network_name" id="add_publicip_vlan_network_name" />
|
||||
<div id="add_publicip_vlan_network_name_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li style="display: none" id="add_publicip_vlan_network_desc_container">
|
||||
<label for="user_name">
|
||||
Network Desc:</label>
|
||||
<input class="text" type="text" name="add_publicip_vlan_network_desc" id="add_publicip_vlan_network_desc" />
|
||||
<div id="add_publicip_vlan_network_desc_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li id="add_publicip_vlan_container">
|
||||
<label for="add_publicip_vlan_tagged">
|
||||
VLAN:</label>
|
||||
<select class="select" name="add_publicip_vlan_tagged" id="add_publicip_vlan_tagged">
|
||||
</select>
|
||||
</li>
|
||||
<li style="display: none" id="add_publicip_vlan_vlan_container">
|
||||
<label for="user_name">
|
||||
VLAN ID:</label>
|
||||
<input class="text" type="text" name="add_publicip_vlan_vlan" id="add_publicip_vlan_vlan" />
|
||||
<div id="add_publicip_vlan_vlan_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li id="add_publicip_vlan_scope_container">
|
||||
<label for="add_publicip_vlan_scope">
|
||||
Scope:</label>
|
||||
<select class="select" name="add_publicip_vlan_scope" id="add_publicip_vlan_scope">
|
||||
<!--
|
||||
<option value="zone-wide">zone-wide</option>
|
||||
<option value="account-specific">account-specific</option>
|
||||
-->
|
||||
</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>
|
||||
<select class="select" name="add_publicip_vlan_domain" id="add_publicip_vlan_domain">
|
||||
</select>
|
||||
</li>
|
||||
<li style="display: none" id="add_publicip_vlan_account_container">
|
||||
<label for="user_name">
|
||||
Account:</label>
|
||||
<input class="text" type="text" name="add_publicip_vlan_account" id="add_publicip_vlan_account" />
|
||||
<div id="add_publicip_vlan_account_errormsg" class="dialog_formcontent_errormsg"
|
||||
style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<label for="user_name">
|
||||
Gateway:</label>
|
||||
<input class="text" type="text" name="add_publicip_vlan_gateway" id="add_publicip_vlan_gateway" />
|
||||
<div id="add_publicip_vlan_gateway_errormsg" class="dialog_formcontent_errormsg"
|
||||
style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<label for="user_name">
|
||||
Netmask:</label>
|
||||
<input class="text" type="text" name="add_publicip_vlan_netmask" id="add_publicip_vlan_netmask" />
|
||||
<div id="add_publicip_vlan_netmask_errormsg" class="dialog_formcontent_errormsg"
|
||||
style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<label for="user_name">
|
||||
IP Range:</label>
|
||||
<input class="text" style="width: 67px" type="text" name="add_publicip_vlan_startip"
|
||||
id="add_publicip_vlan_startip" /><span>-</span>
|
||||
<input class="text" style="width: 67px" type="text" name="add_publicip_vlan_endip"
|
||||
id="add_publicip_vlan_endip" />
|
||||
<div id="add_publicip_vlan_startip_errormsg" class="dialog_formcontent_errormsg"
|
||||
style="display: none;">
|
||||
</div>
|
||||
<div id="add_publicip_vlan_endip_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</form>
|
||||
</div>
|
||||
<!--Loading box-->
|
||||
<div id="spinning_wheel" class="ui_dialog_loaderbox" style="display: none;">
|
||||
<div class="ui_dialog_loader">
|
||||
</div>
|
||||
<p>
|
||||
Adding....</p>
|
||||
</div>
|
||||
<!--Confirmation msg box-->
|
||||
<!--Note: for error msg, just have to add error besides everything for eg. add error(class) next to ui_dialog_messagebox error, ui_dialog_msgicon error, ui_dialog_messagebox_text error. -->
|
||||
<div id="info_container" class="ui_dialog_messagebox error" style="display: none;">
|
||||
<div id="icon" class="ui_dialog_msgicon error">
|
||||
</div>
|
||||
<div id="info" class="ui_dialog_messagebox_text error">
|
||||
(info)</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Add IP Range for public netework dialog (end) -->
|
||||
|
||||
|
||||
<!-- Add network dialog for zone (begin) -->
|
||||
<div id="dialog_add_network_for_zone" title="Add Network" style="display: none">
|
||||
<p>
|
||||
|
||||
@ -571,6 +571,7 @@ function clearAddButtonsOnTop() {
|
||||
$("#midmenu_add_pod_button").unbind("click").hide();
|
||||
$("#midmenu_add_vlan_button").unbind("click").hide();
|
||||
$("#midmenu_add_network_button").unbind("click").hide();
|
||||
$("#midmenu_add_iprange_button").unbind("click").hide();
|
||||
$("#midmenu_add_directIpRange_button").unbind("click").hide();
|
||||
$("#midmenu_Update_SSL_Certificate_button").unbind("click").hide();
|
||||
|
||||
|
||||
@ -15,16 +15,17 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
var zoneObj;
|
||||
function afterLoadNetworkJSP($leftmenuItem1) {
|
||||
var zoneObj = $leftmenuItem1.data("jsonObj");
|
||||
zoneObj = $leftmenuItem1.data("jsonObj");
|
||||
if(zoneObj == null)
|
||||
return;
|
||||
|
||||
showMiddleMenu();
|
||||
disableMultipleSelectionInMidMenu();
|
||||
|
||||
initAddNetworkButton($("#midmenu_add_network_button"), $leftmenuItem1);
|
||||
initAddNetworkButton($("#midmenu_add_network_button"));
|
||||
|
||||
//switch between different tabs - Public Network page
|
||||
var $publicNetworkPage = $("#public_network_page");
|
||||
@ -83,8 +84,528 @@ function afterLoadNetworkJSP($leftmenuItem1) {
|
||||
});
|
||||
}
|
||||
|
||||
function initAddNetworkButton($button, $leftmenuItem1) {
|
||||
var zoneObj = $leftmenuItem1.data("jsonObj");
|
||||
//***** Public Network (begin) ******************************************************************************************************
|
||||
function publicNetworkGetMidmenuId(jsonObj) {
|
||||
return "midmenuItem_publicnetework_" + jsonObj.id;
|
||||
}
|
||||
|
||||
function publicNetworkToMidmenu(jsonObj, $midmenuItem1) {
|
||||
$midmenuItem1.attr("id", publicNetworkGetMidmenuId(jsonObj));
|
||||
$midmenuItem1.data("jsonObj", jsonObj);
|
||||
|
||||
/*
|
||||
var $iconContainer = $midmenuItem1.find("#icon_container").show();
|
||||
$iconContainer.find("#icon").attr("src", "images/midmenuicon_storage_snapshots.png");
|
||||
*/
|
||||
|
||||
$midmenuItem1.find("#first_row").text("Public Network");
|
||||
$midmenuItem1.find("#second_row").text("Network ID: " + fromdb(jsonObj.id));
|
||||
}
|
||||
|
||||
function publicNetworkToRightPanel($midmenuItem1) {
|
||||
copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
|
||||
$("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
|
||||
|
||||
$("#public_network_page").show();
|
||||
initAddIpRangeToPublicNetworkButton($("#midmenu_add_iprange_button"), $midmenuItem1);
|
||||
|
||||
$("#direct_network_page").hide();
|
||||
|
||||
$("#public_network_page").find("#tab_details").click();
|
||||
}
|
||||
|
||||
function publicNetworkJsonToDetailsTab() {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
return;
|
||||
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
var $thisTab = $("#right_panel_content #public_network_page #tab_content_details");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
$thisTab.find("#tab_spinning_wheel").show();
|
||||
|
||||
$thisTab.find("#grid_header_title").text(fromdb(jsonObj.networkofferingdisplaytext));
|
||||
|
||||
$thisTab.find("#id").text(fromdb(jsonObj.id));
|
||||
$thisTab.find("#state").text(fromdb(jsonObj.state));
|
||||
$thisTab.find("#traffictype").text(fromdb(jsonObj.traffictype));
|
||||
$thisTab.find("#broadcastdomaintype").text(fromdb(jsonObj.broadcastdomaintype));
|
||||
setBooleanReadField(jsonObj.isshared, $thisTab.find("#isshared"));
|
||||
setBooleanReadField(jsonObj.issystem, $thisTab.find("#issystem"));
|
||||
$thisTab.find("#networkofferingname").text(fromdb(jsonObj.networkofferingname));
|
||||
$thisTab.find("#networkofferingdisplaytext").text(fromdb(jsonObj.networkofferingdisplaytext));
|
||||
$thisTab.find("#networkofferingid").text(fromdb(jsonObj.networkofferingid));
|
||||
$thisTab.find("#related").text(fromdb(jsonObj.related));
|
||||
$thisTab.find("#zoneid").text(fromdb(jsonObj.zoneid));
|
||||
$thisTab.find("#dns1").text(fromdb(jsonObj.dns1));
|
||||
$thisTab.find("#dns2").text(fromdb(jsonObj.dns2));
|
||||
$thisTab.find("#domainid").text(fromdb(jsonObj.domainid));
|
||||
$thisTab.find("#account").text(fromdb(jsonObj.account));
|
||||
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
}
|
||||
|
||||
function publicNetworkJsonToIpAllocationTab() {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
return;
|
||||
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
var $thisTab = $("#right_panel_content #public_network_page #tab_content_ipallocation");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
$thisTab.find("#tab_spinning_wheel").show();
|
||||
|
||||
$.ajax({
|
||||
data: createURL("command=listVlanIpRanges&zoneid="+ jsonObj.zoneid+"&forvirtualnetwork=true"), //don't need networkid because one zone has only one public network
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var items = json.listvlaniprangesresponse.vlaniprange;
|
||||
var $container = $thisTab.find("#tab_container").empty();
|
||||
var $template = $("#iprange_template");
|
||||
if(items != null && items.length > 0) {
|
||||
for(var i=0; i<items.length; i++) {
|
||||
var $newTemplate = $template.clone();
|
||||
publicNetworkIprangeJsonToTemplate(items[i], $newTemplate);
|
||||
$container.append($newTemplate.show());
|
||||
}
|
||||
}
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function publicNetworkIprangeJsonToTemplate(jsonObj, $template) {
|
||||
$template.attr("id", "publicNetworkIprange_" + jsonObj.id);
|
||||
|
||||
var ipRange = getIpRange(fromdb(jsonObj.startip), fromdb(jsonObj.endip));
|
||||
$template.find("#grid_header_title").text(ipRange);
|
||||
|
||||
$template.find("#vlan").text(jsonObj.vlan)
|
||||
$template.find("#startip").text(fromdb(jsonObj.startip));
|
||||
$template.find("#endip").text(fromdb(jsonObj.endip));
|
||||
}
|
||||
|
||||
function publicNetworkJsonToFirewallTab() {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
return;
|
||||
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
var $thisTab = $("#right_panel_content #public_network_page #tab_content_firewall");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
$thisTab.find("#tab_spinning_wheel").show();
|
||||
|
||||
|
||||
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
}
|
||||
|
||||
function publicNetworkJsonToLoadBalancerTab() {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
return;
|
||||
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
var $thisTab = $("#right_panel_content #public_network_page #tab_content_loadbalancer");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
$thisTab.find("#tab_spinning_wheel").show();
|
||||
|
||||
|
||||
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
}
|
||||
|
||||
function initAddIpRangeToPublicNetworkButton($button, $midmenuItem1) {
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
|
||||
initDialog("dialog_add_iprange_to_publicnetwork");
|
||||
|
||||
var $dialogAddIpRangeToPublicNetwork = $("#dialog_add_iprange_to_publicnetwork");
|
||||
|
||||
//***** binding Event Handler (begin) ******
|
||||
//direct VLAN shows only "tagged" option while public VLAN shows both "tagged" and "untagged" option.
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_type").change(function(event) {
|
||||
var addPublicipVlanTagged = $dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_tagged").empty();
|
||||
|
||||
if ($(this).val() == "false") { //direct VLAN (only tagged option)
|
||||
addPublicipVlanTagged.append('<option value="tagged">tagged</option>');
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_network_name_container").show();
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_network_desc_container").show();
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_vlan_container").show();
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_pod_container").hide();
|
||||
|
||||
}
|
||||
else if ($(this).val() == "true") { //public VLAN
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_network_name_container").hide();
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_network_desc_container").hide();
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_cidr_container").hide();
|
||||
addPublicipVlanTagged.append('<option value="untagged">untagged</option>').append('<option value="tagged">tagged</option>');
|
||||
}
|
||||
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_tagged").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".
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_scope").change();
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
if (zoneObj.networktype == "Advanced") {
|
||||
$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_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_scope").empty().append('<option value="zone-wide">zone-wide</option>');
|
||||
}
|
||||
|
||||
// default value of "#add_publicip_vlan_scope" is "zone-wide". Calling change() will hide "#add_publicip_vlan_domain_container", "#add_publicip_vlan_account_container".
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_scope").change();
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_tagged").change();
|
||||
}
|
||||
else {
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_container").hide();
|
||||
}
|
||||
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_scope").change(function(event) {
|
||||
if($(this).val() == "zone-wide") {
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_domain_container").hide();
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_account_container").hide();
|
||||
}
|
||||
else if($(this).val() == "account-specific") {
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_domain_container").show();
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_account_container").show();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
//***** binding Event Handler (end) ******
|
||||
$button.show();
|
||||
$button.unbind("click").bind("click", function(event) {
|
||||
$("#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("");
|
||||
|
||||
if (zoneObj.networktype == 'Basic') {
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_type_container").hide();
|
||||
} else {
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_pod_container").show();
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_type").change();
|
||||
$dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_type_container").show();
|
||||
var podSelect = $dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_pod").empty();
|
||||
$.ajax({
|
||||
data: createURL("command=listPods&zoneId="+zoneObj.id),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var pods = json.listpodsresponse.pod;
|
||||
if (pods != null && pods.length > 0) {
|
||||
for (var i = 0; i < pods.length; i++) {
|
||||
podSelect.append("<option value='" + pods[i].id + "'>" + fromdb(pods[i].name) + "</option>");
|
||||
}
|
||||
} else {
|
||||
podSelect.append("<option value=''>No available pods</option>");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var domainSelect = $dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_domain").empty();
|
||||
if(zoneObj.domainid != null) { //list only domains under zoneObj.domainid
|
||||
domainSelect.append("<option value='" + zoneObj.domainid + "'>" + fromdb(zoneObj.domain) + "</option>");
|
||||
|
||||
function populateDomainDropdown(id) {
|
||||
$.ajax({
|
||||
data: createURL("command=listDomainChildren&id="+id),
|
||||
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++) {
|
||||
domainSelect.append("<option value='" + domains[i].id + "'>" + fromdb(domains[i].name) + "</option>");
|
||||
if(domains[i].haschild == true)
|
||||
populateDomainDropdown(domains[i].id);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
populateDomainDropdown(zoneObj.domainid);
|
||||
}
|
||||
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++) {
|
||||
domainSelect.append("<option value='" + items[i].id + "'>" + fromdb(items[i].name) + "</option>");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$dialogAddIpRangeToPublicNetwork
|
||||
.dialog('option', 'buttons', {
|
||||
"Add": function() {
|
||||
var $thisDialog = $(this);
|
||||
|
||||
// validate values
|
||||
var isValid = true;
|
||||
var isTagged = $thisDialog.find("#add_publicip_vlan_tagged").val() == "tagged";
|
||||
var isDirect = $thisDialog.find("#add_publicip_vlan_type").val() == "false";
|
||||
|
||||
isValid &= validateString("Account", $thisDialog.find("#add_publicip_vlan_account"), $thisDialog.find("#add_publicip_vlan_account_errormsg"), true); //optional
|
||||
|
||||
if (isTagged) {
|
||||
isValid &= validateNumber("VLAN", $thisDialog.find("#add_publicip_vlan_vlan"), $thisDialog.find("#add_publicip_vlan_vlan_errormsg"), 2, 4095);
|
||||
}
|
||||
if (isDirect) {
|
||||
isValid &= validateString("Network Name", $thisDialog.find("#add_publicip_vlan_network_name"), $thisDialog.find("#add_publicip_vlan_network_name_errormsg"));
|
||||
isValid &= validateString("Network Description", $thisDialog.find("#add_publicip_vlan_network_desc"), $thisDialog.find("#add_publicip_vlan_network_desc_errormsg"));
|
||||
}
|
||||
isValid &= validateIp("Gateway", $thisDialog.find("#add_publicip_vlan_gateway"), $thisDialog.find("#add_publicip_vlan_gateway_errormsg"));
|
||||
isValid &= validateIp("Netmask", $thisDialog.find("#add_publicip_vlan_netmask"), $thisDialog.find("#add_publicip_vlan_netmask_errormsg"));
|
||||
isValid &= validateIp("Start IP Range", $thisDialog.find("#add_publicip_vlan_startip"), $thisDialog.find("#add_publicip_vlan_startip_errormsg")); //required
|
||||
isValid &= validateIp("End IP Range", $thisDialog.find("#add_publicip_vlan_endip"), $thisDialog.find("#add_publicip_vlan_endip_errormsg"), true); //optional
|
||||
if (!isValid)
|
||||
return;
|
||||
|
||||
//$thisDialog.dialog("close"); //only close dialog when this action succeeds
|
||||
$thisDialog.find("#spinning_wheel").show()
|
||||
|
||||
var vlan = trim($thisDialog.find("#add_publicip_vlan_vlan").val());
|
||||
if (isTagged) {
|
||||
vlan = "&vlan="+vlan;
|
||||
} else {
|
||||
vlan = "&vlan=untagged";
|
||||
}
|
||||
|
||||
var scopeParams = "";
|
||||
if($dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_scope").val()=="account-specific") {
|
||||
scopeParams = "&domainId="+trim($thisDialog.find("#add_publicip_vlan_domain").val())+"&account="+trim($thisDialog.find("#add_publicip_vlan_account").val());
|
||||
} else if (isDirect) {
|
||||
scopeParams = "&isshared=true";
|
||||
}
|
||||
|
||||
var type = trim($thisDialog.find("#add_publicip_vlan_type").val());
|
||||
var gateway = trim($thisDialog.find("#add_publicip_vlan_gateway").val());
|
||||
var netmask = trim($thisDialog.find("#add_publicip_vlan_netmask").val());
|
||||
var startip = trim($thisDialog.find("#add_publicip_vlan_startip").val());
|
||||
var endip = trim($thisDialog.find("#add_publicip_vlan_endip").val());
|
||||
|
||||
if (!isDirect) {
|
||||
// Allocating ip ranges on a vlan for virtual networking
|
||||
$.ajax({
|
||||
data: createURL("command=createVlanIpRange&forVirtualNetwork="+type+"&zoneId="+zoneObj.id+vlan+scopeParams+"&gateway="+todb(gateway)+"&netmask="+todb(netmask)+"&startip="+todb(startip)+"&endip="+todb(endip)),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
$thisDialog.find("#spinning_wheel").hide();
|
||||
$thisDialog.dialog("close");
|
||||
|
||||
var item = json.createvlaniprangeresponse.vlan;
|
||||
var $newTemplate = $("#iprange_template").clone();
|
||||
publicNetworkIprangeJsonToTemplate(item, $newTemplate);
|
||||
$("#public_network_page").find("#tab_content_ipallocation").find("#tab_container").append($newTemplate.show());
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
handleError(XMLHttpResponse, function() {
|
||||
handleErrorInDialog(XMLHttpResponse, $thisDialog);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
// Creating network for the direct networking
|
||||
var name = todb($thisDialog.find("#add_publicip_vlan_network_name").val());
|
||||
var desc = todb($thisDialog.find("#add_publicip_vlan_network_desc").val());
|
||||
$.ajax({
|
||||
data: createURL("command=listNetworkOfferings"),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var networkOfferings = json.listnetworkofferingsresponse.networkoffering;
|
||||
if (networkOfferings != null && networkOfferings.length > 0) {
|
||||
for (var i = 0; i < networkOfferings.length; i++) {
|
||||
if (networkOfferings[i].type == "Direct" && networkOfferings[i].isdefault) {
|
||||
// Create a network from this.
|
||||
$.ajax({
|
||||
data: createURL("command=createNetwork&name="+name+"&displayText="+desc+"&networkOfferingId="+networkOfferings[i].id+"&zoneId="+zoneObj.id+vlan+scopeParams+"&gateway="+todb(gateway)+"&netmask="+todb(netmask)+"&startip="+todb(startip)+"&endip="+todb(endip)),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
$thisDialog.find("#spinning_wheel").hide();
|
||||
$thisDialog.dialog("close");
|
||||
|
||||
var item = json.createnetworkresponse.network;
|
||||
var $midmenuItem1 = $("#midmenu_item").clone();
|
||||
$midmenuItem1.data("toRightPanelFn", directNetworkToRightPanel);
|
||||
directNetworkToMidmenu(item, $midmenuItem1);
|
||||
bindClickToMidMenu($midmenuItem1, directNetworkToRightPanel, directNetworkGetMidmenuId);
|
||||
$("#midmenu_container").append($midmenuItem1.show());
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
handleError(XMLHttpResponse, function() {
|
||||
handleErrorInDialog(XMLHttpResponse, $thisDialog);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
"Cancel": function() {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}).dialog("open");
|
||||
return false;
|
||||
});
|
||||
}
|
||||
//***** Public Network (end) ******************************************************************************************************
|
||||
|
||||
|
||||
//***** Direct Network (begin) ******************************************************************************************************
|
||||
function directNetworkGetMidmenuId(jsonObj) {
|
||||
return "midmenuItem_directnetework_" + jsonObj.id;
|
||||
}
|
||||
|
||||
function directNetworkToMidmenu(jsonObj, $midmenuItem1) {
|
||||
$midmenuItem1.attr("id", directNetworkGetMidmenuId(jsonObj));
|
||||
$midmenuItem1.data("jsonObj", jsonObj);
|
||||
|
||||
/*
|
||||
var $iconContainer = $midmenuItem1.find("#icon_container").show();
|
||||
$iconContainer.find("#icon").attr("src", "images/midmenuicon_storage_snapshots.png");
|
||||
*/
|
||||
|
||||
$midmenuItem1.find("#first_row").text(fromdb(jsonObj.name).substring(0,25));
|
||||
$midmenuItem1.find("#second_row").text("VLAN ID: " + fromdb(jsonObj.vlan));
|
||||
}
|
||||
|
||||
function directNetworkToRightPanel($midmenuItem1) {
|
||||
copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
|
||||
$("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
|
||||
|
||||
$("#direct_network_page").show();
|
||||
$("#public_network_page").hide();
|
||||
|
||||
$("#direct_network_page").find("#tab_details").click();
|
||||
}
|
||||
|
||||
function directNetworkJsonToDetailsTab() {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
return;
|
||||
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
var $thisTab = $("#right_panel_content #direct_network_page #tab_content_details");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
$thisTab.find("#tab_spinning_wheel").show();
|
||||
|
||||
$thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
|
||||
|
||||
$thisTab.find("#id").text(fromdb(jsonObj.id));
|
||||
$thisTab.find("#name").text(fromdb(jsonObj.name));
|
||||
$thisTab.find("#displaytext").text(fromdb(jsonObj.displaytext));
|
||||
|
||||
$thisTab.find("#vlan").text(fromdb(jsonObj.vlan));
|
||||
$thisTab.find("#gateway").text(fromdb(jsonObj.gateway));
|
||||
$thisTab.find("#netmask").text(fromdb(jsonObj.netmask));
|
||||
var ipRange = getIpRange(fromdb(jsonObj.startip), fromdb(jsonObj.endip));
|
||||
$thisTab.find("#iprange").text(ipRange);
|
||||
|
||||
$thisTab.find("#domain").text(fromdb(jsonObj.domain)); //might be null
|
||||
$thisTab.find("#account").text(fromdb(jsonObj.account)); //might be null
|
||||
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
}
|
||||
|
||||
function directNetworkJsonToIpAllocationTab() {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
return;
|
||||
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
var $thisTab = $("#right_panel_content #direct_network_page #tab_content_ipallocation");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
$thisTab.find("#tab_spinning_wheel").show();
|
||||
|
||||
$.ajax({
|
||||
data: createURL("command=listVlanIpRanges&zoneid="+ jsonObj.zoneid + "&networkid="+jsonObj.id),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var items = json.listvlaniprangesresponse.vlaniprange;
|
||||
var $container = $thisTab.find("#tab_container").empty();
|
||||
var $template = $("#iprange_template");
|
||||
if(items != null && items.length > 0) {
|
||||
for(var i=0; i<items.length; i++) {
|
||||
var $newTemplate = $template.clone();
|
||||
directNetworkIprangeJsonToTemplate(items[i], $newTemplate);
|
||||
$container.append($newTemplate.show());
|
||||
}
|
||||
}
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function directNetworkIprangeJsonToTemplate(jsonObj, $template) {
|
||||
$template.attr("id", "directNetworkIprange_" + jsonObj.id);
|
||||
|
||||
var ipRange = getIpRange(fromdb(jsonObj.startip), fromdb(jsonObj.endip));
|
||||
$template.find("#grid_header_title").text(ipRange);
|
||||
|
||||
$template.find("#vlan").text(jsonObj.vlan)
|
||||
$template.find("#startip").text(fromdb(jsonObj.startip));
|
||||
$template.find("#endip").text(fromdb(jsonObj.endip));
|
||||
}
|
||||
|
||||
function initAddNetworkButton($button) {
|
||||
if(zoneObj == null)
|
||||
return;
|
||||
|
||||
initDialog("dialog_add_network_for_zone");
|
||||
|
||||
@ -352,256 +873,6 @@ function initAddNetworkButton($button, $leftmenuItem1) {
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
//***** Public Network (begin) ******************************************************************************************************
|
||||
function publicNetworkGetMidmenuId(jsonObj) {
|
||||
return "midmenuItem_publicnetework_" + jsonObj.id;
|
||||
}
|
||||
|
||||
function publicNetworkToMidmenu(jsonObj, $midmenuItem1) {
|
||||
$midmenuItem1.attr("id", publicNetworkGetMidmenuId(jsonObj));
|
||||
$midmenuItem1.data("jsonObj", jsonObj);
|
||||
|
||||
/*
|
||||
var $iconContainer = $midmenuItem1.find("#icon_container").show();
|
||||
$iconContainer.find("#icon").attr("src", "images/midmenuicon_storage_snapshots.png");
|
||||
*/
|
||||
|
||||
$midmenuItem1.find("#first_row").text("Public Network");
|
||||
$midmenuItem1.find("#second_row").text("Network ID: " + fromdb(jsonObj.id));
|
||||
}
|
||||
|
||||
function publicNetworkToRightPanel($midmenuItem1) {
|
||||
copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
|
||||
$("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
|
||||
|
||||
$("#public_network_page").show();
|
||||
$("#direct_network_page").hide();
|
||||
|
||||
$("#public_network_page").find("#tab_details").click();
|
||||
}
|
||||
|
||||
function publicNetworkJsonToDetailsTab() {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
return;
|
||||
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
var $thisTab = $("#right_panel_content #public_network_page #tab_content_details");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
$thisTab.find("#tab_spinning_wheel").show();
|
||||
|
||||
$thisTab.find("#grid_header_title").text(fromdb(jsonObj.networkofferingdisplaytext));
|
||||
|
||||
$thisTab.find("#id").text(fromdb(jsonObj.id));
|
||||
$thisTab.find("#state").text(fromdb(jsonObj.state));
|
||||
$thisTab.find("#traffictype").text(fromdb(jsonObj.traffictype));
|
||||
$thisTab.find("#broadcastdomaintype").text(fromdb(jsonObj.broadcastdomaintype));
|
||||
setBooleanReadField(jsonObj.isshared, $thisTab.find("#isshared"));
|
||||
setBooleanReadField(jsonObj.issystem, $thisTab.find("#issystem"));
|
||||
$thisTab.find("#networkofferingname").text(fromdb(jsonObj.networkofferingname));
|
||||
$thisTab.find("#networkofferingdisplaytext").text(fromdb(jsonObj.networkofferingdisplaytext));
|
||||
$thisTab.find("#networkofferingid").text(fromdb(jsonObj.networkofferingid));
|
||||
$thisTab.find("#related").text(fromdb(jsonObj.related));
|
||||
$thisTab.find("#zoneid").text(fromdb(jsonObj.zoneid));
|
||||
$thisTab.find("#dns1").text(fromdb(jsonObj.dns1));
|
||||
$thisTab.find("#dns2").text(fromdb(jsonObj.dns2));
|
||||
$thisTab.find("#domainid").text(fromdb(jsonObj.domainid));
|
||||
$thisTab.find("#account").text(fromdb(jsonObj.account));
|
||||
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
}
|
||||
|
||||
function publicNetworkJsonToIpAllocationTab() {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
return;
|
||||
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
var $thisTab = $("#right_panel_content #public_network_page #tab_content_ipallocation");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
$thisTab.find("#tab_spinning_wheel").show();
|
||||
|
||||
$.ajax({
|
||||
data: createURL("command=listVlanIpRanges&zoneid="+ jsonObj.zoneid+"&forvirtualnetwork=true"), //don't need networkid because one zone has only one public network
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var items = json.listvlaniprangesresponse.vlaniprange;
|
||||
var $container = $thisTab.find("#tab_container").empty();
|
||||
var $template = $("#iprange_template");
|
||||
if(items != null && items.length > 0) {
|
||||
for(var i=0; i<items.length; i++) {
|
||||
var $newTemplate = $template.clone();
|
||||
publicNetworkIprangeJsonToTemplate(items[i], $newTemplate);
|
||||
$container.append($newTemplate.show());
|
||||
}
|
||||
}
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function publicNetworkIprangeJsonToTemplate(jsonObj, $template) {
|
||||
$template.attr("id", "publicNetworkIprange_" + jsonObj.id);
|
||||
|
||||
var ipRange = getIpRange(fromdb(jsonObj.startip), fromdb(jsonObj.endip));
|
||||
$template.find("#grid_header_title").text(ipRange);
|
||||
|
||||
$template.find("#vlan").text(jsonObj.vlan)
|
||||
$template.find("#startip").text(fromdb(jsonObj.startip));
|
||||
$template.find("#endip").text(fromdb(jsonObj.endip));
|
||||
}
|
||||
|
||||
function publicNetworkJsonToFirewallTab() {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
return;
|
||||
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
var $thisTab = $("#right_panel_content #public_network_page #tab_content_firewall");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
$thisTab.find("#tab_spinning_wheel").show();
|
||||
|
||||
|
||||
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
}
|
||||
|
||||
function publicNetworkJsonToLoadBalancerTab() {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
return;
|
||||
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
var $thisTab = $("#right_panel_content #public_network_page #tab_content_loadbalancer");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
$thisTab.find("#tab_spinning_wheel").show();
|
||||
|
||||
|
||||
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
}
|
||||
//***** Public Network (end) ******************************************************************************************************
|
||||
|
||||
|
||||
//***** Direct Network (begin) ******************************************************************************************************
|
||||
function directNetworkGetMidmenuId(jsonObj) {
|
||||
return "midmenuItem_directnetework_" + jsonObj.id;
|
||||
}
|
||||
|
||||
function directNetworkToMidmenu(jsonObj, $midmenuItem1) {
|
||||
$midmenuItem1.attr("id", directNetworkGetMidmenuId(jsonObj));
|
||||
$midmenuItem1.data("jsonObj", jsonObj);
|
||||
|
||||
/*
|
||||
var $iconContainer = $midmenuItem1.find("#icon_container").show();
|
||||
$iconContainer.find("#icon").attr("src", "images/midmenuicon_storage_snapshots.png");
|
||||
*/
|
||||
|
||||
$midmenuItem1.find("#first_row").text(fromdb(jsonObj.name).substring(0,25));
|
||||
$midmenuItem1.find("#second_row").text("VLAN ID: " + fromdb(jsonObj.vlan));
|
||||
}
|
||||
|
||||
function directNetworkToRightPanel($midmenuItem1) {
|
||||
copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
|
||||
$("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
|
||||
|
||||
$("#direct_network_page").show();
|
||||
$("#public_network_page").hide();
|
||||
|
||||
$("#direct_network_page").find("#tab_details").click();
|
||||
}
|
||||
|
||||
function directNetworkJsonToDetailsTab() {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
return;
|
||||
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
var $thisTab = $("#right_panel_content #direct_network_page #tab_content_details");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
$thisTab.find("#tab_spinning_wheel").show();
|
||||
|
||||
$thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
|
||||
|
||||
$thisTab.find("#id").text(fromdb(jsonObj.id));
|
||||
$thisTab.find("#name").text(fromdb(jsonObj.name));
|
||||
$thisTab.find("#displaytext").text(fromdb(jsonObj.displaytext));
|
||||
|
||||
$thisTab.find("#vlan").text(fromdb(jsonObj.vlan));
|
||||
$thisTab.find("#gateway").text(fromdb(jsonObj.gateway));
|
||||
$thisTab.find("#netmask").text(fromdb(jsonObj.netmask));
|
||||
var ipRange = getIpRange(fromdb(jsonObj.startip), fromdb(jsonObj.endip));
|
||||
$thisTab.find("#iprange").text(ipRange);
|
||||
|
||||
$thisTab.find("#domain").text(fromdb(jsonObj.domain)); //might be null
|
||||
$thisTab.find("#account").text(fromdb(jsonObj.account)); //might be null
|
||||
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
}
|
||||
|
||||
function directNetworkJsonToIpAllocationTab() {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
return;
|
||||
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
var $thisTab = $("#right_panel_content #direct_network_page #tab_content_ipallocation");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
$thisTab.find("#tab_spinning_wheel").show();
|
||||
|
||||
$.ajax({
|
||||
data: createURL("command=listVlanIpRanges&zoneid="+ jsonObj.zoneid + "&networkid="+jsonObj.id),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var items = json.listvlaniprangesresponse.vlaniprange;
|
||||
var $container = $thisTab.find("#tab_container").empty();
|
||||
var $template = $("#iprange_template");
|
||||
if(items != null && items.length > 0) {
|
||||
for(var i=0; i<items.length; i++) {
|
||||
var $newTemplate = $template.clone();
|
||||
directNetworkIprangeJsonToTemplate(items[i], $newTemplate);
|
||||
$container.append($newTemplate.show());
|
||||
}
|
||||
}
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function directNetworkIprangeJsonToTemplate(jsonObj, $template) {
|
||||
$template.attr("id", "directNetworkIprange_" + jsonObj.id);
|
||||
|
||||
var ipRange = getIpRange(fromdb(jsonObj.startip), fromdb(jsonObj.endip));
|
||||
$template.find("#grid_header_title").text(ipRange);
|
||||
|
||||
$template.find("#vlan").text(jsonObj.vlan)
|
||||
$template.find("#startip").text(fromdb(jsonObj.startip));
|
||||
$template.find("#endip").text(fromdb(jsonObj.endip));
|
||||
}
|
||||
//***** Direct Network (end) ******************************************************************************************************
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user