Improve messages in cron, check end of session correctly.
authorDan Marsden <dan@danmarsden.com>
Tue, 27 Jun 2017 22:41:41 +0000 (10:41 +1200)
committerDan Marsden <dan@danmarsden.com>
Tue, 27 Jun 2017 22:41:41 +0000 (10:41 +1200)
classes/task/notify.php
locallib.php

index a5a8a3c..115779b 100644 (file)
@@ -48,6 +48,9 @@ class notify extends \core\task\scheduled_task {
         if (empty($lastrun)) {
             $lastrun = 0;
         }
+        if (!empty($lastrun)) {
+            mtrace("Get warnings to send for sessions that have ended since: ".userdate($lastrun));
+        }
 
         $orderby = 'ORDER BY cm.id, atl.studentid, n.warningpercent ASC';
         $records = attendance_get_users_to_notify(array(), $orderby, $lastrun, true);
index 0814bba..ab27a19 100644 (file)
@@ -763,7 +763,7 @@ function attendance_get_users_to_notify($courseids = array(), $orderby = '', $si
                          GROUP BY attendanceid, setnumber) stm
                      ON (stm.setnumber = ats.statusset AND stm.attendanceid = ats.attendanceid)
                   {$joingroup}
-                  WHERE ats.sessdate >= {$sincetime} {$where}
+                  WHERE (ats.sessdate + ats.duration) >= {$sincetime} {$where}
                     AND ats.lasttaken != 0
                 GROUP BY uniqueid, a.id, a.name, a.course, c.fullname, atl.studentid, n.id, n.warningpercent,
                          n.emailsubject, n.emailcontent, n.emailcontentformat, n.warnafter,