From 8285b50b65be5324f10db3531e992c6ca6f756e1 Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Tue, 14 Feb 2012 11:20:10 +0100 Subject: [PATCH] Feature #1076: support full configuration response in selfservice. Plus minor fixes in occi-server (cherry picked from commit f3fe56b383f78d0795ed72b565a0325b097ffc37) --- src/cloud/occi/lib/occi-server.rb | 4 +-- src/cloud/occi/lib/ui/public/js/occi.js | 25 ++++++++++++++++ .../lib/ui/public/js/plugins/configuration.js | 29 ++++++++++++------- 3 files changed, 46 insertions(+), 12 deletions(-) diff --git a/src/cloud/occi/lib/occi-server.rb b/src/cloud/occi/lib/occi-server.rb index 047fe55cad..bf7657fa91 100755 --- a/src/cloud/occi/lib/occi-server.rb +++ b/src/cloud/occi/lib/occi-server.rb @@ -317,8 +317,8 @@ get '/ui/config' do config = "" config << " #{session[:lang]}" - congig << " #{wss}" - congig << " #{vnc}" + config << " #{wss}" + config << " #{vnc}" config << "" return [200, config] diff --git a/src/cloud/occi/lib/ui/public/js/occi.js b/src/cloud/occi/lib/ui/public/js/occi.js index 569a75e527..a818fe8008 100644 --- a/src/cloud/occi/lib/ui/public/js/occi.js +++ b/src/cloud/occi/lib/ui/public/js/occi.js @@ -342,6 +342,31 @@ var OCCI = { } }, + "Config": { + "resource": "CONFIG", + + "list": function(params){ + var callback = params.success; + var callback_error = params.error; + + var resource = OCCI.Config.resource; + var request = OCCI.Helper.request(resource,"list"); + + $.ajax({ + url: "ui/config", + type: "GET", + dataType: "xml ONEjson", + success: function(response){ + return callback ? callback(request, response) : null; + }, + error: function(response){ + return callback_error ? + callback_error(request, OCCI.Error(response)) : null; + } + }); + } + }, + "Network": { "resource": "NETWORK", diff --git a/src/cloud/occi/lib/ui/public/js/plugins/configuration.js b/src/cloud/occi/lib/ui/public/js/plugins/configuration.js index de32d3e084..900e21e32a 100644 --- a/src/cloud/occi/lib/ui/public/js/plugins/configuration.js +++ b/src/cloud/occi/lib/ui/public/js/plugins/configuration.js @@ -41,14 +41,33 @@ var config_tab_content = \ '; +var config_actions = { + "Config.list" : { + type : 'list', + call : OCCI.Config.list, + callback : updateConfig, + error : onError + }, +}; + var config_tab = { title: tr("Configuration"), content: config_tab_content } +Sunstone.addActions(config_actions); Sunstone.addMainTab('config_tab',config_tab); +function updateConfig(request, response){ + var config = response; + //These two variables defined in compute.js + vnc_enable = config['VNC'] == 'true' || config['VNC'] == 'yes' ? true : false; + use_wss = config['WSS'] == 'true' || config['WSS'] == 'yes'? true : false; +}; + $(document).ready(function(){ + Sunstone.runAction('Config.list'); + $('#li_config_tab').click(function(){ hideDialog(); }); @@ -64,14 +83,4 @@ $(document).ready(function(){ //Vendor customization, change small logo $('div#logo img').attr('src',logo_small); - - $.get('ui/config/vnc',function(response){ - if (response == "true" || response == "yes") - vnc_enable=true; //defined in compute.js - }); - - $.get('ui/config/wss', function(response){ - if (response == "true" || response == "yes") - use_wss=true; //defined in compute.js - }); }); \ No newline at end of file