MDL-66733 grade: Add helper to get correct user date for grade

This commit is contained in:
Andrew Nicols 2019-08-28 09:24:16 +08:00
parent 1c3efe48f8
commit 4bb39eabc7
8 changed files with 99 additions and 57 deletions

View file

@ -1201,22 +1201,15 @@ function data_user_outline($course, $user, $mod, $data) {
}
return $result;
} else if ($grade) {
$result = new stdClass();
$result = (object) [
'time' => grade_get_date_for_user_grade($grade, $user),
];
if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) {
$result->info = get_string('grade') . ': ' . $grade->str_long_grade;
} else {
$result->info = get_string('grade') . ': ' . get_string('hidden', 'grades');
}
//datesubmitted == time created. dategraded == time modified or time overridden
//if grade was last modified by the user themselves use date graded. Otherwise use date submitted
//TODO: move this copied & pasted code somewhere in the grades API. See MDL-26704
if ($grade->usermodified == $user->id || empty($grade->datesubmitted)) {
$result->time = $grade->dategraded;
} else {
$result->time = $grade->datesubmitted;
}
return $result;
}
return NULL;