cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-8562) User Definable Roles
Date Thu, 14 Apr 2016 14:47:25 GMT

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-8562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15241297#comment-15241297
] 

ASF GitHub Bot commented on CLOUDSTACK-8562:
--------------------------------------------

Github user pdube commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1489#discussion_r59730334
  
    --- Diff: api/src/org/apache/cloudstack/acl/RoleType.java ---
    @@ -16,18 +16,90 @@
     // under the License.
     package org.apache.cloudstack.acl;
     
    +import com.cloud.user.Account;
    +import com.google.common.base.Enums;
    +import com.google.common.base.Strings;
    +
     // Enum for default roles in CloudStack
     public enum RoleType {
    -    Admin(1), ResourceAdmin(2), DomainAdmin(4), User(8), Unknown(0);
    +    Admin(1L, Account.ACCOUNT_TYPE_ADMIN, 1),
    +    ResourceAdmin(2L, Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN, 2),
    +    DomainAdmin(3L, Account.ACCOUNT_TYPE_DOMAIN_ADMIN, 4),
    +    User(4L, Account.ACCOUNT_TYPE_NORMAL, 8),
    +    Unknown(-1L, (short) -1, 0);
     
    +    private long id;
    +    private short accountType;
         private int mask;
     
    -    private RoleType(int mask) {
    +    RoleType(final long id, final short accountType, final int mask) {
    +        this.id = id;
    +        this.accountType = accountType;
             this.mask = mask;
         }
     
    -    public int getValue() {
    +    public long getId() {
    +        return id;
    +    }
    +
    +    public short getAccountType() {
    +        return accountType;
    +    }
    +
    +    public int getMask() {
             return mask;
         }
    -}
     
    +    public static RoleType fromString(final String name) {
    +        if (!Strings.isNullOrEmpty(name)
    +                && Enums.getIfPresent(RoleType.class, name).isPresent()) {
    +            return RoleType.valueOf(name);
    +        }
    +        return null;
    +    }
    +
    +    public static RoleType fromMask(int mask) {
    +        for (RoleType roleType : RoleType.values()) {
    +            if (roleType.getMask() == mask) {
    +                return roleType;
    +            }
    +        }
    +        return Unknown;
    +    }
    +
    +    public static RoleType getByAccountType(final short accountType) {
    +        RoleType roleType = RoleType.Unknown;
    +        switch (accountType) {
    +            case Account.ACCOUNT_TYPE_ADMIN:
    +                roleType = RoleType.Admin;
    +                break;
    +            case Account.ACCOUNT_TYPE_DOMAIN_ADMIN:
    +                roleType = RoleType.DomainAdmin;
    +                break;
    +            case Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN:
    +                roleType = RoleType.ResourceAdmin;
    +                break;
    +            case Account.ACCOUNT_TYPE_NORMAL:
    +                roleType = RoleType.User;
    +                break;
    +        }
    +        return roleType;
    +    }
    +
    +    public static Long getRoleByAccountType(final Long roleId, final Short accountType)
{
    --- End diff --
    
    Why are you passing in a roleId, if you are getting a role id by account type?


> User Definable Roles
> --------------------
>
>                 Key: CLOUDSTACK-8562
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8562
>             Project: CloudStack
>          Issue Type: New Feature
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: Management Server
>            Reporter: Paul Angus
>            Assignee: Rohit Yadav
>
> Static command.properties moved to database and made user definable



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message