package fi.otavanopisto.muikku.plugins.evaluation; import java.util.List; import javax.enterprise.context.ApplicationScoped; import fi.otavanopisto.muikku.model.users.EnvironmentRoleArchetype; import fi.otavanopisto.muikku.model.workspace.WorkspaceRoleArchetype; import fi.otavanopisto.muikku.security.AbstractMuikkuPermissionCollection; import fi.otavanopisto.muikku.security.DefaultEnvironmentPermissionRoles; import fi.otavanopisto.muikku.security.DefaultWorkspacePermissionRoles; import fi.otavanopisto.muikku.security.MuikkuPermissionCollection; import fi.otavanopisto.muikku.security.PermissionScope; import fi.otavanopisto.security.Scope; @ApplicationScoped public class EvaluationResourcePermissionCollection extends AbstractMuikkuPermissionCollection implements MuikkuPermissionCollection { /** * Evaluation view */ @Scope (PermissionScope.WORKSPACE) @DefaultEnvironmentPermissionRoles({EnvironmentRoleArchetype.ADMINISTRATOR, EnvironmentRoleArchetype.STUDY_PROGRAMME_LEADER, EnvironmentRoleArchetype.MANAGER, EnvironmentRoleArchetype.TEACHER }) @DefaultWorkspacePermissionRoles({WorkspaceRoleArchetype.TEACHER}) public static final String EVALUATION_VIEW_INDEX = "EVALUATION_VIEW_INDEX"; @Scope (PermissionScope.ENVIRONMENT) @DefaultEnvironmentPermissionRoles({EnvironmentRoleArchetype.ADMINISTRATOR, EnvironmentRoleArchetype.STUDY_PROGRAMME_LEADER }) public static final String EVALUATION_LIST_ALL_WORKSPACES = "EVALUATION_LIST_ALL_WORKSPACES"; /** * Evaluations */ @Scope (PermissionScope.WORKSPACE) @DefaultEnvironmentPermissionRoles({EnvironmentRoleArchetype.ADMINISTRATOR, EnvironmentRoleArchetype.MANAGER, EnvironmentRoleArchetype.STUDY_PROGRAMME_LEADER}) @DefaultWorkspacePermissionRoles({WorkspaceRoleArchetype.TEACHER}) public static final String EVALUATION_CREATEWORKSPACEMATERIALEVALUATION = "EVALUATION_CREATEWORKSPACEMATERIALEVALUATION"; @Scope (PermissionScope.WORKSPACE) @DefaultEnvironmentPermissionRoles({EnvironmentRoleArchetype.ADMINISTRATOR, EnvironmentRoleArchetype.MANAGER, EnvironmentRoleArchetype.STUDY_PROGRAMME_LEADER}) @DefaultWorkspacePermissionRoles({WorkspaceRoleArchetype.TEACHER}) public static final String EVALUATION_FINDWORKSPACEMATERIALEVALUATION = "EVALUATION_FINDWORKSPACEMATERIALEVALUATION"; @Scope (PermissionScope.WORKSPACE) @DefaultEnvironmentPermissionRoles({EnvironmentRoleArchetype.ADMINISTRATOR, EnvironmentRoleArchetype.MANAGER, EnvironmentRoleArchetype.STUDY_PROGRAMME_LEADER}) @DefaultWorkspacePermissionRoles({WorkspaceRoleArchetype.TEACHER}) public static final String EVALUATION_LISTWORKSPACEMATERIALEVALUATIONS = "EVALUATION_LISTWORKSPACEMATERIALEVALUATIONS"; @Scope (PermissionScope.WORKSPACE) @DefaultEnvironmentPermissionRoles({EnvironmentRoleArchetype.ADMINISTRATOR, EnvironmentRoleArchetype.MANAGER, EnvironmentRoleArchetype.STUDY_PROGRAMME_LEADER}) @DefaultWorkspacePermissionRoles({WorkspaceRoleArchetype.TEACHER}) public static final String EVALUATION_UPDATEWORKSPACEMATERIALEVALUATION = "EVALUATION_UPDATEWORKSPACEMATERIALEVALUATION"; /** * Grading scales */ @Scope (PermissionScope.WORKSPACE) @DefaultEnvironmentPermissionRoles({EnvironmentRoleArchetype.ADMINISTRATOR, EnvironmentRoleArchetype.MANAGER, EnvironmentRoleArchetype.STUDY_PROGRAMME_LEADER, EnvironmentRoleArchetype.TEACHER }) @DefaultWorkspacePermissionRoles({WorkspaceRoleArchetype.TEACHER}) public static final String EVALUATION_LISTGRADINGSCALES = "EVALUATION_LISTGRADINGSCALES"; @Override public List<String> listPermissions() { return listPermissions(EvaluationResourcePermissionCollection.class); } @Override public boolean containsPermission(String permission) { return listPermissions().contains(permission); } @Override public String getPermissionScope(String permission) throws NoSuchFieldException { return getPermissionScope(EvaluationResourcePermissionCollection.class, permission); } @Override public String[] getDefaultPseudoRoles(String permission) throws NoSuchFieldException { return getDefaultPseudoRoles(EvaluationResourcePermissionCollection.class, permission); } @Override public EnvironmentRoleArchetype[] getDefaultEnvironmentRoles(String permission) throws NoSuchFieldException { return getDefaultEnvironmentRoles(EvaluationResourcePermissionCollection.class, permission); } @Override public WorkspaceRoleArchetype[] getDefaultWorkspaceRoles(String permission) throws NoSuchFieldException { return getDefaultWorkspaceRoles(EvaluationResourcePermissionCollection.class, permission); } }