diff --git a/src/sunstone/models/OpenNebulaJSON/MarketPlaceAppJSON.rb b/src/sunstone/models/OpenNebulaJSON/MarketPlaceAppJSON.rb index 7304bd60ea..2fa2f4bedc 100644 --- a/src/sunstone/models/OpenNebulaJSON/MarketPlaceAppJSON.rb +++ b/src/sunstone/models/OpenNebulaJSON/MarketPlaceAppJSON.rb @@ -145,9 +145,6 @@ module OpenNebulaJSON if error_code == -1 if (params['IMPORT_ALL'] == 'yes') ids_images.each do |id| - - puts id - app = MarketPlaceApp.new_with_id(id, @client) app.info @@ -215,6 +212,13 @@ module OpenNebulaJSON } end + if rc[:service_template] + response['SERVICE_TEMPLATE'] = [] + rc[:service_template].each { |servicetemplate_id| + response['SERVICE_TEMPLATE'] << {:ID => servicetemplate_id} + } + end + return response end end diff --git a/src/sunstone/public/app/tabs/marketplaceapps-tab/actions.js b/src/sunstone/public/app/tabs/marketplaceapps-tab/actions.js index 7fc8fd3735..76449e4eb3 100644 --- a/src/sunstone/public/app/tabs/marketplaceapps-tab/actions.js +++ b/src/sunstone/public/app/tabs/marketplaceapps-tab/actions.js @@ -99,9 +99,22 @@ define(function(require) { }); }; + if (response['SERVICE_TEMPLATE'] !== undefined) { + $.each(response['SERVICE_TEMPLATE'], function(i, serviceTemplate) { + if (serviceTemplate.error != undefined) { + Notifier.notifyError(serviceTemplate.error.message); + } else if (serviceTemplate.ID != -1) { + Notifier.notifyCustom(Locale.tr("Service Template created"), + Navigation.link(" ID: " + serviceTemplate.ID, "oneflow-templates-tab", serviceTemplate.ID), + false); + } + }); + }; + Sunstone.hideFormPanel(TAB_ID); OpenNebulaAction.clear_cache("IMAGE"); OpenNebulaAction.clear_cache("VMTEMPLATE"); + OpenNebulaAction.clear_cache("SERVICE_TEMPLATE"); }, elements: function(opts) { return Sunstone.getDataTable(TAB_ID).elements(opts); diff --git a/src/sunstone/public/app/tabs/marketplaceapps-tab/form-panels/create.js b/src/sunstone/public/app/tabs/marketplaceapps-tab/form-panels/create.js index c522bbbbd0..18030cf098 100644 --- a/src/sunstone/public/app/tabs/marketplaceapps-tab/form-panels/create.js +++ b/src/sunstone/public/app/tabs/marketplaceapps-tab/form-panels/create.js @@ -32,6 +32,7 @@ define(function(require) { var Config = require("sunstone-config"); var WizardFields = require("utils/wizard-fields"); var OpenNebula = require("opennebula"); + var OpenNebulaAction = require("opennebula/action"); /* TEMPLATES @@ -188,7 +189,6 @@ define(function(require) { function _onShow(context) { this.imagesTable.resetResourceTableSelect(); - this.servicesTable.resetResourceTableSelect(); this.templatesTable.resetResourceTableSelect(); this.vmsTable.resetResourceTableSelect(); this.marketPlacesTable.resetResourceTableSelect(); @@ -351,6 +351,16 @@ define(function(require) { removeAttr("required"). removeAttr("wizard_field"); + var success_func = function (){ + $("#serviceMarketPlaceError").hide(); + }; + + var error_func = function (){ + $("#serviceMarketPlaceError").show(); + }; + + OpenNebulaAction.list({options: undefined, success: success_func, error: error_func}, "DOCUMENT", "service_template"); + $('#importAllCheckBox',context).show(); $('#servicesTableHTML', context).show(); diff --git a/src/sunstone/public/app/tabs/marketplaceapps-tab/form-panels/create/wizard.hbs b/src/sunstone/public/app/tabs/marketplaceapps-tab/form-panels/create/wizard.hbs index 9f74d9f3bd..e1677d54ef 100644 --- a/src/sunstone/public/app/tabs/marketplaceapps-tab/form-panels/create/wizard.hbs +++ b/src/sunstone/public/app/tabs/marketplaceapps-tab/form-panels/create/wizard.hbs @@ -60,14 +60,14 @@ -