Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java,v diff -u -r1.46 -r1.47 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java 21 Sep 2007 03:34:24 -0000 1.46 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java 29 Feb 2008 06:11:51 -0000 1.47 @@ -106,20 +106,23 @@ // test requestor's permission Organisation org = null; - Boolean requestorHasRole = service.isUserGlobalGroupAdmin(); + Boolean canEdit = service.isUserGlobalGroupAdmin(); if (orgId!=null) { org = (Organisation)service.findById(Organisation.class,orgId); - if (!requestorHasRole) { + if (!canEdit) { OrganisationType orgType = org.getOrganisationType(); Integer orgIdOfCourse = (orgType.getOrganisationTypeId().equals(OrganisationType.CLASS_TYPE)) ? org.getParentOrganisation().getOrganisationId() : orgId; User requestor = (User)service.getUserByLogin(request.getRemoteUser()); - requestorHasRole = service.isUserInRole(requestor.getUserId(), orgIdOfCourse, Role.GROUP_ADMIN) - || service.isUserInRole(requestor.getUserId(), orgIdOfCourse, Role.GROUP_MANAGER); + if (service.isUserInRole(requestor.getUserId(), orgIdOfCourse, Role.GROUP_ADMIN) + || service.isUserInRole(requestor.getUserId(), orgIdOfCourse, Role.GROUP_MANAGER)) { + Organisation course = (Organisation)service.findById(Organisation.class, orgIdOfCourse); + canEdit = course.getCourseAdminCanAddNewUsers(); + } } } - if (!(requestorHasRole || request.isUserInRole(Role.SYSADMIN))) { + if (!(canEdit || request.isUserInRole(Role.SYSADMIN))) { request.setAttribute("errorName", "UserAction"); request.setAttribute("errorMessage", messageService.getMessage("error.authorisation")); return mapping.findForward("error"); Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserManageAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserManageAction.java,v diff -u -r1.20 -r1.21 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserManageAction.java 14 Dec 2007 04:18:20 -0000 1.20 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserManageAction.java 29 Feb 2008 06:11:51 -0000 1.21 @@ -115,6 +115,7 @@ || (service.isUserGlobalGroupAdmin() && !orgId.equals(rootOrgId))){ userManageForm.setCourseAdminCanAddNewUsers(true); userManageForm.setCourseAdminCanBrowseAllUsers(true); + request.setAttribute("canDeleteUser", true); }else if((service.isUserInRole(userId,orgOfCourseAdmin.getOrganisationId(),Role.GROUP_ADMIN) || service.isUserInRole(userId,orgOfCourseAdmin.getOrganisationId(),Role.GROUP_MANAGER)) && !orgId.equals(rootOrgId)){ Index: lams_admin/web/userlist.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_admin/web/userlist.jsp,v diff -u -r1.28 -r1.29 --- lams_admin/web/userlist.jsp 4 Jan 2008 00:27:28 -0000 1.28 +++ lams_admin/web/userlist.jsp 29 Feb 2008 06:11:51 -0000 1.29 @@ -131,7 +131,13 @@   - + + +   + + + +