Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java =================================================================== diff -u -r6f214206866d2d5d96d2c98655707c7588402aef -r1b2445732246bf119bd59390cb6c84eee6405ae2 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision 6f214206866d2d5d96d2c98655707c7588402aef) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision 1b2445732246bf119bd59390cb6c84eee6405ae2) @@ -31,6 +31,7 @@ import java.util.Set; import java.util.SortedSet; +import org.lamsfoundation.lams.events.EmailNotificationArchive; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.GateActivity; import org.lamsfoundation.lams.learningdesign.Group; @@ -670,4 +671,8 @@ */ void archiveEmailNotification(Integer organisationId, Long lessonId, Integer searchType, String body, Set recipients); + + List getArchivedEmailNotifications(Integer organisationId); + + List getArchivedEmailNotifications(Long lessonId); } \ No newline at end of file Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -r6f214206866d2d5d96d2c98655707c7588402aef -r1b2445732246bf119bd59390cb6c84eee6405ae2 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 6f214206866d2d5d96d2c98655707c7588402aef) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 1b2445732246bf119bd59390cb6c84eee6405ae2) @@ -1672,6 +1672,18 @@ baseDAO.insert(new EmailNotificationArchive(organisationId, lessonId, searchType, null, body, recipients)); } + @SuppressWarnings("unchecked") + @Override + public List getArchivedEmailNotifications(Integer organisationId) { + return baseDAO.findByProperty(EmailNotificationArchive.class, "organisationId", organisationId); + } + + @SuppressWarnings("unchecked") + @Override + public List getArchivedEmailNotifications(Long lessonId) { + return baseDAO.findByProperty(EmailNotificationArchive.class, "lessonId", lessonId); + } + /** * Returns list of users who has already finished specified lesson. * Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/EmailNotificationsAction.java =================================================================== diff -u -r6f214206866d2d5d96d2c98655707c7588402aef -r1b2445732246bf119bd59390cb6c84eee6405ae2 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/EmailNotificationsAction.java (.../EmailNotificationsAction.java) (revision 6f214206866d2d5d96d2c98655707c7588402aef) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/EmailNotificationsAction.java (.../EmailNotificationsAction.java) (revision 1b2445732246bf119bd59390cb6c84eee6405ae2) @@ -29,6 +29,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.TimeZone; @@ -47,6 +48,7 @@ import org.apache.tomcat.util.json.JSONArray; import org.apache.tomcat.util.json.JSONException; import org.apache.tomcat.util.json.JSONObject; +import org.lamsfoundation.lams.events.EmailNotificationArchive; import org.lamsfoundation.lams.events.IEventNotificationService; import org.lamsfoundation.lams.learning.service.ICoreLearnerService; import org.lamsfoundation.lams.learningdesign.Activity; @@ -247,7 +249,8 @@ */ public ActionForward showArchivedEmails(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException, SchedulerException { - getUserManagementService(); + IMonitoringService monitoringService = MonitoringServiceProxy + .getMonitoringService(getServlet().getServletContext()); Long lessonId = WebUtil.readLongParam(request, AttributeNames.PARAM_LESSON_ID, true); boolean isLessonNotifications = (lessonId != null); Integer organisationId = WebUtil.readIntParam(request, AttributeNames.PARAM_ORGANISATION_ID, true); @@ -257,12 +260,18 @@ response.sendError(HttpServletResponse.SC_FORBIDDEN, "The user is not a monitor in the lesson"); return null; } + + List notifications = monitoringService.getArchivedEmailNotifications(lessonId); + request.setAttribute("notifications", notifications); } else { if (!getSecurityService().isGroupMonitor(organisationId, getCurrentUser().getUserID(), "show scheduled course course email notifications", false)) { response.sendError(HttpServletResponse.SC_FORBIDDEN, "The user is not a monitor in the organisation"); return null; } + List notifications = monitoringService + .getArchivedEmailNotifications(organisationId); + request.setAttribute("notifications", notifications); } request.setAttribute(AttributeNames.PARAM_LESSON_ID, lessonId); Index: lams_monitoring/web/emailnotifications/archivedEmailList.jsp =================================================================== diff -u -r41771fed1bd0652923d05a84de584769dcfe0ef7 -r1b2445732246bf119bd59390cb6c84eee6405ae2 --- lams_monitoring/web/emailnotifications/archivedEmailList.jsp (.../archivedEmailList.jsp) (revision 41771fed1bd0652923d05a84de584769dcfe0ef7) +++ lams_monitoring/web/emailnotifications/archivedEmailList.jsp (.../archivedEmailList.jsp) (revision 1b2445732246bf119bd59390cb6c84eee6405ae2) @@ -17,6 +17,11 @@ +