-
Bug
-
Resolution: Won't Do
-
Minor
-
None
-
2.8.1
-
MOODLE_28_STABLE
-
-
Team B Sprint 1
the completion criteria that are packaged with core iterate through their completion criteria, and when a record is identified, they mark the requirement as complete, and pass a timestamp to indicate when it was completed. This can be seen here:
https://github.com/moodle/moodle/blob/master/completion/criteria/completion_criteria_course.php#L197
https://github.com/moodle/moodle/blob/master/completion/criteria/completion_criteria_grade.php#L225
Currently, the completion_criteria_completion::mark_complete() function does not take a timestamp value. see: https://github.com/moodle/moodle/blob/master/completion/completion_criteria_completion.php#L106
Rather than remove the values being passed to mark_complete(), It should be that mark_complete can accept and use a timestamp. If this doesn't happen, the completion time is bound by the cron-run time rather than the actual time the action happened.
The attached patch corrects mark_complete() to accept a timestamp, and use it if it's available. If not, the system time() is used as before.
- has a non-specific relationship to
-
MDL-59993 Course and activity completion dates do not reflect graded dates
-
- Closed
-
- has been marked as being related by
-
MDL-53532 completion_criteria_course wrong timecompleted
-
- Closed
-
- is blocked by
-
MDL-48697 Completion directory is not recognized by Moodle as a valid component directory
-
- Closed
-