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