diff --git a/ui/jsp/template.jsp b/ui/jsp/template.jsp index 806024799fd..17d55120311 100644 --- a/ui/jsp/template.jsp +++ b/ui/jsp/template.jsp @@ -267,7 +267,14 @@ - + +
  • + + + +
  • diff --git a/ui/scripts/cloud.core.template.js b/ui/scripts/cloud.core.template.js index a807b9230dd..40011cc7885 100644 --- a/ui/scripts/cloud.core.template.js +++ b/ui/scripts/cloud.core.template.js @@ -178,12 +178,27 @@ function afterLoadTemplateJSP() { if(items != null && items.length > 0 ) { var diskOfferingField = $("#dialog_create_vm_from_template #disk_offering").empty(); diskOfferingField.append(""); - for(var i = 0; i < items.length; i++) - diskOfferingField.append(""); + for(var i = 0; i < items.length; i++) { + var $option = $(""); + $option.data("jsonObj", items[i]); + diskOfferingField.append($option); + } + $("#dialog_create_vm_from_template").find("#disk_offering").change(); } } }); + + $("#dialog_create_vm_from_template").find("#disk_offering").bind("change", function(event) { + var jsonObj = $(this).find("option:selected").data("jsonObj"); + if(jsonObj != null && jsonObj.isCustomized == true) { //jsonObj is null when "" is selected + $("#dialog_create_vm_from_template").find("#size_container").show(); + } + else { + $("#dialog_create_vm_from_template").find("#size_container").hide(); + $("#dialog_create_vm_from_template").find("#size").val(""); + } + }); //initialize dialog box *** initDialog("dialog_confirmation_delete_template_all_zones"); @@ -575,13 +590,17 @@ function doCreateVMFromTemplate($actionLink, $detailsTab, $midmenuItem1) { .dialog('option', 'buttons', { "Create": function() { var thisDialog = $(this); - thisDialog.dialog("close"); - + // validate values var isValid = true; isValid &= validateString("Name", thisDialog.find("#name"), thisDialog.find("#name_errormsg"), true); - isValid &= validateString("Group", thisDialog.find("#group"), thisDialog.find("#group_errormsg"), true); - if (!isValid) return; + isValid &= validateString("Group", thisDialog.find("#group"), thisDialog.find("#group_errormsg"), true); + if(thisDialog.find("#size_container").css("display") != "none") + isValid &= validateNumber("Size", thisDialog.find("#size"), thisDialog.find("#size_errormsg")); + if (!isValid) + return; + + thisDialog.dialog("close"); var array1 = []; var name = trim(thisDialog.find("#name").val()); @@ -597,6 +616,11 @@ function doCreateVMFromTemplate($actionLink, $detailsTab, $midmenuItem1) { if(diskOfferingId != null && diskOfferingId.length > 0) array1.push("&diskOfferingId="+diskOfferingId); + if(thisDialog.find("#size_container").css("display") != "none") { + var size = thisDialog.find("#size").val() + array1.push("&size="+size); + } + var apiCommand = "command=deployVirtualMachine&zoneId="+zoneId+"&templateId="+id+array1.join(""); doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); },