diff --git a/ui/plugins/cloudian/cloudian.js b/ui/plugins/cloudian/cloudian.js index d154528ddec..7bef5278f4d 100644 --- a/ui/plugins/cloudian/cloudian.js +++ b/ui/plugins/cloudian/cloudian.js @@ -18,28 +18,6 @@ (function (cloudStack) { cloudStack.plugins.cloudian = function(plugin) { - var openInNewTab = function(url, data) { - var form = document.createElement("form"); - form.action = url; - form.method = 'POST'; - form.target = '_blank'; - form.style.display = 'none'; - console.log(url); - console.log(data); - if (data) { - for (var key in data) { - var input = document.createElement("input"); - input.type = 'hidden'; - input.name = key; - input.value = data[key]; - form.appendChild(input); - } - } - document.body.appendChild(form); - form.submit(); - document.body.removeChild(form); - }; - plugin.ui.addSection({ id: 'cloudian', title: 'Cloudian Storage', @@ -55,6 +33,7 @@ }); return pluginEnabled; }, + show: function() { var description = 'Cloudian management console should open in another window.'; $.ajax({ @@ -64,12 +43,15 @@ var response = json.cloudianssologinresponse.cloudianssologin; var cmcWindow = window.open(response.url, "CMCWindow"); cmcWindow.focus(); - //var url = response.url.split("?")[0]; - //var data = {}; - //$.each(response.url.split("?")[1].split("&"), function (idx, value) { - // data[value.split('=')[0]] = decodeURIComponent(value.split('=')[1]); - //}) - //openInNewTab(url, data); + + var cloudianLogoutUrl = response.url.split("ssosecurelogin.htm")[0] + "logout.htm?"; + onLogoutCallback = function() { + g_loginResponse = null; + var csUrl = window.location.href; + var redirect = "redirect=" + encodeURIComponent(csUrl); + window.location.replace(cloudianLogoutUrl + redirect); + return false; + }; }, error: function(data) { description = 'Single-Sign-On failed for Cloudian management console.';