Index: lams_admin/conf/language/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_admin/conf/language/Attic/ApplicationResources.properties,v diff -u -r1.43 -r1.44 --- lams_admin/conf/language/ApplicationResources.properties 1 Nov 2006 22:52:26 -0000 1.43 +++ lams_admin/conf/language/ApplicationResources.properties 8 Nov 2006 06:08:37 -0000 1.44 @@ -123,6 +123,8 @@ role.LEARNER = Learner role.MONITOR = Monitor role.SYSADMIN = System Admin +label.member.of = Member of +label.with.roles = With roles #==================== Organisation Management Screen ======================# admin.organisation.management = Group/Subgroup Management 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.37 -r1.38 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java 25 Oct 2006 01:43:56 -0000 1.37 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java 8 Nov 2006 06:08:37 -0000 1.38 @@ -24,6 +24,7 @@ /* $Id$ */ package org.lamsfoundation.lams.admin.web; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -38,11 +39,15 @@ import org.apache.struts.action.DynaActionForm; import org.lamsfoundation.lams.admin.AdminConstants; import org.lamsfoundation.lams.admin.service.AdminServiceProxy; +import org.lamsfoundation.lams.admin.web.dto.UserOrgRoleDTO; import org.lamsfoundation.lams.usermanagement.Organisation; +import org.lamsfoundation.lams.usermanagement.OrganisationState; import org.lamsfoundation.lams.usermanagement.OrganisationType; import org.lamsfoundation.lams.usermanagement.Role; import org.lamsfoundation.lams.usermanagement.SupportedLocale; 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; import org.lamsfoundation.lams.util.Configuration; import org.lamsfoundation.lams.util.ConfigurationKeys; @@ -120,6 +125,8 @@ userForm.set("password", null); SupportedLocale locale = user.getLocale(); userForm.set("localeId", locale.getLocaleId()); + // set user's organisations to display + request.setAttribute("userOrgRoles", getUserOrgRoles(user)); } else { // create a user try { String defaultLocale = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE); @@ -147,6 +154,45 @@ return mapping.findForward("user"); } + // display user's organisations and roles in them + private List getUserOrgRoles(User user) { + + List uorDTOs = new ArrayList(); + List uos = service.getUserOrganisationsForUserByTypeAndStatus( + user.getLogin(), + OrganisationType.COURSE_TYPE, + OrganisationState.ACTIVE); + for (UserOrganisation uo : uos) { + UserOrgRoleDTO uorDTO = new UserOrgRoleDTO(); + List roles = new ArrayList(); + for (Object uor : uo.getUserOrganisationRoles()) + roles.add(((UserOrganisationRole)uor).getRole().getName()); + Collections.sort(roles); + uorDTO.setOrgName(uo.getOrganisation().getName()); + uorDTO.setRoles(roles); + List childDTOs = new ArrayList(); + List childuos = service.getUserOrganisationsForUserByTypeAndStatusAndParent( + user.getLogin(), + OrganisationType.CLASS_TYPE, + OrganisationState.ACTIVE, + uo.getOrganisation().getOrganisationId()); + for (UserOrganisation childuo : childuos) { + UserOrgRoleDTO childDTO = new UserOrgRoleDTO(); + List childroles = new ArrayList(); + for (Object uor : childuo.getUserOrganisationRoles()) + childroles.add(((UserOrganisationRole)uor).getRole().getName()); + Collections.sort(childroles); + childDTO.setOrgName(childuo.getOrganisation().getName()); + childDTO.setRoles(childroles); + childDTOs.add(childDTO); + } + uorDTO.setChildDTOs(childDTOs); + uorDTOs.add(uorDTO); + } + + return uorDTOs; + } + // determine whether to disable or delete user based on their lams data public ActionForward remove(ActionMapping mapping, ActionForm form, Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/dto/UserOrgRoleDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/dto/UserOrgRoleDTO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/dto/UserOrgRoleDTO.java 8 Nov 2006 06:08:37 -0000 1.1 @@ -0,0 +1,61 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id: UserOrgRoleDTO.java,v 1.1 2006/11/08 06:08:37 jliew Exp $ */ +package org.lamsfoundation.lams.admin.web.dto; + +import java.util.List; + +/** + * @author jliew + * + */ +public class UserOrgRoleDTO { + + private String orgName; + private List roles; + private List childDTOs; + + public String getOrgName() { + return orgName; + } + + public void setOrgName(String orgName) { + this.orgName = orgName; + } + + public List getRoles() { + return roles; + } + + public void setRoles(List roles) { + this.roles = roles; + } + + public List getChildDTOs() { + return childDTOs; + } + + public void setChildDTOs(List childDTOs) { + this.childDTOs = childDTOs; + } +} Index: lams_admin/web/user.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_admin/web/user.jsp,v diff -u -r1.17 -r1.18 --- lams_admin/web/user.jsp 26 Oct 2006 02:32:26 -0000 1.17 +++ lams_admin/web/user.jsp 8 Nov 2006 06:08:36 -0000 1.18 @@ -29,97 +29,143 @@

 

+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
*:
*:
*:
:
*:
*:
*:
:
:
:
:
:
:
:
:
:
:
:
: - - - - - - - -
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
*:
*:
*:
:
*:
*:
*:
:
:
:
:
:
:
:
:
:
:
:
: + + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
::
+ + + role.  + + +
-- + + + role.  + + +
+ +
- - - - - - - + +