This is an automated email from the ASF dual-hosted git repository.

bhaisaab pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/master by this push:
     new f1c01a5  CLOUDSTACK-10101: Present the full domain name when listing 
user's domains in SAML2 plugin (#2280)
f1c01a5 is described below

commit f1c01a5fa228140273e412c5a0626d9adf729a15
Author: Gabriel Beims Bräscher <[email protected]>
AuthorDate: Tue Oct 10 01:42:03 2017 -0300

    CLOUDSTACK-10101: Present the full domain name when listing user's domains 
in SAML2 plugin (#2280)
    
    This commit is related to the Saml2 user authentication plugin.
    
    The user can list its domains. His/Her domains are presented as the
    following example:
    username/subdomainA
    username/subdomainB
    
    However, if a user has two subdomains of the same name Dom1/subdomainA
    and Dom2/subdomainA, the list is presented as follows:
    username/subdomainA
    username/subdomainA
    
    With this commit it shows the full domain name to avoid such cases.
    Thus, the domains will be presented as follows:
    username/Dom1/subdomainA
    username/Dom2/subdomainA
---
 .../cloudstack/api/command/ListAndSwitchSAMLAccountCmd.java |  1 +
 .../cloudstack/api/response/SamlUserAccountResponse.java    | 13 +++++++++++++
 ui/scripts/ui-custom/saml.js                                |  5 ++++-
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git 
a/plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/ListAndSwitchSAMLAccountCmd.java
 
b/plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/ListAndSwitchSAMLAccountCmd.java
index 2fdf6a1..895d12f 100644
--- 
a/plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/ListAndSwitchSAMLAccountCmd.java
+++ 
b/plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/ListAndSwitchSAMLAccountCmd.java
@@ -172,6 +172,7 @@ public class ListAndSwitchSAMLAccountCmd extends BaseCmd 
implements APIAuthentic
                     accountResponse.setUserName(user.getUsername());
                     accountResponse.setDomainId(domain.getUuid());
                     accountResponse.setDomainName(domain.getName());
+                    accountResponse.setDomainPath(domain.getPath());
                     
accountResponse.setAccountName(userAccount.getAccountName());
                     accountResponse.setIdpId(user.getExternalEntity());
                     accountResponses.add(accountResponse);
diff --git 
a/plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/response/SamlUserAccountResponse.java
 
b/plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/response/SamlUserAccountResponse.java
index f0927e3..4952201 100644
--- 
a/plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/response/SamlUserAccountResponse.java
+++ 
b/plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/response/SamlUserAccountResponse.java
@@ -44,6 +44,10 @@ public class SamlUserAccountResponse extends 
AuthenticationCmdResponse {
     @Param(description = "The IDP ID")
     private String idpId;
 
+    @SerializedName("domainPath")
+    @Param(description = "The full qualified domain path")
+    private String domainPath;
+
     public SamlUserAccountResponse() {
         super();
         setObjectName("samluseraccount");
@@ -96,4 +100,13 @@ public class SamlUserAccountResponse extends 
AuthenticationCmdResponse {
     public void setIdpId(String idpId) {
         this.idpId = idpId;
     }
+
+    public String getDomainPath() {
+        return domainPath;
+    }
+
+    public void setDomainPath(String domainPath) {
+        this.domainPath = domainPath;
+    }
+
 }
diff --git a/ui/scripts/ui-custom/saml.js b/ui/scripts/ui-custom/saml.js
index 391e7f8..1879bdc 100644
--- a/ui/scripts/ui-custom/saml.js
+++ b/ui/scripts/ui-custom/saml.js
@@ -81,7 +81,10 @@
                     option.data("userId", accounts[i].userId);
                     option.data("domainId", accounts[i].domainId);
                     option.val(accounts[i].userId + '/' + 
accounts[i].domainId);
-                    option.html(accounts[i].accountName + "/" + 
accounts[i].domainName);
+                    option.html(accounts[i].accountName + 
accounts[i].domainPath);
+                                       if (accounts[i].domainName == 'ROOT') {
+                                               option.append('ROOT');
+                                       }
                     option.appendTo($domainSelect);
                 }
                 var currentAccountDomain = g_userid + '/' + g_domainid;

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to