MDL-45059 Availability: Hide group options with groupmembersonly
authorsam marshall <s.marshall@open.ac.uk>
Fri, 11 Apr 2014 11:05:43 +0000 (12:05 +0100)
committersam marshall <s.marshall@open.ac.uk>
Fri, 11 Apr 2014 11:11:35 +0000 (12:11 +0100)
When groupmembersonly is turned on, the 'restrict access' options
for group and grouping are supposed to appear only for sections
(which don't have groupmembersonly) and not for modules.

Prior to this fix, they appeared when creating a new module but
not when editing an existing one.

availability/condition/group/classes/frontend.php
availability/condition/grouping/classes/frontend.php

index 31f1167..499d1a4 100644 (file)
@@ -79,9 +79,11 @@ class frontend extends \core_availability\frontend {
             \section_info $section = null) {
         global $CFG;
 
-        // Group option can be used on sections, and on modules but only
-        // if groupmembersonly is turned off. (To avoid confusion.)
-        if (!is_null($cm) && $CFG->enablegroupmembersonly) {
+        // If groupmembersonly is turned on, then you can only add group
+        // restrictions on sections (which don't use groupmembersonly) and
+        // not on modules. This is to avoid confusion - otherwise
+        // there would be two ways to add restrictions based on groups.
+        if (is_null($section) && $CFG->enablegroupmembersonly) {
             return false;
         }
 
index 9dfb5e5..456fb26 100644 (file)
@@ -74,9 +74,11 @@ class frontend extends \core_availability\frontend {
             \section_info $section = null) {
         global $CFG, $DB;
 
-        // Grouping option can be used on sections, and on modules but only
-        // if groupmembersonly is turned off. (To avoid confusion.)
-        if (!is_null($cm) && $CFG->enablegroupmembersonly) {
+        // If groupmembersonly is turned on, then you can only add group
+        // restrictions on sections (which don't use groupmembersonly) and
+        // not on modules. This is to avoid confusion - otherwise
+        // there would be two ways to add restrictions based on groups.
+        if (is_null($section) && $CFG->enablegroupmembersonly) {
             return false;
         }