Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java =================================================================== diff -u -r1ffe3ee191320e11b82be7e50c5ac66f037732d7 -rdd32c9172c92f37d6f181fcacde81c90140d56b9 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java (.../IUserManagementService.java) (revision 1ffe3ee191320e11b82be7e50c5ac66f037732d7) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java (.../IUserManagementService.java) (revision dd32c9172c92f37d6f181fcacde81c90140d56b9) @@ -469,5 +469,15 @@ public List getAllLanguages(); public List getRolePrivilegesByRoleId(Integer id); + + public List getUserOrganisationsByType(Integer organisationTypeId); + + public List getOrganisationsByType(Integer organisationTypeId); + + public boolean isUserSysAdmin(String login); + + public Organisation getRootOrganisation(); + + public boolean isUserInRoleInOrganisation(String login, Integer roleId, Integer orgId); } Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java =================================================================== diff -u -r1ffe3ee191320e11b82be7e50c5ac66f037732d7 -rdd32c9172c92f37d6f181fcacde81c90140d56b9 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 1ffe3ee191320e11b82be7e50c5ac66f037732d7) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision dd32c9172c92f37d6f181fcacde81c90140d56b9) @@ -702,4 +702,25 @@ public List getRolePrivilegesByRoleId(Integer id) { return rolePrivilegeDAO.getRolePrivilegesByRoleId(id); } + + public List getUserOrganisationsByType(Integer organisationTypeId) { + return userOrganisationDAO.getUserOrganisationsByType(organisationTypeId); + } + + public List getOrganisationsByType(Integer organisationTypeId) { + return organisationDAO.getOrganisationsByType(organisationTypeId); + } + + public boolean isUserSysAdmin(String login) { + return isUserInRoleInOrganisation(login,Role.ROLE_SYSADMIN,getRootOrganisation().getOrganisationId()); + } + + public Organisation getRootOrganisation() { + return (Organisation)getOrganisationsByType(OrganisationType.ROOT_TYPE).get(0); + } + + public boolean isUserInRoleInOrganisation(String login, Integer roleId, Integer orgId) { + return userOrganisationRoleDAO.getUserOrganisationRole(userOrganisationDAO.getUserOrganisation(userDAO.getUserByLogin(login).getUserId(),orgId).getUserOrganisationId(),roleId)!=null; + } + }