diff --git a/src/sunstone/public/app/tabs/oneflow-templates-tab/actions.js b/src/sunstone/public/app/tabs/oneflow-templates-tab/actions.js index d03863905c..2e5abab9f1 100644 --- a/src/sunstone/public/app/tabs/oneflow-templates-tab/actions.js +++ b/src/sunstone/public/app/tabs/oneflow-templates-tab/actions.js @@ -35,7 +35,6 @@ define(function(require) { var _actions = { "ServiceTemplate.create" : _commonActions.create(CREATE_DIALOG_ID), - "ServiceTemplate.create_dialog" : _commonActions.showCreate(CREATE_DIALOG_ID), "ServiceTemplate.show" : _commonActions.show(), "ServiceTemplate.refresh" : _commonActions.refresh(), "ServiceTemplate.delete" : _commonActions.del(), @@ -46,6 +45,14 @@ define(function(require) { "ServiceTemplate.update" : _commonActions.update(), "ServiceTemplate.update_dialog" : _commonActions.checkAndShowUpdate(), + "ServiceTemplate.create_dialog" : { + type: "custom", + call: function() { + Sunstone.runAction("Network.list"); + Sunstone.runAction("VNTemplate.list"); + Sunstone.showFormPanel(TAB_ID, CREATE_DIALOG_ID, "create"); + } + }, "ServiceTemplate.show_to_update" : { type: "single", call: function(params) { diff --git a/src/sunstone/public/app/tabs/oneflow-templates-tab/form-panels/create.js b/src/sunstone/public/app/tabs/oneflow-templates-tab/form-panels/create.js index 1edd6abc56..aac5daae90 100644 --- a/src/sunstone/public/app/tabs/oneflow-templates-tab/form-panels/create.js +++ b/src/sunstone/public/app/tabs/oneflow-templates-tab/form-panels/create.js @@ -611,8 +611,17 @@ define(function(require) { function _get_networks() { var networks = OpenNebulaAction.cache("VNET"); + if (networks === undefined) { + Sunstone.runAction("Network.list"); + networks = OpenNebulaAction.cache("VNET"); + } networks = networks ? networks.data : []; + var vntemplates = OpenNebulaAction.cache("VNTEMPLATE"); + if (vntemplates === undefined) { + Sunstone.runAction("VNTemplate.list"); + vntemplates = OpenNebulaAction.cache("VNTEMPLATE"); + } vntemplates = vntemplates ? vntemplates.data : []; // Get networks list