diff --git a/course/moodleform_mod.php b/course/moodleform_mod.php index c28680c5845..18d5894b376 100644 --- a/course/moodleform_mod.php +++ b/course/moodleform_mod.php @@ -213,6 +213,7 @@ abstract class moodleform_mod extends moodleform { $this->_features->showdescription = plugin_supports('mod', $this->_modname, FEATURE_SHOW_DESCRIPTION, false); $this->_features->gradecat = ($this->_features->outcomes or $this->_features->hasgrades); $this->_features->advancedgrading = plugin_supports('mod', $this->_modname, FEATURE_ADVANCED_GRADING, false); + $this->_features->hasnoview = plugin_supports('mod', $this->_modname, FEATURE_NO_VIEW_LINK, false); $this->_features->canrescale = (component_callback_exists('mod_' . $this->_modname, 'rescale_activity_grades') !== false); } @@ -613,7 +614,10 @@ abstract class moodleform_mod extends moodleform { $mform->addElement('header', 'modstandardelshdr', get_string('modstandardels', 'form')); $section = get_fast_modinfo($COURSE)->get_section_info($this->_section); - $allowstealth = !empty($CFG->allowstealth) && $this->courseformat->allow_stealth_module_visibility($this->_cm, $section); + $allowstealth = + !empty($CFG->allowstealth) && + $this->courseformat->allow_stealth_module_visibility($this->_cm, $section) && + !$this->_features->hasnoview; if ($allowstealth && $section->visible) { $modvisiblelabel = 'modvisiblewithstealth'; } else if ($section->visible) { diff --git a/mod/label/db/upgrade.php b/mod/label/db/upgrade.php index 7f631dd7f16..9185a98c8d5 100644 --- a/mod/label/db/upgrade.php +++ b/mod/label/db/upgrade.php @@ -45,7 +45,7 @@ defined('MOODLE_INTERNAL') || die; function xmldb_label_upgrade($oldversion) { - global $CFG; + global $CFG, $DB; // Automatically generated Moodle v3.9.0 release upgrade line. // Put any upgrade step following this. @@ -53,5 +53,18 @@ function xmldb_label_upgrade($oldversion) { // Automatically generated Moodle v4.0.0 release upgrade line. // Put any upgrade step following this. + if ($oldversion < 2022101300) { + $module = $DB->get_field('modules', 'id', ['name' => 'label']); + $DB->execute(' + UPDATE {course_modules} + SET visible = 0, visibleoncoursepage = 1 + WHERE module = :module + AND visible = 1 + AND visibleoncoursepage = 0', + ['module' => $module] + ); + upgrade_mod_savepoint(true, 2022101300, 'label'); + } + return true; } diff --git a/mod/label/version.php b/mod/label/version.php index 2ff503f4404..f6bc3e3d220 100644 --- a/mod/label/version.php +++ b/mod/label/version.php @@ -24,7 +24,7 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2022041900; // The current module version (Date: YYYYMMDDXX). +$plugin->version = 2022101300; // The current module version (Date: YYYYMMDDXX). $plugin->requires = 2022041200; // Requires this Moodle version. $plugin->component = 'mod_label'; // Full name of the plugin (used for diagnostics) $plugin->cron = 0;