Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml =================================================================== diff -u -rcb333c89e9d244ab2204e9bc8cb14d6dd613603e -r4b181ebda12a35a61d945b5bb2d286c124b76e62 --- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision cb333c89e9d244ab2204e9bc8cb14d6dd613603e) +++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 4b181ebda12a35a61d945b5bb2d286c124b76e62) @@ -95,6 +95,7 @@ > + @@ -281,6 +282,10 @@ + + + + Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/Role.java =================================================================== diff -u -rf1bb07deef7a7406e5880108eebcce30a9f91432 -r4b181ebda12a35a61d945b5bb2d286c124b76e62 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/Role.java (.../Role.java) (revision f1bb07deef7a7406e5880108eebcce30a9f91432) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/Role.java (.../Role.java) (revision 4b181ebda12a35a61d945b5bb2d286c124b76e62) @@ -230,4 +230,8 @@ public boolean isSysAdmin(){ return this.roleId.equals(ROLE_SYSADMIN); } + + public boolean isAuthorAdmin(){ + return this.roleId.equals(ROLE_AUTHOR_ADMIN); + } } Fisheye: Tag 6633f5d5c7844c27582a9b323fead87fac99dfd5 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/usermanagement/dao/IRoleDAO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6633f5d5c7844c27582a9b323fead87fac99dfd5 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/usermanagement/dao/hibernate/RoleDAO.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java =================================================================== diff -u -r210b1674b3ad68f03fa954f4ae8e66aa93aa98ab -r4b181ebda12a35a61d945b5bb2d286c124b76e62 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java (.../IUserManagementService.java) (revision 210b1674b3ad68f03fa954f4ae8e66aa93aa98ab) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java (.../IUserManagementService.java) (revision 4b181ebda12a35a61d945b5bb2d286c124b76e62) @@ -329,4 +329,18 @@ * @return */ public List filterRoles(List rolelist, Boolean isSysadmin, OrganisationType orgType); + + + public boolean hasRoleInOrganisation(User user, Integer roleId); + + /** + * Returns true if user has the role in the given organisation. Otherwise false. + * @param user + * @param roleId + * @param organisation + * @return + */ + public boolean hasRoleInOrganisation(User user, Integer roleId, Organisation organisation); + + } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java =================================================================== diff -u -r98011674ab8f029c6cb173d62929f2648a2929c8 -r4b181ebda12a35a61d945b5bb2d286c124b76e62 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 98011674ab8f029c6cb173d62929f2648a2929c8) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 4b181ebda12a35a61d945b5bb2d286c124b76e62) @@ -38,6 +38,7 @@ import org.apache.log4j.Logger; import org.lamsfoundation.lams.dao.IBaseDAO; import org.lamsfoundation.lams.learningdesign.dao.IGroupDAO; +import org.lamsfoundation.lams.usermanagement.dao.IRoleDAO; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.OrganisationType; import org.lamsfoundation.lams.usermanagement.Role; @@ -76,6 +77,7 @@ private IBaseDAO baseDAO; private IGroupDAO groupDAO; + private IRoleDAO roleDAO; protected MessageService messageService; /** @@ -99,6 +101,10 @@ public void setGroupDAO(IGroupDAO groupDAO) { this.groupDAO = groupDAO; } + + public void setRoleDAO(IRoleDAO roleDAO) { + this.roleDAO = roleDAO; + } public void save(Object object) { try{ @@ -708,4 +714,15 @@ } return allRoles; } + + public boolean hasRoleInOrganisation(User user, Integer roleId) { + return hasRoleInOrganisation(user, roleId, getRootOrganisation()); + } + + public boolean hasRoleInOrganisation(User user, Integer roleId, Organisation organisation) { + if(roleDAO.getUserByOrganisationAndRole(user.getUserId(), roleId, organisation) != null) + return true; + else + return false; + } } \ No newline at end of file