Index: lams_central/src/java/org/lamsfoundation/lams/web/FindUserLessonsAction.java =================================================================== diff -u -re5c9d6208cedb95477b449363a244ded3efb753c -r162b13082f81f06cabbc954697b0e2dc5e557fd7 --- lams_central/src/java/org/lamsfoundation/lams/web/FindUserLessonsAction.java (.../FindUserLessonsAction.java) (revision e5c9d6208cedb95477b449363a244ded3efb753c) +++ lams_central/src/java/org/lamsfoundation/lams/web/FindUserLessonsAction.java (.../FindUserLessonsAction.java) (revision 162b13082f81f06cabbc954697b0e2dc5e557fd7) @@ -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 =================================================================== diff -u -re20664fadd345776194401b454326c8debd16a8f -r162b13082f81f06cabbc954697b0e2dc5e557fd7 --- lams_central/web/findUserLessons.jsp (.../findUserLessons.jsp) (revision e20664fadd345776194401b454326c8debd16a8f) +++ lams_central/web/findUserLessons.jsp (.../findUserLessons.jsp) (revision 162b13082f81f06cabbc954697b0e2dc5e557fd7) @@ -88,10 +88,13 @@ ${user.key.lastName}
    - -
  • ${lesson.lessonName}
  • + +
  • ${lessonDto.lessonName} + + + + +

Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDTO.java =================================================================== diff -u -re067b86460735bebd9946535668f0482c5a577cc -r162b13082f81f06cabbc954697b0e2dc5e557fd7 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDTO.java (.../LessonDTO.java) (revision e067b86460735bebd9946535668f0482c5a577cc) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDTO.java (.../LessonDTO.java) (revision 162b13082f81f06cabbc954697b0e2dc5e557fd7) @@ -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(); } }