You can finally select multiple dedicated networks.

This commit is contained in:
will 2010-12-06 18:51:11 -08:00
parent 20b677be10
commit 9cc7766948
2 changed files with 106 additions and 30 deletions

View File

@ -324,6 +324,33 @@
<!--Routers tab (end)-->
</div>
<!-- VM detail panel (end) -->
<!-- VM Network Template (begin) -->
<div class="vmpopup_offeringbox" id="wizard_network_direct_template" style="display:none">
<input type="checkbox" name="network_direct_checkbox" class="radio" id="network_direct_checkbox" />
<label class="label" id="network_direct_name">
</label>
<div class="vmpopup_offdescriptionbox">
<div class="vmpopup_offdescriptionbox_top">
</div>
<div class="vmpopup_offdescriptionbox_bot">
<p id="network_direct_desc">
A virtual private network that is fronted by a virtual router. An optional guest CIDR can be specified.
</p>
</div>
</div>
</div>
<!-- VM Network Template (end) -->
<!-- VM Network Review Template (begin) -->
<div class="vmpopup_reviewbox" id="wizard_network_direct_review_template" style="display:none">
<div class="vmopopup_reviewtextbox">
<div class="vmpopup_reviewtick">
</div>
<div class="vmopopup_review_label" id="wizard_review_network_label"></div>
<span id="wizard_review_network_selected"></span>
</div>
</div>
<!-- VM Network Review Template (end) -->
<!-- VM wizard (begin)-->
<div id="vm_popup" class="vmpopup_container" style="display: none">
<div id="step1" style="display: block;">
@ -635,6 +662,7 @@
</div>
</div>
</div>
<div id="network_direct_container"></div>
<!--
<div class="vmpopup_offeringbox">
<input type="radio" name="radiogroup" class="radio" selected />
@ -728,6 +756,29 @@
<h3>
</h3>
<div class="vmpopup_offeringpanel" style="margin-top: 10px;">
<div class="vmpopup_reviewbox odd">
<div class="vmopopup_reviewtextbox">
<div class="vmpopup_reviewtick">
</div>
<div class="vmopopup_review_label">
Name (optional):
</div>
<input class="text" type="text" id="wizard_vm_name" />
<div id="wizard_vm_name_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
</div>
</div>
</div>
<div class="vmpopup_reviewbox even">
<div class="vmopopup_reviewtextbox">
<div class="vmpopup_reviewtick">
</div>
<div class="vmopopup_review_label">
Group (optional):</div>
<input class="text" type="text" id="wizard_vm_group" />
<div id="wizard_vm_group_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
</div>
</div>
</div>
<div class="vmpopup_reviewbox odd">
<div class="vmopopup_reviewtextbox">
<div class="vmpopup_reviewtick">
@ -780,33 +831,11 @@
<div class="vmpopup_reviewtick">
</div>
<div class="vmopopup_review_label">
Network:</div>
Network 1:</div>
<span id="wizard_review_network"></span>
</div>
</div>
<div class="vmpopup_reviewbox odd">
<div class="vmopopup_reviewtextbox">
<div class="vmpopup_reviewtick">
</div>
<div class="vmopopup_review_label">
Name (optional):
</div>
<input class="text" type="text" id="wizard_vm_name" />
<div id="wizard_vm_name_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
</div>
</div>
</div>
<div class="vmpopup_reviewbox even">
<div class="vmopopup_reviewtextbox">
<div class="vmpopup_reviewtick">
</div>
<div class="vmopopup_review_label">
Group (optional):</div>
<input class="text" type="text" id="wizard_vm_group" />
<div id="wizard_vm_group_errormsg" class="dialog_formcontent_errormsg" style="display: none;">
</div>
</div>
</div>
<div id="wizard_review_direct_network_container"></div>
</div>
</div>
<div class="vmpopup_navigationpanel">

View File

