diff --git a/src/sunstone/models/OpenNebulaJSON/MarketPlaceJSON.rb b/src/sunstone/models/OpenNebulaJSON/MarketPlaceJSON.rb index ab169609f7..78300ba3ce 100644 --- a/src/sunstone/models/OpenNebulaJSON/MarketPlaceJSON.rb +++ b/src/sunstone/models/OpenNebulaJSON/MarketPlaceJSON.rb @@ -46,6 +46,8 @@ module OpenNebulaJSON when "chown" then self.chown(action_hash['params']) when "chmod" then self.chmod_octet(action_hash['params']) when "rename" then self.rename(action_hash['params']) + when "disable" then self.disable + when "enable" then self.enable else error_msg = "#{action_hash['perform']} action not " << " available for this resource" diff --git a/src/sunstone/public/app/opennebula/marketplace.js b/src/sunstone/public/app/opennebula/marketplace.js index e7386c424e..31091fc271 100644 --- a/src/sunstone/public/app/opennebula/marketplace.js +++ b/src/sunstone/public/app/opennebula/marketplace.js @@ -61,7 +61,13 @@ define(function(require) { }, "getName": function(id){ return OpenNebulaAction.getName(id, RESOURCE); - } + }, + "enable": function(params) { + OpenNebulaAction.simple_action(params, RESOURCE, "enable"); + }, + "disable": function(params) { + OpenNebulaAction.simple_action(params, RESOURCE, "disable"); + }, } return MarketPlace; diff --git a/src/sunstone/public/app/tabs/marketplaces-tab/actions.js b/src/sunstone/public/app/tabs/marketplaces-tab/actions.js index ef8991e69a..6f749a4023 100644 --- a/src/sunstone/public/app/tabs/marketplaces-tab/actions.js +++ b/src/sunstone/public/app/tabs/marketplaces-tab/actions.js @@ -44,7 +44,9 @@ define(function(require) { "MarketPlace.append_template" : _commonActions.appendTemplate(), "MarketPlace.update_dialog" : _commonActions.checkAndShowUpdate(), "MarketPlace.show_to_update" : _commonActions.showUpdate(CREATE_DIALOG_ID), - "MarketPlace.rename": _commonActions.singleAction('rename') + "MarketPlace.rename": _commonActions.singleAction('rename'), + "MarketPlace.enable" : _commonActions.multipleAction('enable'), + "MarketPlace.disable": _commonActions.multipleAction('disable'), } return _actions; diff --git a/src/sunstone/public/app/tabs/marketplaces-tab/buttons.js b/src/sunstone/public/app/tabs/marketplaces-tab/buttons.js index bc96b5ea22..152871b8dd 100644 --- a/src/sunstone/public/app/tabs/marketplaces-tab/buttons.js +++ b/src/sunstone/public/app/tabs/marketplaces-tab/buttons.js @@ -27,6 +27,16 @@ define(function(require) { type: "create_dialog", layout: "create" }, + "MarketPlace.enable" : { + type: "action", + text: Locale.tr("Enable"), + layout: "main" + }, + "MarketPlace.disable" : { + type: "action", + text: Locale.tr("Disable"), + layout: "main" + }, "MarketPlace.update_dialog" : { type: "action", layout: "main", diff --git a/src/sunstone/public/app/tabs/marketplaces-tab/panels/info.js b/src/sunstone/public/app/tabs/marketplaces-tab/panels/info.js index 6bea880184..5d1dcbdc21 100644 --- a/src/sunstone/public/app/tabs/marketplaces-tab/panels/info.js +++ b/src/sunstone/public/app/tabs/marketplaces-tab/panels/info.js @@ -39,6 +39,14 @@ define(function(require) { var PANEL_ID = require('./info/panelId'); var RESOURCE = "MarketPlace" + /* + STATES + */ + var STATES = { + 0: Locale.tr("Enabled"), + 1: Locale.tr("Disabled"), + } + /* CONSTRUCTOR */ @@ -74,7 +82,8 @@ define(function(require) { 'renameTrHTML': renameTrHTML, 'templateTableHTML': templateTableHTML, 'permissionsTableHTML': permissionsTableHTML, - 'capacityBar': capacityBar + 'capacityBar': capacityBar, + 'state': STATES[this.element.STATE] }); } diff --git a/src/sunstone/public/app/tabs/marketplaces-tab/panels/info/html.hbs b/src/sunstone/public/app/tabs/marketplaces-tab/panels/info/html.hbs index 86d26d921c..3316bc5223 100644 --- a/src/sunstone/public/app/tabs/marketplaces-tab/panels/info/html.hbs +++ b/src/sunstone/public/app/tabs/marketplaces-tab/panels/info/html.hbs @@ -37,6 +37,10 @@