Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/EmailNotificationsAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/EmailNotificationsAction.java,v diff -u -r1.4 -r1.5 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/EmailNotificationsAction.java 1 Mar 2012 18:29:38 -0000 1.4 +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/EmailNotificationsAction.java 20 Mar 2012 18:14:05 -0000 1.5 @@ -52,6 +52,7 @@ import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.dao.ILearnerProgressDAO; import org.lamsfoundation.lams.lesson.service.ILessonService; +import org.lamsfoundation.lams.lesson.util.LessonComparator; import org.lamsfoundation.lams.monitoring.MonitoringConstants; import org.lamsfoundation.lams.monitoring.dto.EmailScheduleMessageJobDTO; import org.lamsfoundation.lams.monitoring.service.IMonitoringService; @@ -138,8 +139,16 @@ // getting the organisation Organisation org = (Organisation) learnerService.getUserManagementService().findById(Organisation.class, orgId); - Set lessons = org.getLessons(); + //sort and filter lesson list + Set lessons = new TreeSet(new LessonComparator()); + for (Lesson lesson : (Set)org.getLessons()) { + if (!Lesson.REMOVED_STATE.equals(lesson.getLessonStateId()) + && !Lesson.FINISHED_STATE.equals(lesson.getLessonStateId())) { + lessons.add(lesson); + } + } + Lesson firstLesson = null; Iterator lessonIter = lessons.iterator(); if (lessonIter.hasNext()) {