MDL-49146 single-activity course format: key activity must be visible
authorTim Hunt <T.J.Hunt@open.ac.uk>
Sat, 6 Feb 2016 14:55:46 +0000 (14:55 +0000)
committerTim Hunt <T.J.Hunt@open.ac.uk>
Sat, 6 Feb 2016 14:55:46 +0000 (14:55 +0000)
With a single-activity course, visibility to students is controlled by
course visibility. There is no sense in having the key activity not
visible to students, and, if you did, the symptoms were almost
incomprehensible. It was very hard to work out what you had done wrong.

course/format/singleactivity/lib.php

index 65cd546..813e2c6 100644 (file)
@@ -230,8 +230,16 @@ class format_singleactivity extends format_base {
         }
 
         // Make sure the current activity is in the 0-section.
+        $changed = false;
         if ($activity && $activity->sectionnum != 0) {
             moveto_module($activity, $modinfo->get_section_info(0));
+            $changed = true;
+        }
+        if ($activity && !$activity->visible) {
+            set_coursemodule_visible($activity->id, 1);
+            $changed = true;
+        }
+        if ($changed) {
             // Cache was reset so get modinfo again.
             $modinfo = get_fast_modinfo($this->courseid);
         }