Index: lams_tool_preview/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r0d5ed4bdbfb191f7ffefc64a35c31cf48b55f0b0 -r581e5a41ce76c74db82cbcafb6b80f911c832edb --- lams_tool_preview/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 0d5ed4bdbfb191f7ffefc64a35c31cf48b55f0b0) +++ lams_tool_preview/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 581e5a41ce76c74db82cbcafb6b80f911c832edb) @@ -131,7 +131,9 @@ event.sent.results.no.results = No results msg.results.sent = {0} Email(s) Sent button.email.results = Email Results -label.notify.user.of.results = Notify students of results +label.notify.user.of.results = Notify group members of results +label.notify.user.of.results.all = Notify all learners of results +label.notified.users.of.results = Emails have been sent to this group label.number.of.team.members = No of team members label.average = Average label.for.user = For {0} Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/IPeerreviewService.java =================================================================== diff -u -r0d5ed4bdbfb191f7ffefc64a35c31cf48b55f0b0 -r581e5a41ce76c74db82cbcafb6b80f911c832edb --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/IPeerreviewService.java (.../IPeerreviewService.java) (revision 0d5ed4bdbfb191f7ffefc64a35c31cf48b55f0b0) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/IPeerreviewService.java (.../IPeerreviewService.java) (revision 581e5a41ce76c74db82cbcafb6b80f911c832edb) @@ -312,7 +312,7 @@ String generateEmailReportToUser(Long toolContentId, Long sessionId, Long userId); /** Send an email with the user's results to each user in the session */ - int emailReportToSessionUsers(Long toolContentId, Long sessionId); + int emailReportToUsers(Long toolContentId, Long sessionId); /** Send an email (generated previously with generateEmailReportToUser()) to the specified user in the session */ int emailReportToUser(Long toolContentId, Long sessionId, Long userId, String emailReportToUser); Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java =================================================================== diff -u -r0d5ed4bdbfb191f7ffefc64a35c31cf48b55f0b0 -r581e5a41ce76c74db82cbcafb6b80f911c832edb --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java (.../PeerreviewServiceImpl.java) (revision 0d5ed4bdbfb191f7ffefc64a35c31cf48b55f0b0) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java (.../PeerreviewServiceImpl.java) (revision 581e5a41ce76c74db82cbcafb6b80f911c832edb) @@ -233,6 +233,7 @@ GroupSummary group = new GroupSummary(); group.setSessionId(session.getSessionId()); group.setSessionName(session.getSessionName()); + group.setEmailsSent(session.isEmailsSent()); groupSet.add(group); } @@ -511,21 +512,35 @@ } @Override - public int emailReportToSessionUsers(Long toolContentId, Long sessionId) { - if (log.isDebugEnabled()) { - log.debug("Sending email with results to all learners for session ID " + sessionId); + public int emailReportToUsers(Long toolContentId, Long sessionId) { + List sessions = null; + if (sessionId == null) { + sessions = peerreviewSessionDao.getByContentId(toolContentId); + } else { + sessions = List.of(peerreviewSessionDao.getSessionBySessionId(sessionId)); } - PeerreviewSession session = peerreviewSessionDao.getSessionBySessionId(sessionId); - Peerreview peerreview = getPeerreviewByContentId(toolContentId); - Map emails = new EmailAnalysisBuilder(peerreview, session, ratingService, peerreviewSessionDao, - peerreviewUserDao, this, messageService).generateHTMLEmailsForSession(); - for (Map.Entry entry : emails.entrySet()) { - eventNotificationService.sendMessage(null, entry.getKey().intValue(), - IEventNotificationService.DELIVERY_METHOD_MAIL, getResultsEmailSubject(peerreview), - entry.getValue(), true); + int emailsSent = 0; + for (PeerreviewSession session : sessions) { + if (log.isDebugEnabled()) { + log.debug("Sending email with results to all learners for session ID " + session.getSessionId()); + } + Peerreview peerreview = getPeerreviewByContentId(toolContentId); + Map emails = new EmailAnalysisBuilder(peerreview, session, ratingService, + peerreviewSessionDao, peerreviewUserDao, this, messageService).generateHTMLEmailsForSession(); + for (Map.Entry entry : emails.entrySet()) { + eventNotificationService.sendMessage(null, entry.getKey().intValue(), + IEventNotificationService.DELIVERY_METHOD_MAIL, getResultsEmailSubject(peerreview), + entry.getValue(), true); + } + + session.setEmailsSent(true); + peerreviewSessionDao.update(session); + + emailsSent += emails.size(); } - return emails.size(); + + return emailsSent; } @Override