MDL-38101 Completion: Error when teacher/admin marks activity complete
authorsam marshall <s.marshall@open.ac.uk>
Tue, 19 Feb 2013 16:54:13 +0000 (16:54 +0000)
committersam marshall <s.marshall@open.ac.uk>
Fri, 1 Mar 2013 11:18:31 +0000 (11:18 +0000)
course/togglecompletion.php

index e1e0c17..53992db 100644 (file)
@@ -138,14 +138,17 @@ if (isguestuser() or !confirm_sesskey()) {
     print_error('error');
 }
 
-// Now change state
+// Set up completion object and check it is enabled.
 $completion = new completion_info($course);
 if (!$completion->is_enabled()) {
     throw new moodle_exception('completionnotenabled', 'completion');
-} elseif (!$completion->is_tracked_user($USER->id)) {
-    throw new moodle_exception('nottracked', 'completion');
 }
 
+// NOTE: All users are allowed to toggle their completion state, including
+// users for whom completion information is not directly tracked. (I.e. even
+// if you are a teacher, or admin who is not enrolled, you can still toggle
+// your own completion state. You just don't appear on the reports.)
+
 // Check completion state is manual
 if($cm->completion != COMPLETION_TRACKING_MANUAL) {
     error_or_ajax('cannotmanualctrack', $fromajax);