diff --git a/src/sunstone/public/app/tabs/vms-tab/hooks/state.js b/src/sunstone/public/app/tabs/vms-tab/hooks/state.js index 82ceaeabae..bc60b8ea0c 100644 --- a/src/sunstone/public/app/tabs/vms-tab/hooks/state.js +++ b/src/sunstone/public/app/tabs/vms-tab/hooks/state.js @@ -53,8 +53,14 @@ define(function(require) { } else { $(".spice-sunstone-info").hide(); } - - if (config["federation_mode"] == "SLAVE") { + if(config && + config["system_config"] && + config["system_config"]["allow_vnc_federation"] && + config["system_config"]["allow_vnc_federation"] === 'no' && + config["id_own_federation"] && + config["zone_id"] && + config["id_own_federation"] !== config["zone_id"]) + { $(".vnc-sunstone-info").hide(); } } diff --git a/src/sunstone/public/app/tabs/vms-tab/utils/datatable-common.js b/src/sunstone/public/app/tabs/vms-tab/utils/datatable-common.js index 02896a6462..5f28b3ff6e 100644 --- a/src/sunstone/public/app/tabs/vms-tab/utils/datatable-common.js +++ b/src/sunstone/public/app/tabs/vms-tab/utils/datatable-common.js @@ -70,7 +70,14 @@ define(function(require) { } else { vncIcon = ''; } - if (config["federation_mode"] == "SLAVE") { + if(config && + config["system_config"] && + config["system_config"]["allow_vnc_federation"] && + config["system_config"]["allow_vnc_federation"] === 'no' && + config["id_own_federation"] && + config["zone_id"] && + config["id_own_federation"] !== config["zone_id"]) + { vncIcon = ''; } diff --git a/src/sunstone/sunstone-server.rb b/src/sunstone/sunstone-server.rb index 47ee23fc2b..47d87c039c 100755 --- a/src/sunstone/sunstone-server.rb +++ b/src/sunstone/sunstone-server.rb @@ -392,9 +392,8 @@ helpers do zone.info session[:zone_name] = zone.name session[:zone_id] = zone.id - session[:federation_mode] = rc['FEDERATION/MODE'].upcase - + session[:id_own_federation] = rc['FEDERATION/ZONE_ID'] session[:mode] = $conf[:mode] return [204, ""] diff --git a/src/sunstone/views/index.erb b/src/sunstone/views/index.erb index 7efe2a3c59..ff3c11c2f4 100644 --- a/src/sunstone/views/index.erb +++ b/src/sunstone/views/index.erb @@ -44,6 +44,7 @@ 'vnc_request_password' : <%= $conf[:vnc_request_password] || false %>, 'vnc_proxy_port' : '<%= $vnc.proxy_port %>', 'vnc_client_port' : '<%= $conf[:vnc_client_port] %>', + 'allow_vnc_federation' : '<%= (!$conf[:allow_vnc_federation].nil?)? $conf[:allow_vnc_federation] : "no" %>', 'max_upload_file_size' : <%= $conf[:max_upload_file_size] ? $conf[:max_upload_file_size] : "undefined" %> }, 'view' : view, @@ -56,7 +57,8 @@ 'zone_name' : '<%= session[:zone_name] %>', 'zone_id' : '<%= session[:zone_id] %>', 'federation_mode' : '<%= session[:federation_mode] %>', - 'vm_logos' : <%= logos_conf.to_json %>, + 'id_own_federation' : '<%= session[:id_own_federation] %>', + 'vm_logos' : <%= logos_conf.to_json %>, 'oned_conf' : <%= oned_conf.to_json %>, 'support' : <%= support.to_json %>, 'upgrade' : <%= upgrade.to_json %>,