1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-29 18:50:08 +03:00

Bug #3973: Show 'all' in vdc list columns

This commit is contained in:
Carlos Martín 2015-09-14 12:50:26 +02:00
parent 057708778b
commit 2783c1cb11
2 changed files with 32 additions and 15 deletions

View File

@ -26,14 +26,14 @@ class OneVdcHelper < OpenNebulaHelper::OneHelper
"onevdc.yaml"
end
def id_list_size(list)
def id_list_size(list, resource)
case list
when NilClass
return 0
when Array
return list.size
when Hash
return 1
return list["#{resource}_ID"] == Vdc::ALL_RESOURCES ? 'ALL' : 1
end
end
@ -62,19 +62,19 @@ class OneVdcHelper < OpenNebulaHelper::OneHelper
end
column :CLUSTERS, "Number of Clusters", :size=>8 do |d|
@ext.id_list_size(d["CLUSTERS"]["CLUSTER"])
@ext.id_list_size(d["CLUSTERS"]["CLUSTER"], "CLUSTER")
end
column :HOSTS, "Number of Hosts", :size=>5 do |d|
@ext.id_list_size(d["HOSTS"]["HOST"])
@ext.id_list_size(d["HOSTS"]["HOST"], "HOST")
end
column :VNETS, "Number of Networks", :size=>5 do |d|
@ext.id_list_size(d["VNETS"]["VNET"])
@ext.id_list_size(d["VNETS"]["VNET"], "VNET")
end
column :DATASTORES, "Number of Datastores", :size=>10 do |d|
@ext.id_list_size(d["DATASTORES"]["DATASTORE"])
@ext.id_list_size(d["DATASTORES"]["DATASTORE"], "DATASTORE")
end
default :ID, :NAME, :GROUPS, :CLUSTERS, :HOSTS, :VNETS, :DATASTORES

View File

@ -15,6 +15,9 @@ define(function(require) {
var XML_ROOT = "VDC";
var TAB_NAME = require('./tabId');
var Utils = require('./utils/common');
var VDC_ALL_RESOURCES = Utils.VDC_ALL_RESOURCES;
/*
CONSTRUCTOR
*/
@ -79,26 +82,40 @@ define(function(require) {
var element = element_json[XML_ROOT];
var groupColumn = 0;
var gIds = element.GROUPS.ID;
if ($.isArray(gIds)){
groupColumn = gIds.length;
} else if (!$.isEmptyObject(gIds)){
groupColumn = 1;
}
return [
'<input class="check_item" type="checkbox" id="'+RESOURCE.toLowerCase()+'_' +
element.ID + '" name="selected_items" value="' +
element.ID + '"/>',
element.ID,
element.NAME,
_lengthOf(element.GROUPS.ID),
_lengthOf(element.CLUSTERS.CLUSTER),
_lengthOf(element.HOSTS.HOST),
_lengthOf(element.VNETS.VNET),
_lengthOf(element.DATASTORES.DATASTORE)
groupColumn,
_lengthOf(element.CLUSTERS.CLUSTER, "CLUSTER"),
_lengthOf(element.HOSTS.HOST, "HOST"),
_lengthOf(element.VNETS.VNET, "VNET"),
_lengthOf(element.DATASTORES.DATASTORE, "DATASTORE")
];
}
function _lengthOf(ids){
function _lengthOf(ids, res_name){
var l = 0;
if ($.isArray(ids))
if ($.isArray(ids)){
l = ids.length;
else if (!$.isEmptyObject(ids))
l = 1;
} else if (!$.isEmptyObject(ids)){
if (ids[res_name+"_ID"] == VDC_ALL_RESOURCES){
l = Locale.tr("All");
} else {
l = 1;
}
}
return l;
}