Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserManageAction.java =================================================================== diff -u -r93201ac4b55c13e6d9a2a4a39941996d91793d13 -r414da0237c0eeb5c8aaba420885383ee6c3c8710 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserManageAction.java (.../UserManageAction.java) (revision 93201ac4b55c13e6d9a2a4a39941996d91793d13) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserManageAction.java (.../UserManageAction.java) (revision 414da0237c0eeb5c8aaba420885383ee6c3c8710) @@ -40,6 +40,7 @@ import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.lamsfoundation.lams.usermanagement.Organisation; +import org.lamsfoundation.lams.usermanagement.OrganisationType; import org.lamsfoundation.lams.usermanagement.Role; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; @@ -95,11 +96,21 @@ String orgName = organisation.getName(); log.debug("orgName: "+orgName); + Organisation pOrg = organisation.getParentOrganisation(); + if(pOrg!=null){ + request.setAttribute("pOrgId",pOrg.getOrganisationId()); + request.setAttribute("pOrgName",pOrg.getName()); + } + OrganisationType orgType = organisation.getOrganisationType(); + request.setAttribute("orgType",orgType.getOrganisationTypeId()); + + Integer userId = getService().getUserByLogin(request.getRemoteUser()).getUserId(); + Integer orgIdOfCourseAdmin = (orgType.getOrganisationTypeId().equals(OrganisationType.CLASS_TYPE)) ? pOrg.getOrganisationId() : orgId; // check permission if(request.isUserInRole(Role.SYSADMIN)){ request.setAttribute("canAdd",true); - }else if(!getService().isUserInRole(userId,orgId,Role.COURSE_ADMIN)){ + }else if(!getService().isUserInRole(userId,orgIdOfCourseAdmin,Role.COURSE_ADMIN)){ errors.add("authorisation",new ActionMessage("error.authorisation")); saveErrors(request,errors); return mapping.findForward("error"); @@ -141,13 +152,6 @@ userManageForm.setUserManageBeans(userManageBeans); request.setAttribute("UserManageForm", userManageForm); - Organisation pOrg = organisation.getParentOrganisation(); - if(pOrg!=null){ - request.setAttribute("pOrgId",pOrg.getOrganisationId()); - request.setAttribute("pOrgName",pOrg.getName()); - } - request.setAttribute("orgType",organisation.getOrganisationType().getOrganisationTypeId()); - return mapping.findForward("userlist"); }