From 7bc74bc4425ed660e2df978f0a715781159b7951 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Tue, 26 Sep 2017 11:10:42 +0530 Subject: [PATCH] cloudian: major refactorings, add logout hook on loading Signed-off-by: Rohit Yadav --- .../{GroupInfo.java => CloudianGroup.java} | 0 .../{UserInfo.java => CloudianUser.java} | 0 .../response/CloudianEnabledResponse.java | 21 ++++++++++++++++++ ui/plugins/cloudian/cloudian.js | 22 ++++++++++--------- 4 files changed, 33 insertions(+), 10 deletions(-) rename plugins/integrations/cloudian/src/com/cloudian/client/{GroupInfo.java => CloudianGroup.java} (100%) rename plugins/integrations/cloudian/src/com/cloudian/client/{UserInfo.java => CloudianUser.java} (100%) create mode 100644 plugins/integrations/cloudian/src/com/cloudian/cloudstack/response/CloudianEnabledResponse.java diff --git a/plugins/integrations/cloudian/src/com/cloudian/client/GroupInfo.java b/plugins/integrations/cloudian/src/com/cloudian/client/CloudianGroup.java similarity index 100% rename from plugins/integrations/cloudian/src/com/cloudian/client/GroupInfo.java rename to plugins/integrations/cloudian/src/com/cloudian/client/CloudianGroup.java diff --git a/plugins/integrations/cloudian/src/com/cloudian/client/UserInfo.java b/plugins/integrations/cloudian/src/com/cloudian/client/CloudianUser.java similarity index 100% rename from plugins/integrations/cloudian/src/com/cloudian/client/UserInfo.java rename to plugins/integrations/cloudian/src/com/cloudian/client/CloudianUser.java diff --git a/plugins/integrations/cloudian/src/com/cloudian/cloudstack/response/CloudianEnabledResponse.java b/plugins/integrations/cloudian/src/com/cloudian/cloudstack/response/CloudianEnabledResponse.java new file mode 100644 index 00000000000..6c630039f38 --- /dev/null +++ b/plugins/integrations/cloudian/src/com/cloudian/cloudstack/response/CloudianEnabledResponse.java @@ -0,0 +1,21 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package com.cloudian.cloudstack.response; + +public class CloudianEnabledResponse { +} diff --git a/ui/plugins/cloudian/cloudian.js b/ui/plugins/cloudian/cloudian.js index 7bef5278f4d..7935ae952e4 100644 --- a/ui/plugins/cloudian/cloudian.js +++ b/ui/plugins/cloudian/cloudian.js @@ -28,7 +28,18 @@ url: createURL('cloudianIsEnabled'), async: false, success: function(json) { - pluginEnabled = (json.cloudianisenabledresponse.success == 'true'); + var response = json.cloudianisenabledresponse.cloudianisenabled; + pluginEnabled = (response.enabled == 'true'); + if (pluginEnabled) { + var cloudianLogoutUrl = response.url + "logout.htm?"; + onLogoutCallback = function() { + g_loginResponse = null; + var csUrl = window.location.href; + var redirect = "redirect=" + encodeURIComponent(csUrl); + window.location.replace(cloudianLogoutUrl + redirect); + return false; + }; + } } }); return pluginEnabled; @@ -43,15 +54,6 @@ var response = json.cloudianssologinresponse.cloudianssologin; var cmcWindow = window.open(response.url, "CMCWindow"); cmcWindow.focus(); - - 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.';