diff --git a/src/sunstone/models/OpenNebulaJSON/VirtualRouterJSON.rb b/src/sunstone/models/OpenNebulaJSON/VirtualRouterJSON.rb index c9c166f97d..e496549e69 100644 --- a/src/sunstone/models/OpenNebulaJSON/VirtualRouterJSON.rb +++ b/src/sunstone/models/OpenNebulaJSON/VirtualRouterJSON.rb @@ -73,7 +73,11 @@ module OpenNebulaJSON end def update(params=Hash.new) - super(params['template_raw']) + if !params['append'].nil? + super(params['template_raw'], params['append']) + else + super(params['template_raw']) + end end def chown(params=Hash.new) diff --git a/src/sunstone/public/app/opennebula/virtualrouter.js b/src/sunstone/public/app/opennebula/virtualrouter.js index 8d40f97c03..4ed85337e4 100644 --- a/src/sunstone/public/app/opennebula/virtualrouter.js +++ b/src/sunstone/public/app/opennebula/virtualrouter.js @@ -52,6 +52,10 @@ define(function(require) { var action_obj = {"template_raw" : params.data.extra_param}; OpenNebulaAction.simple_action(params, RESOURCE, "update", action_obj); }, + "append": function(params) { + var action_obj = {"template_raw" : params.data.extra_param, append : true}; + OpenNebulaAction.simple_action(params, RESOURCE, "update", action_obj); + }, "rename" : function(params) { var action_obj = params.data.extra_param; OpenNebulaAction.simple_action(params, RESOURCE, "rename", action_obj); diff --git a/src/sunstone/public/app/tabs/vrouters-tab/datatable.js b/src/sunstone/public/app/tabs/vrouters-tab/datatable.js index 6b5b428325..7430baec11 100644 --- a/src/sunstone/public/app/tabs/vrouters-tab/datatable.js +++ b/src/sunstone/public/app/tabs/vrouters-tab/datatable.js @@ -22,6 +22,7 @@ define(function(require) { var TabDataTable = require('utils/tab-datatable'); var SunstoneConfig = require('sunstone-config'); var Locale = require('utils/locale'); + var LabelsUtils = require('utils/labels/utils'); /* CONSTANTS @@ -30,6 +31,8 @@ define(function(require) { var RESOURCE = "VirtualRouter"; var XML_ROOT = "VROUTER"; var TAB_NAME = require('./tabId'); + var LABELS_COLUMN = 5; + var TEMPLATE_ATTR = 'TEMPLATE'; /* CONSTRUCTOR @@ -41,6 +44,7 @@ define(function(require) { this.dataTableId = dataTableId; this.resource = RESOURCE; this.xmlRoot = XML_ROOT; + this.labelsColumn = LABELS_COLUMN; this.dataTableOptions = { "bAutoWidth": false, @@ -58,7 +62,8 @@ define(function(require) { Locale.tr("ID"), Locale.tr("Owner"), Locale.tr("Group"), - Locale.tr("Name") + Locale.tr("Name"), + Locale.tr("Labels") ]; this.selectOptions = { @@ -70,6 +75,8 @@ define(function(require) { "you_selected_multiple": Locale.tr("You selected the following virtual routers:") }; + this.labels = []; + TabDataTable.call(this); } @@ -93,7 +100,8 @@ define(function(require) { element.ID, element.UNAME, element.GNAME, - element.NAME + element.NAME, + (LabelsUtils.labelsStr(element[TEMPLATE_ATTR])||'') ]; } });