Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -rbf022ff032d980f5f61c01c4b5070e80fc244594 -r3769348f6b3ecb2ef712bd49fa42850f8c5b00d1 Binary files differ Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/User.java =================================================================== diff -u -r5e3a1e5f73e433076f00eb9b0a489c54430b5672 -r3769348f6b3ecb2ef712bd49fa42850f8c5b00d1 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/User.java (.../User.java) (revision 5e3a1e5f73e433076f00eb9b0a489c54430b5672) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/User.java (.../User.java) (revision 3769348f6b3ecb2ef712bd49fa42850f8c5b00d1) @@ -37,6 +37,7 @@ import org.lamsfoundation.lams.themes.CSSThemeVisualElement; import org.lamsfoundation.lams.themes.dto.CSSThemeBriefDTO; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.dto.UserFlashDTO; import org.lamsfoundation.lams.util.Configuration; import org.lamsfoundation.lams.util.ConfigurationKeys; import org.lamsfoundation.lams.util.LanguageUtil; @@ -738,9 +739,16 @@ this.email, new CSSThemeBriefDTO(this.flashTheme), new CSSThemeBriefDTO(this.htmlTheme), - TimeZone.getDefault()); + TimeZone.getTimeZone("Australia/Sydney")); } + public UserFlashDTO getUserFlashDTO() { + return new UserFlashDTO(this.userId, + this.firstName, + this.lastName, + this.login); + } + /**This method checks whether user is a member of the * given organisation*/ public boolean isMember(Organisation organisation){ Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/dto/UserFlashDTO.java =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/dto/UserFlashDTO.java (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/dto/UserFlashDTO.java (revision 3769348f6b3ecb2ef712bd49fa42850f8c5b00d1) @@ -0,0 +1,89 @@ +/**************************************************************** + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $$Id$$ */ +package org.lamsfoundation.lams.usermanagement.dto; + +/** + * @author Mitchell Seaton + */ +public class UserFlashDTO { + + private Integer userID; + private String firstName; + private String lastName; + private String login; + + // minimal constructor (flash) + public UserFlashDTO(Integer userID, String firstName, String lastName,String login) { + this.userID = userID; + this.firstName = firstName; + this.lastName = lastName; + this.login = login; + } + + /** + * Equality test of UserDTO objects + */ + public boolean equals(Object o) { + if ((o != null) && (o.getClass() == this.getClass())) { + return ((UserFlashDTO)o).userID == this.userID; + } else { + return false; + } + } + + /** + * Returns the hash code value for this object. + */ + public int hashCode() { + // TODO this might be an ineffcient implementation since userIDs are likely to be sequential, + // hence we dont get a good spread of values + return userID.intValue(); + } + + /** + * @return Returns the firstName. + */ + public String getFirstName() { + return firstName; + } + /** + * @return Returns the lastName. + */ + public String getLastName() { + return lastName; + } + /** + * @return Returns the login. + */ + public String getLogin() { + return login; + } + /** + * @return Returns the userID. + */ + public Integer getUserID() { + return userID; + } + +} Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java =================================================================== diff -u -rf8455d42afaa3aec85b69606f71fb95c4a9e7371 -r3769348f6b3ecb2ef712bd49fa42850f8c5b00d1 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java (.../IUserManagementService.java) (revision f8455d42afaa3aec85b69606f71fb95c4a9e7371) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java (.../IUserManagementService.java) (revision 3769348f6b3ecb2ef712bd49fa42850f8c5b00d1) @@ -36,6 +36,7 @@ import org.lamsfoundation.lams.usermanagement.UserOrganisation; import org.lamsfoundation.lams.usermanagement.dto.OrganisationDTO; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.dto.UserFlashDTO; import org.lamsfoundation.lams.usermanagement.dto.UserManageBean; /** @@ -216,9 +217,10 @@ * * @param organisationID * @param roleName - * @return UserDTO objects (in a Vector to suit WDDX) + * @param isFlashCall + * @return UserFlashDTO objects (in a Vector to suit WDDX) */ - public Vector getUsersFromOrganisationByRole(Integer organisationID, String roleName); + public Vector getUsersFromOrganisationByRole(Integer organisationID, String roleName, boolean isFlashCall); public Organisation getRootOrganisation(); Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java =================================================================== diff -u -rf8455d42afaa3aec85b69606f71fb95c4a9e7371 -r3769348f6b3ecb2ef712bd49fa42850f8c5b00d1 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision f8455d42afaa3aec85b69606f71fb95c4a9e7371) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 3769348f6b3ecb2ef712bd49fa42850f8c5b00d1) @@ -50,6 +50,7 @@ import org.lamsfoundation.lams.usermanagement.dto.OrganisationDTO; import org.lamsfoundation.lams.usermanagement.dto.OrganisationDTOFactory; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.dto.UserFlashDTO; import org.lamsfoundation.lams.usermanagement.dto.UserManageBean; import org.lamsfoundation.lams.util.HashUtil; import org.lamsfoundation.lams.util.MessageService; @@ -309,9 +310,13 @@ * @see org.lamsfoundation.lams.usermanagement.service.IUserManagementService#getUsersFromOrganisationByRole(java.lang.Integer, * java.lang.String) */ - public Vector getUsersFromOrganisationByRole(Integer organisationID, String roleName) { - - Vector users = new Vector(); + public Vector getUsersFromOrganisationByRole(Integer organisationID, String roleName, boolean isFlashCall) { + Vector users = null; + if(isFlashCall) + users = new Vector(); + else + users = new Vector(); + Organisation organisation = (Organisation)baseDAO.find(Organisation.class,organisationID); if (organisation != null) { Iterator iterator = organisation.getUserOrganisations().iterator(); @@ -321,7 +326,10 @@ while (userOrganisationRoleIterator.hasNext()) { UserOrganisationRole userOrganisationRole = (UserOrganisationRole) userOrganisationRoleIterator.next(); if (userOrganisationRole.getRole().getName().equals(roleName)) - users.add(userOrganisation.getUser().getUserDTO()); + if(isFlashCall) + users.add(userOrganisation.getUser().getUserFlashDTO()); + else + users.add(userOrganisation.getUser().getUserDTO()); } } } @@ -443,7 +451,7 @@ if(organisation.getOrganisationType().getOrganisationTypeId().equals(OrganisationType.CLASS_TYPE)){ // get course managers and give them staff role in this new class - Vector managers = getUsersFromOrganisationByRole(organisation.getParentOrganisation().getOrganisationId(),Role.COURSE_MANAGER); + Vector managers = getUsersFromOrganisationByRole(organisation.getParentOrganisation().getOrganisationId(),Role.COURSE_MANAGER, false); for(UserDTO m: managers){ User user = (User)findById(User.class,m.getUserID()); UserOrganisation uo = new UserOrganisation(user,organisation);