X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.app.api%2Fsrc%2Forg%2Fargeo%2Fapp%2Fapi%2FSuiteRole.java;h=42202ce7dfc654498137bdab807507e47fba7ab6;hb=c00d84a03a4952f317956ce6a4ded7bd233644fb;hp=38ce11fdd573ba3c7259bf804069b1f7d5ebda87;hpb=e709b6ee3f08fec9d2f303c25b30952a8af11ec7;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.app.api/src/org/argeo/app/api/SuiteRole.java b/org.argeo.app.api/src/org/argeo/app/api/SuiteRole.java index 38ce11f..42202ce 100644 --- a/org.argeo.app.api/src/org/argeo/app/api/SuiteRole.java +++ b/org.argeo.app.api/src/org/argeo/app/api/SuiteRole.java @@ -1,17 +1,45 @@ package org.argeo.app.api; +import javax.xml.namespace.QName; + +import org.argeo.api.acr.ContentName; +import org.argeo.api.acr.CrName; import org.argeo.api.cms.CmsConstants; -import org.argeo.util.naming.Distinguished; +import org.argeo.cms.auth.SystemRole; import org.argeo.util.naming.LdapAttrs; -/** Office specific roles used in the code */ -public enum SuiteRole implements Distinguished { - coworker, manager; +/** Standard suite system roles. */ +public enum SuiteRole implements SystemRole { + /** An external person who has read access to part of the information. */ + observer, + /** An active coworker. */ + coworker, + /** Someone who is allowed validate and publish information. */ + publisher, + /** Someone with manager status within an organisation. Does not necessarily give more rights. */ + manager, + // + ; + + private final static String QUALIFIER = "app."; + + private final ContentName name; + + SuiteRole() { + name = new ContentName(CrName.ROLE_NAMESPACE_URI, QUALIFIER + name()); + } + + @Override + public QName getName() { + return name; + } - public String getRolePrefix() { + @Deprecated + private String getRolePrefix() { return "org.argeo.suite"; } + @Deprecated public String dn() { return new StringBuilder(LdapAttrs.cn.name()).append("=").append(getRolePrefix()).append(".").append(name()) .append(",").append(CmsConstants.ROLES_BASEDN).toString();