Browse Source

Added support for scales

MOODLE_29_STABLE
System Administrator 9 years ago
parent
commit
8df95e3b1d
  1. 21
      locallib.php

21
locallib.php

@ -1234,13 +1234,23 @@ class attendance {
} }
public function update_users_grade($userids) { public function update_users_grade($userids) {
global $DB;
$grades = array(); $grades = array();
if ($this->grade < 0) {
$dbparams = array('id' => -($this->grade));
$this->scale = $DB->get_record('scale', $dbparams);
$scalearray = explode(',', $this->scale->scale);
$attendancegrade = count($scalearray);
} else {
$attendancegrade = $this->grade;
}
foreach ($userids as $userid) { foreach ($userids as $userid) {
$grades[$userid] = new stdClass(); $grades[$userid] = new stdClass();
$grades[$userid]->userid = $userid; $grades[$userid]->userid = $userid;
$grades[$userid]->rawgrade = att_calc_user_grade_fraction($this->get_user_grade($userid), $grades[$userid]->rawgrade = att_calc_user_grade_fraction($this->get_user_grade($userid),
$this->get_user_max_grade($userid)) * $this->grade; $this->get_user_max_grade($userid)) * $attendancegrade;
} }
return grade_update('mod/attendance', $this->course->id, 'mod', 'attendance', return grade_update('mod/attendance', $this->course->id, 'mod', 'attendance',
@ -1703,7 +1713,14 @@ function att_update_all_users_grades($attid, $course, $context, $coursemodule) {
$userids = array_keys(get_enrolled_users($context, 'mod/attendance:canbelisted', 0, 'u.id')); $userids = array_keys(get_enrolled_users($context, 'mod/attendance:canbelisted', 0, 'u.id'));
$statuses = att_get_statuses($attid); $statuses = att_get_statuses($attid);
$gradebook_maxgrade = att_get_gradebook_maxgrade($attid); if ($this->grade < 0) {
$dbparams = array('id' => -($this->grade));
$this->scale = $DB->get_record('scale', $dbparams);
$scalearray = explode(',', $this->scale->scale);
$gradebook_maxgrade = count($scalearray);
} else {
$gradebook_maxgrade = att_get_gradebook_maxgrade($attid);
}
foreach ($userids as $userid) { foreach ($userids as $userid) {
$grade = new stdClass; $grade = new stdClass;
$grade->userid = $userid; $grade->userid = $userid;

Loading…
Cancel
Save