@ -828,10 +828,9 @@ function initVMWizard() {
var diskOfferingName = $diskOfferingElement.find("#name").text();
if(checkedRadioButton.parent().attr("id") == "vm_popup_disk_offering_template_custom")
diskOfferingName += (" (Disk Size: " + $diskOfferingElement.find("#custom_disk_size").val() + " MB)");
$thisPopup.find("#wizard_review_disk_offering").text(diskOfferingName);
}
if (currentStepInVmPopup == 4) { //network
$thisPopup.find("#wizard_review_disk_offering").text(diskOfferingName);
//Setup Networking before showing it
// Setup networks
// hardcoded text for now
var networkName = "Virtual Network";
@ -852,6 +851,7 @@ function initVMWizard() {
}
var $virtualNetworkElement = $("#vm_popup #network_virtual_container");
// Setup Virtual Networks
if (virtualNetwork == null) {
$.ajax({
data: createURL("command=listNetworkOfferings"),
@ -882,9 +882,50 @@ function initVMWizard() {
//$virtualNetworkElement.find("#network_virtual_name").text(virtualNetwork.name);
//$virtualNetworkElement.find("#network_virtual_desc").text(virtualNetwork.displaytext);
}
// Setup Direct Networks
var $networkDirectTemplate = $("#wizard_network_direct_template");
var $networkDirectContainer = $("#network_direct_container").empty();
if (networks != null && networks.length > 0) {
for (var i = 0; i < networks.length; i++) {
if (networks[i].type != 'Direct') {
continue;
}
var $directNetworkElement = $networkDirectTemplate.clone().attr("id", "direct"+networks[i].id);
$directNetworkElement.find("#network_direct_checkbox").data("jsonObj", networks[i]);
$directNetworkElement.find("#network_direct_name").text(networks[i].name);
$directNetworkElement.find("#network_direct_desc").text(networks[i].displaytext);
$networkDirectContainer.append($directNetworkElement.show());
}
}
}
});
$thisPopup.find("#wizard_review_network").text(networkName);
$thisPopup.find("#wizard_review_network").text(networkName);
}
if (currentStepInVmPopup == 4) { //network
var $selectedDirectNetworks = $thisPopup.find("input:checkbox[name=network_direct_checkbox]:checked");
var $reviewNetworkContainer = $("#wizard_review_direct_network_container").empty();
if ($selectedDirectNetworks != null) {
var networkIds = [];
var $reviewNetworkTemplate = $("#wizard_network_direct_review_template");
for (var i = 0; i < $selectedDirectNetworks.length; i++) {
var json = $selectedDirectNetworks.data("jsonObj")
networkIds.push(","+json.id);
$reviewNetworkElement = $reviewNetworkTemplate.clone().attr("id", json.id);
if (i % 2 == 0) {
$reviewNetworkTemplate.addClass("odd");
} else {
$reviewNetworkTemplate.addClass("even");
}
$reviewNetworkElement.find("#wizard_review_network_label").text("Network " + (i+2) + ":");
$reviewNetworkElement.find("#wizard_review_network_selected").text(json.name);
$reviewNetworkContainer.append($reviewNetworkElement.show());
}
$reviewNetworkContainer.data("directNetworkIds", networkIds.join(""));
} else {
$reviewNetworkContainer.data("directNetworkIds", null);
}
}
if (currentStepInVmPopup == 5) { //last step
@ -902,7 +943,13 @@ function initVMWizard() {
moreCriteria.push("&hypervisor="+$selectedVmWizardTemplate.data("hypervisor"));
moreCriteria.push("&templateId="+$selectedVmWizardTemplate.data("templateId"));
moreCriteria.push("&serviceOfferingId="+$thisPopup.find("input:radio[name=service_offering_radio]:checked").val());
moreCriteria.push("&networkIds="+$thisPopup.find("#network_virtual_container").data("id"));
var networkIds = $thisPopup.find("#network_virtual_container").data("id");
var directNetworkIds = $thisPopup.find("#wizard_review_direct_network_container").data("directNetworkIds");
if (directNetworkIds != null) {
networkIds += directNetworkIds;
}
moreCriteria.push("&networkIds="+networkIds);
var diskOfferingId, $diskOfferingElement;
if ($thisPopup.find("#wiz_blank").hasClass("rev_wizmid_selectedtempbut")) { //ISO