Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/OrgManageAction.java =================================================================== diff -u -r5a7d8461a9600bdf21caa29b8a3253e013fec8cb -r5afbd7445743e7be55ac2b451e8136c1b2d6b40c --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/OrgManageAction.java (.../OrgManageAction.java) (revision 5a7d8461a9600bdf21caa29b8a3253e013fec8cb) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/OrgManageAction.java (.../OrgManageAction.java) (revision 5afbd7445743e7be55ac2b451e8136c1b2d6b40c) @@ -41,6 +41,7 @@ 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.UserOrganisation; import org.lamsfoundation.lams.usermanagement.UserOrganisationRole; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; @@ -110,7 +111,8 @@ log.debug("orgType:"+orgManageForm.getType()); List orgManageBeans = new ArrayList(); //if(getService().isUserSysAdmin(username)){ - if(request.isUserInRole(Role.SYSADMIN)){ + Integer userId = getService().getUserByLogin(request.getRemoteUser()).getUserId(); + if(request.isUserInRole(Role.SYSADMIN) || getService().isUserInRole(userId, orgId, Role.COURSE_ADMIN) || getService().isUserInRole(userId, orgId, Role.COURSE_MANAGER)){ Integer type; if(orgManageForm.getType().equals(OrganisationType.ROOT_TYPE)){ type = OrganisationType.COURSE_TYPE; @@ -133,32 +135,6 @@ orgManageBean.setEditable(true); orgManageBeans.add(orgManageBean); } - }else{ - Set userOrganisations = getService().getUserByLogin(username).getUserOrganisations(); - if(userOrganisations!=null){ - Iterator iter = userOrganisations.iterator(); - while(iter.hasNext()){ - OrgManageBean orgManageBean = new OrgManageBean(); - UserOrganisation userOrganisation = (UserOrganisation)iter.next(); - Organisation organisation = userOrganisation.getOrganisation(); - if(organisation.getParentOrganisation()!=null){ - orgManageBean.setEditable(false); - if(organisation.getParentOrganisation().getOrganisationId().equals(orgId)){ - BeanUtils.copyProperties(orgManageBean,organisation); - orgManageBean.setStatus(organisation.getOrganisationState().getDescription()); - Iterator iter2 = userOrganisation.getUserOrganisationRoles().iterator(); - while(iter2.hasNext()){ - UserOrganisationRole userOrganisationRole = (UserOrganisationRole)iter2.next(); - if(userOrganisationRole.getRole().isCourseManager()||userOrganisationRole.getRole().isCourseAdmin()){ - orgManageBean.setEditable(true); - break; - } - } - orgManageBeans.add(orgManageBean); - } - } - } - } } orgManageForm.setOrgManageBeans(orgManageBeans); request.setAttribute("OrgManageForm",orgManageForm);