Index: lams_central/src/java/org/lamsfoundation/lams/web/FindUserLessonsAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/FindUserLessonsAction.java,v diff -u -r1.3 -r1.3.10.1 --- lams_central/src/java/org/lamsfoundation/lams/web/FindUserLessonsAction.java 12 Nov 2008 02:36:32 -0000 1.3 +++ lams_central/src/java/org/lamsfoundation/lams/web/FindUserLessonsAction.java 13 Nov 2009 04:33:35 -0000 1.3.10.1 @@ -1,5 +1,6 @@ package org.lamsfoundation.lams.web; +import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; @@ -18,6 +19,7 @@ import org.apache.struts.actions.DispatchAction; import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.lesson.Lesson; +import org.lamsfoundation.lams.lesson.dto.LessonDTO; import org.lamsfoundation.lams.lesson.service.ILessonService; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.User; @@ -72,15 +74,25 @@ Organisation group = (Organisation) userManagementService.findById(Organisation.class, courseID); Set users = getUserSet(query, group); + + User viewer = (User) userManagementService.getUserByLogin(request.getRemoteUser()); - Map> userLessonsMap = new HashMap>(); + Map> userLessonsMap = new HashMap>(); for (User user : users) { // get all lessons for 'user' in 'group' and add to lessons map List lessons = (lessonService.getLessonsByGroupAndUser(user.getUserId(), group .getOrganisationId())); - userLessonsMap.put(user, lessons); + List lessonDTOs = new ArrayList(); + for (Lesson lesson : lessons) { + LessonDTO dto = new LessonDTO(lesson); + // flag to display monitor link only if user is staff member of lesson + dto.setDisplayMonitor(lesson.getLessonClass().isStaffMember(viewer)); + lessonDTOs.add(dto); + } + + userLessonsMap.put(user, lessonDTOs); } request.setAttribute("userLessonsMap", userLessonsMap); Index: lams_central/web/findUserLessons.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/findUserLessons.jsp,v diff -u -r1.6 -r1.6.10.1 --- lams_central/web/findUserLessons.jsp 24 Nov 2008 01:12:12 -0000 1.6 +++ lams_central/web/findUserLessons.jsp 13 Nov 2009 04:33:35 -0000 1.6.10.1 @@ -88,10 +88,13 @@ ${user.key.lastName}
    - -
  • ${lesson.lessonName}
  • + +
  • ${lessonDto.lessonName} + + + + +

Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDTO.java,v diff -u -r1.16 -r1.16.10.1 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDTO.java 24 Nov 2008 22:20:29 -0000 1.16 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDTO.java 13 Nov 2009 04:33:36 -0000 1.16.10.1 @@ -59,6 +59,7 @@ private Boolean learnerExportAvailable; private Boolean learnerPresenceAvailable; private Boolean learnerImAvailable; + private Boolean displayMonitor; //--------------------------------------------------------------------- // Construtors @@ -152,6 +153,14 @@ return learnerImAvailable; } + public Boolean getDisplayMonitor() { + return displayMonitor; + } + + public void setDisplayMonitor(Boolean displayMonitor) { + this.displayMonitor = displayMonitor; + } + /** * Returns the String representation of lesson data transfer object. * @see java.lang.Object#toString() @@ -171,6 +180,7 @@ sb.append("learnerExportAvailable='" + getLearnerExportAvailable() + "'; "); sb.append("learnerPresenceAvailable='" + getLearnerPresenceAvailable() + "'; "); sb.append("learnerImAvailable='" + getLearnerImAvailable() + "'; "); + sb.append("displayMonitor='" + getDisplayMonitor() + "'; "); return sb.toString(); } }