diff --git a/ui/jsp/instance.jsp b/ui/jsp/instance.jsp
index 0ee26a88df0..f2fea01e732 100644
--- a/ui/jsp/instance.jsp
+++ b/ui/jsp/instance.jsp
@@ -1456,7 +1456,14 @@ dictionary = {
-
+
+
+
+
+
+
+
diff --git a/ui/scripts/cloud.core.instance.js b/ui/scripts/cloud.core.instance.js
index 725c6b480da..00affbef8c0 100644
--- a/ui/scripts/cloud.core.instance.js
+++ b/ui/scripts/cloud.core.instance.js
@@ -2524,23 +2524,40 @@ function doCreateTemplateFromVM($actionLink, $detailsTab, $midmenuItem1) {
$dialogCreateTemplate
.dialog('option', 'buttons', {
"Create": function() {
- var thisDialog = $(this);
- thisDialog.dialog("close");
-
+ var $thisDialog = $(this);
+
// validate values
var isValid = true;
- isValid &= validateString("Name", thisDialog.find("#create_template_name"), thisDialog.find("#create_template_name_errormsg"));
- isValid &= validateString("Display Text", thisDialog.find("#create_template_desc"), thisDialog.find("#create_template_desc_errormsg"));
- if (!isValid) return;
+ isValid &= validateString("Name", $thisDialog.find("#create_template_name"), $thisDialog.find("#create_template_name_errormsg"));
+ isValid &= validateString("Display Text", $thisDialog.find("#create_template_desc"), $thisDialog.find("#create_template_desc_errormsg"));
+ isValid &= validateString("Image Directory", $thisDialog.find("#image_directory"), $thisDialog.find("#image_directory_errormsg"), false); //image directory is required when creating template from VM whose hypervisor is BareMetal
+ if (!isValid)
+ return;
- var name = trim(thisDialog.find("#create_template_name").val());
- var desc = trim(thisDialog.find("#create_template_desc").val());
- var osType = thisDialog.find("#create_template_os_type").val();
- var isPublic = thisDialog.find("#create_template_public").val();
- var password = thisDialog.find("#create_template_password").val();
+ $thisDialog.dialog("close");
- var id = $midmenuItem1.data("jsonObj").id;
- var apiCommand = "command=createTemplate&virtualmachineid="+id+"&name="+todb(name)+"&displayText="+todb(desc)+"&osTypeId="+osType+"&isPublic="+isPublic+"&passwordEnabled="+password;
+ var array1 = [];
+
+ var name = $thisDialog.find("#create_template_name").val();
+ array1.push("&name="+todb(name));
+
+ var desc = $thisDialog.find("#create_template_desc").val();
+ array1.push("&displayText="+todb(desc));
+
+ var osType = $thisDialog.find("#create_template_os_type").val();
+ array1.push("&osTypeId="+osType);
+
+ var isPublic = $thisDialog.find("#create_template_public").val();
+ array1.push("&isPublic="+isPublic);
+
+ var password = $thisDialog.find("#create_template_password").val();
+ array1.push("&passwordEnabled="+password);
+
+ var imageDirectory = $thisDialog.find("#image_directory").val();
+ array1.push("&url="+todb(imageDirectory));
+
+ var id = $midmenuItem1.data("jsonObj").id;
+ var apiCommand = "command=createTemplate&virtualmachineid="+id+array1.join("");
doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
},
"Cancel": function() {