diff --git a/src/sunstone/public/app/tabs/templates-tab/form-panels/instantiate.js b/src/sunstone/public/app/tabs/templates-tab/form-panels/instantiate.js
index fc739ed440..224b6e45c8 100644
--- a/src/sunstone/public/app/tabs/templates-tab/form-panels/instantiate.js
+++ b/src/sunstone/public/app/tabs/templates-tab/form-panels/instantiate.js
@@ -443,22 +443,8 @@ define(function(require) {
var idsLength = this.selected_nodes.length;
var idsDone = 0;
- $.each(this.selected_nodes, function(index, template_id) {
- OpenNebulaTemplate.show({
- data : {
- id: template_id,
- extended: false
- },
- timeout: true,
- success: function (request, template_json) {
- that.template_base_objects[template_json.VMTEMPLATE.ID] = template_json;
- }
- });
- });
-
templatesContext.html("");
$.each(this.selected_nodes, function(index, template_id) {
-
OpenNebulaTemplate.show({
data : {
id: template_id,
@@ -466,6 +452,7 @@ define(function(require) {
},
timeout: true,
success: function (request, template_json) {
+ that.template_base_objects[template_json.VMTEMPLATE.ID] = template_json;
that.template_objects.push(template_json);
var options = {
diff --git a/src/sunstone/public/app/tabs/vms-tab/form-panels/create.js b/src/sunstone/public/app/tabs/vms-tab/form-panels/create.js
index efa9075630..b3ca9d0fb0 100644
--- a/src/sunstone/public/app/tabs/vms-tab/form-panels/create.js
+++ b/src/sunstone/public/app/tabs/vms-tab/form-panels/create.js
@@ -70,37 +70,39 @@ define(function(require) {
$(".selectTemplateTable", context).html('
' + this.templatesTable.dataTableHTML + '
');
this.templatesTable.initialize();
this.templatesTable.idInput().on("change", function(){
- $(".nameContainer", context).show();
- $(".persistentContainer", context).show();
-
- var templatesContext = $(".list_of_templates", context);
- templatesContext.html("");
- templatesContext.show();
+ var template_id = $(this).val();
+ var showRestForm = template_id !== "";
- var template_id = $(this).val();
- if(template_id){
- that.setTemplateIds(context, [template_id]);
- var leasesThat = {};
- function FormPanel() {
- this.name = this.name;
- }
- Object.assign(leasesThat, that);
- leasesThat.resource = "vm";
- leasesThat.resourceId = template_id;
- if(
- OpenNebulaAction &&
- OpenNebulaAction.cache &&
- OpenNebulaAction.cache("VMTEMPLATE") &&
- OpenNebulaAction.cache("VMTEMPLATE").data &&
- OpenNebulaAction.cache("VMTEMPLATE").data[template_id] &&
- OpenNebulaAction.cache("VMTEMPLATE").data[template_id].VMTEMPLATE &&
- OpenNebulaAction.cache("VMTEMPLATE").data[template_id].VMTEMPLATE.TEMPLATE
- ){
- leasesThat.jsonTemplate = OpenNebulaAction.cache("VMTEMPLATE").data[template_id].VMTEMPLATE.TEMPLATE;
- }
- leasesThat.__proto__ = FormPanel.prototype;
- Leases.actions(leasesThat);
+ $(".nameContainer", context).toggle(showRestForm);
+ $(".persistentContainer", context).toggle(showRestForm);
+
+ var templatesContext = $(".list_of_templates", context);
+ templatesContext.html("");
+ templatesContext.toggle(showRestForm);
+
+ if(showRestForm) {
+ that.setTemplateIds(context, [template_id]);
+ var leasesThat = {};
+ function FormPanel() {
+ this.name = this.name;
}
+ Object.assign(leasesThat, that);
+ leasesThat.resource = "vm";
+ leasesThat.resourceId = template_id;
+ if(
+ OpenNebulaAction &&
+ OpenNebulaAction.cache &&
+ OpenNebulaAction.cache("VMTEMPLATE") &&
+ OpenNebulaAction.cache("VMTEMPLATE").data &&
+ OpenNebulaAction.cache("VMTEMPLATE").data[template_id] &&
+ OpenNebulaAction.cache("VMTEMPLATE").data[template_id].VMTEMPLATE &&
+ OpenNebulaAction.cache("VMTEMPLATE").data[template_id].VMTEMPLATE.TEMPLATE
+ ){
+ leasesThat.jsonTemplate = OpenNebulaAction.cache("VMTEMPLATE").data[template_id].VMTEMPLATE.TEMPLATE;
+ }
+ leasesThat.__proto__ = FormPanel.prototype;
+ Leases.actions(leasesThat);
+ }
});
Tips.setup(context);
}
diff --git a/src/sunstone/public/app/utils/tab-datatable.js b/src/sunstone/public/app/utils/tab-datatable.js
index 19da9a6d87..cb785ec148 100644
--- a/src/sunstone/public/app/utils/tab-datatable.js
+++ b/src/sunstone/public/app/utils/tab-datatable.js
@@ -1012,12 +1012,13 @@ define(function(require) {
$('tbody input.check_item', that.dataTable).prop('checked', false);
$('#' + that.dataTableId + '_search', section).val("").trigger("input");
+ $('#selected_resource_id_' + that.dataTableId, section).val("").trigger("change");
+ $('#selected_resource_name_' + that.dataTableId, section).text("").trigger("change").hide();
$('#refresh_button_' + that.dataTableId).click();
- $('#selected_resource_name_' + that.dataTableId, section).text("").hide();
-
$('#selected_resource_' + that.dataTableId, section).hide();
$('#select_resource_' + that.dataTableId, section).show();
+
}
// Returns an ID, or an array of IDs for that.selectOptions.multiple_choice