Browse Source

If QRpass used and auto-marking just do it.

MOODLE_37_STABLE
Dan Marsden 4 years ago
parent
commit
9a524a6143
  1. 8
      attendance.php

8
attendance.php

@ -41,6 +41,8 @@ $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST)
// Require the user is logged in. // Require the user is logged in.
require_login($course, true, $cm); require_login($course, true, $cm);
$qrpassflag = false;
// If the randomised code is on grab it. // If the randomised code is on grab it.
if ($attforsession->rotateqrcode == 1) { if ($attforsession->rotateqrcode == 1) {
$cookiename = 'attendance_'.$attforsession->id; $cookiename = 'attendance_'.$attforsession->id;
@ -60,8 +62,6 @@ if ($attforsession->rotateqrcode == 1) {
' WHERE attendanceid = ? AND expirytime > ? ORDER BY expirytime ASC LIMIT 2'; ' WHERE attendanceid = ? AND expirytime > ? ORDER BY expirytime ASC LIMIT 2';
$qrpassdatabase = $DB->get_records_sql($sql, ['attendanceid' => $id, time() - $attconfig->rotateqrcodeexpirymargin]); $qrpassdatabase = $DB->get_records_sql($sql, ['attendanceid' => $id, time() - $attconfig->rotateqrcodeexpirymargin]);
$qrpassflag = false;
foreach ($qrpassdatabase as $qrpasselement) { foreach ($qrpassdatabase as $qrpasselement) {
if ($qrpass == $qrpasselement->password) { if ($qrpass == $qrpasselement->password) {
$qrpassflag = true; $qrpassflag = true;
@ -98,8 +98,8 @@ if (empty($attforsession->includeqrcode)) {
$qrpass = ''; // Override qrpass if set, as it is not allowed. $qrpass = ''; // Override qrpass if set, as it is not allowed.
} }
// Check to see if autoassignstatus is in use and no password required. // Check to see if autoassignstatus is in use and no password required or Qrpass given and passed.
if ($attforsession->autoassignstatus && empty($attforsession->studentpassword)) { if ($attforsession->autoassignstatus && (empty($attforsession->studentpassword)) || $qrpassflag) {
$statusid = attendance_session_get_highest_status($att, $attforsession); $statusid = attendance_session_get_highest_status($att, $attforsession);
$url = new moodle_url('/mod/attendance/view.php', array('id' => $cm->id)); $url = new moodle_url('/mod/attendance/view.php', array('id' => $cm->id));
if (empty($statusid)) { if (empty($statusid)) {

Loading…
Cancel
Save