Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/MonitoringConstants.java =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/MonitoringConstants.java,v diff -u -r1.16 -r1.17 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/MonitoringConstants.java 5 Dec 2011 22:04:28 -0000 1.16 +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/MonitoringConstants.java 1 Mar 2012 18:29:38 -0000 1.17 @@ -63,4 +63,5 @@ public static final int COURSE_TYPE_HAVENT_STARTED_PARTICULAR_LESSON = 8; public static final int COURSE_TYPE_HAVENT_STARTED_ANY_LESSONS = 9; public static final int COURSE_TYPE_HAVE_FINISHED_THESE_LESSONS = 10; + public static final int COURSE_TYPE_HAVENT_FINISHED_THESE_LESSONS = 11; } \ No newline at end of file Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java,v diff -u -r1.162 -r1.163 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java 14 Feb 2012 18:57:02 -0000 1.162 +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java 1 Mar 2012 18:29:38 -0000 1.163 @@ -1717,8 +1717,26 @@ } } break; - } + case MonitoringConstants.COURSE_TYPE_HAVENT_FINISHED_THESE_LESSONS: + users = new TreeSet(); + + //add all available users from selected lessons + for (String lessonIdStr : lessonIds) { + lessonId = Long.parseLong(lessonIdStr); + lesson = learnerService.getLesson(lessonId); + users.addAll(lesson.getAllLearners()); + } + + //subtract the ones which have completed any of the selected lessons + for (String lessonIdStr : lessonIds) { + lessonId = Long.parseLong(lessonIdStr); + List completedLesson = getUsersCompletedLesson(lessonId); + users = CollectionUtils.subtract(users, completedLesson); + } + break; + } + Set sortedUsers = new TreeSet(new Comparator() { public int compare(User usr0, User usr1) { return ((usr0.getFirstName() + usr0.getLastName() + usr0.getLogin()).compareTo(usr1.getFirstName() + usr1.getLastName() + usr1.getLogin())); 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.3 -r1.4 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/EmailNotificationsAction.java 5 Dec 2011 22:04:29 -0000 1.3 +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/EmailNotificationsAction.java 1 Mar 2012 18:29:38 -0000 1.4 @@ -337,9 +337,10 @@ break; case MonitoringConstants.COURSE_TYPE_HAVENT_STARTED_ANY_LESSONS: - case MonitoringConstants.COURSE_TYPE_HAVE_FINISHED_THESE_LESSONS: case MonitoringConstants.COURSE_TYPE_HAVE_FINISHED_PARTICULAR_LESSON: case MonitoringConstants.COURSE_TYPE_HAVENT_STARTED_PARTICULAR_LESSON: + case MonitoringConstants.COURSE_TYPE_HAVE_FINISHED_THESE_LESSONS: + case MonitoringConstants.COURSE_TYPE_HAVENT_FINISHED_THESE_LESSONS: Integer organisationId = WebUtil.readIntParam(request, AttributeNames.PARAM_ORGANISATION_ID); Assert.notNull(organisationId); map.put(AttributeNames.PARAM_ORGANISATION_ID, organisationId); @@ -366,6 +367,7 @@ map.put(AttributeNames.PARAM_LESSON_ID, lessonId); break; case MonitoringConstants.COURSE_TYPE_HAVE_FINISHED_THESE_LESSONS: + case MonitoringConstants.COURSE_TYPE_HAVENT_FINISHED_THESE_LESSONS: String[] lessonIds = request.getParameterValues(AttributeNames.PARAM_LESSON_ID); Assert.notNull(lessonIds); map.put("lessonIDs", lessonIds); Index: lams_monitoring/web/emailnotifications/courseNotifications.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/web/emailnotifications/courseNotifications.jsp,v diff -u -r1.2 -r1.3 --- lams_monitoring/web/emailnotifications/courseNotifications.jsp 5 Dec 2011 16:03:30 -0000 1.2 +++ lams_monitoring/web/emailnotifications/courseNotifications.jsp 1 Mar 2012 18:29:38 -0000 1.3 @@ -193,7 +193,7 @@ //process in case of "Have finished these lessons" var lessonIds = ""; - if (searchType == 10) { + if ((searchType == 10) || (searchType == 11)) { $("#lessonsDiv").show(); var ids = jQuery("#lessonsTable").getGridParam('selarrrow'); @@ -244,6 +244,7 @@ +