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