Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserManageAction.java =================================================================== diff -u -r414da0237c0eeb5c8aaba420885383ee6c3c8710 -r6a628ebf2827a9cc512616271f838549273c4e1f --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserManageAction.java (.../UserManageAction.java) (revision 414da0237c0eeb5c8aaba420885383ee6c3c8710) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserManageAction.java (.../UserManageAction.java) (revision 6a628ebf2827a9cc512616271f838549273c4e1f) @@ -106,16 +106,16 @@ Integer userId = getService().getUserByLogin(request.getRemoteUser()).getUserId(); - Integer orgIdOfCourseAdmin = (orgType.getOrganisationTypeId().equals(OrganisationType.CLASS_TYPE)) ? pOrg.getOrganisationId() : orgId; + Organisation orgOfCourseAdmin = (orgType.getOrganisationTypeId().equals(OrganisationType.CLASS_TYPE)) ? pOrg : organisation; // check permission if(request.isUserInRole(Role.SYSADMIN)){ request.setAttribute("canAdd",true); - }else if(!getService().isUserInRole(userId,orgIdOfCourseAdmin,Role.COURSE_ADMIN)){ + }else if(!getService().isUserInRole(userId,orgOfCourseAdmin.getOrganisationId(),Role.COURSE_ADMIN)){ errors.add("authorisation",new ActionMessage("error.authorisation")); saveErrors(request,errors); return mapping.findForward("error"); }else{ - request.setAttribute("canAdd",organisation.getCourseAdminCanAddNewUsers()); + request.setAttribute("canAdd",orgOfCourseAdmin.getCourseAdminCanAddNewUsers()); } // get list of users in org Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgAction.java =================================================================== diff -u -r93201ac4b55c13e6d9a2a4a39941996d91793d13 -r6a628ebf2827a9cc512616271f838549273c4e1f --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgAction.java (.../UserOrgAction.java) (revision 93201ac4b55c13e6d9a2a4a39941996d91793d13) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserOrgAction.java (.../UserOrgAction.java) (revision 6a628ebf2827a9cc512616271f838549273c4e1f) @@ -98,11 +98,12 @@ // get list of users in org User user = (User)getService().getUserByLogin(request.getRemoteUser()); List users = new ArrayList(); + Organisation orgOfCourseAdmin = (orgType.equals(OrganisationType.CLASS_TYPE)) ? parentOrg : organisation; if(request.isUserInRole(Role.SYSADMIN)){ users = getService().findAll(User.class); - }else if(getService().isUserInRole(user.getUserId(),orgId,Role.COURSE_ADMIN)){ - if(organisation.getCourseAdminCanAddNewUsers()){ - if(organisation.getCourseAdminCanBrowseAllUsers()){ + }else if(getService().isUserInRole(user.getUserId(),orgOfCourseAdmin.getOrganisationId(),Role.COURSE_ADMIN)){ + if(orgOfCourseAdmin.getCourseAdminCanAddNewUsers()){ + if(orgOfCourseAdmin.getCourseAdminCanBrowseAllUsers()){ users = getService().findAll(User.class); }else if(orgType.equals(new Integer(OrganisationType.CLASS_TYPE))){ users = getService().getUsersFromOrganisation(parentOrg.getOrganisationId());