Fixed #21: No Grade attendance - added to gradebook on attendance update
authorArtem Andreev <andreev.artem@gmail.com>
Fri, 28 Sep 2012 12:17:56 +0000 (16:17 +0400)
committerArtem Andreev <andreev.artem@gmail.com>
Fri, 28 Sep 2012 12:17:56 +0000 (16:17 +0400)
locallib.php

index 5ba1339..522752c 100644 (file)
@@ -828,7 +828,7 @@ class attforblock {
         $rec->lasttakenby = $USER->id;
         $DB->update_record('attendance_sessions', $rec);
 
-        $this->update_users_grade(array_keys($sesslog));
+        if ($this->grade != 0) $this->update_users_grade(array_keys($sesslog));
 
         $params = array(
                 'sessionid' => $this->pageparams->sessionid,
@@ -1010,6 +1010,7 @@ class attforblock {
         $grades = array();
 
         foreach ($userids as $userid) {
+            $grades[$userid] = new stdClass();
             $grades[$userid]->userid = $userid;
             $grades[$userid]->rawgrade = att_calc_user_grade_fraction($this->get_user_grade($userid), $this->get_user_max_grade($userid)) * $this->grade;
         }