MDL-86857 core_courseformat: Deprecates set_coursemodule_groupmode
Deprecates set_coursemodule_groupmode in favor of core_courseformat\cmactions::set_groupmode
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
issueNumber: MDL-86857
|
||||
notes:
|
||||
core_course:
|
||||
- message: >-
|
||||
Deprecates set_coursemodule_groupmode in favor of
|
||||
core_courseformat\cmactions::set_groupmode
|
||||
type: deprecated
|
||||
@@ -27,6 +27,7 @@
|
||||
defined('MOODLE_INTERNAL') || die;
|
||||
|
||||
use core_course\external\course_summary_exporter;
|
||||
use core_courseformat\formatactions;
|
||||
use core_external\external_api;
|
||||
use core_external\external_description;
|
||||
use core_external\external_files;
|
||||
@@ -3749,7 +3750,7 @@ class core_course_external extends external_api {
|
||||
} else {
|
||||
$newgroupmode = NOGROUPS;
|
||||
}
|
||||
if (set_coursemodule_groupmode($cm->id, $newgroupmode)) {
|
||||
if (formatactions::cm($coursecontext->instanceid)->set_groupmode($cm->id, $newgroupmode)) {
|
||||
\core\event\course_module_updated::create_from_cm($cm, $modcontext)->trigger();
|
||||
}
|
||||
break;
|
||||
|
||||
+10
-8
@@ -614,15 +614,17 @@ function course_add_cm_to_section($courseorid, $cmid, $sectionnum, $beforemod =
|
||||
* @param int $groupmode the new groupmode value.
|
||||
* @return bool True if the $groupmode was updated.
|
||||
*/
|
||||
#[\core\attribute\deprecated(
|
||||
replacement: 'core_courseformat\local\cmactions',
|
||||
since: '5.2',
|
||||
mdl: 'MDL-86857',
|
||||
reason: 'Replaced by an equivalent in the course format cmactions.',
|
||||
)]
|
||||
function set_coursemodule_groupmode($id, $groupmode) {
|
||||
global $DB;
|
||||
$cm = $DB->get_record('course_modules', array('id' => $id), 'id,course,groupmode', MUST_EXIST);
|
||||
if ($cm->groupmode != $groupmode) {
|
||||
$DB->set_field('course_modules', 'groupmode', $groupmode, array('id' => $cm->id));
|
||||
\course_modinfo::purge_course_module_cache($cm->course, $cm->id);
|
||||
rebuild_course_cache($cm->course, false, true);
|
||||
}
|
||||
return ($cm->groupmode != $groupmode);
|
||||
\core\deprecation::emit_deprecation(__FUNCTION__);
|
||||
|
||||
$coursecontext = context_module::instance($id)->get_course_context();
|
||||
return formatactions::cm($coursecontext->instanceid)->set_groupmode($id, $groupmode);
|
||||
}
|
||||
|
||||
function set_coursemodule_idnumber($id, $idnumber) {
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
* @package course
|
||||
*/
|
||||
|
||||
use core_courseformat\formatactions;
|
||||
|
||||
require("../config.php");
|
||||
require_once("lib.php");
|
||||
|
||||
@@ -336,7 +338,7 @@ if ((!empty($movetosection) or !empty($moveto)) and confirm_sesskey()) {
|
||||
$modcontext = context_module::instance($cm->id);
|
||||
require_capability('moodle/course:manageactivities', $modcontext);
|
||||
|
||||
set_coursemodule_groupmode($cm->id, $groupmode);
|
||||
formatactions::cm($coursecontext->instanceid)->set_groupmode($cm->id, $groupmode);
|
||||
\core\event\course_module_updated::create_from_cm($cm, $modcontext)->trigger();
|
||||
redirect(course_get_url($course, $cm->sectionnum, $urloptions));
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
namespace core_enrol;
|
||||
|
||||
use context_course;
|
||||
use core_courseformat\formatactions;
|
||||
use course_enrolment_manager;
|
||||
use stdClass;
|
||||
|
||||
@@ -593,7 +594,7 @@ final class course_enrolment_manager_test extends \advanced_testcase {
|
||||
// Switch course to separate groups and forum to no group.
|
||||
$this->course->groupmode = SEPARATEGROUPS;
|
||||
update_course($this->course);
|
||||
set_coursemodule_groupmode($forum->cmid, NOGROUPS);
|
||||
formatactions::cm($this->course->id)->set_groupmode($forum->cmid, NOGROUPS);
|
||||
|
||||
$courseusers = (new course_enrolment_manager($PAGE, $this->course))->search_users('', false, 0, 25, true);
|
||||
$this->assertEqualsCanonicalizing([
|
||||
@@ -615,7 +616,7 @@ final class course_enrolment_manager_test extends \advanced_testcase {
|
||||
], array_column($forumusers['users'], 'username'));
|
||||
$this->assertEquals(7, $forumusers['totalusers']);
|
||||
|
||||
set_coursemodule_groupmode($forum->cmid, SEPARATEGROUPS);
|
||||
formatactions::cm($this->course->id)->set_groupmode($forum->cmid, SEPARATEGROUPS);
|
||||
|
||||
// Allow teacher to access all groups.
|
||||
$roleid = $DB->get_field('role', 'id', ['shortname' => 'teacher']);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
namespace core_enrol;
|
||||
|
||||
use core_courseformat\formatactions;
|
||||
use core_enrol_external;
|
||||
use core_external\external_api;
|
||||
use enrol_user_enrolment_form;
|
||||
@@ -1479,7 +1480,7 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
|
||||
$this->assertCount(7, $result);
|
||||
|
||||
// Now change the group mode to no groups.
|
||||
set_coursemodule_groupmode($forum->cmid, NOGROUPS);
|
||||
formatactions::cm($course->id)->set_groupmode($forum->cmid, NOGROUPS);
|
||||
$this->setUser($teacher1);
|
||||
$result = core_enrol_external::search_users($course->id, 'user', true, 0, 30, $contextid);
|
||||
$this->assertCount(7, $result);
|
||||
|
||||
@@ -27,6 +27,7 @@ namespace mod_bigbluebuttonbn;
|
||||
|
||||
use calendar_event;
|
||||
use context_module;
|
||||
use core_courseformat\formatactions;
|
||||
use mod_bigbluebuttonbn\test\testcase_helper_trait;
|
||||
use mod_bigbluebuttonbn_mod_form;
|
||||
use MoodleQuickForm;
|
||||
@@ -136,7 +137,7 @@ final class lib_test extends \advanced_testcase {
|
||||
$datagenerator = $this->getDataGenerator();
|
||||
list($bbactivitycontext, $bbactivitycm, $bbactivity) = $this->create_instance();
|
||||
$course = $this->get_course();
|
||||
set_coursemodule_groupmode($bbactivitycm->id, VISIBLEGROUPS);
|
||||
formatactions::cm($this->course->id)->set_groupmode($bbactivitycm->id, VISIBLEGROUPS);
|
||||
|
||||
$groups = [];
|
||||
foreach (['G1', 'G2'] as $gname) {
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
*/
|
||||
namespace mod_data;
|
||||
|
||||
use core_courseformat\formatactions;
|
||||
use stdClass;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
@@ -1158,7 +1159,7 @@ final class lib_test extends \advanced_testcase {
|
||||
$field1 = $datagenerator->create_field($fieldrecord, $data1);
|
||||
$data2 = $this->getDataGenerator()->create_module('data', array('course' => $course2->id));
|
||||
$field2 = $datagenerator->create_field($fieldrecord, $data2);
|
||||
set_coursemodule_groupmode($data2->cmid, SEPARATEGROUPS);
|
||||
formatactions::cm($course1->id)->set_groupmode($data2->cmid, SEPARATEGROUPS);
|
||||
|
||||
$record11 = $datagenerator->create_entry($data1, [$field1->field->id => 'value11'],
|
||||
0, ['Cats', 'Dogs']);
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
|
||||
namespace mod_data\search;
|
||||
|
||||
use core_courseformat\formatactions;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -643,7 +645,7 @@ final class search_test extends \advanced_testcase {
|
||||
$this->assertTrue($searcharea->restrict_cm_access_by_group($modinfo->get_cm($data->cmid)));
|
||||
|
||||
// In visible groups mode, it won't request restriction by group.
|
||||
set_coursemodule_groupmode($data->cmid, VISIBLEGROUPS);
|
||||
formatactions::cm($course->id)->set_groupmode($data->cmid, VISIBLEGROUPS);
|
||||
$modinfo = get_fast_modinfo($course);
|
||||
$this->assertFalse($searcharea->restrict_cm_access_by_group($modinfo->get_cm($data->cmid)));
|
||||
}
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
namespace mod_forum\search;
|
||||
|
||||
use core_courseformat\formatactions;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -288,7 +290,7 @@ final class search_test extends \advanced_testcase {
|
||||
$this->assertTrue($searcharea->restrict_cm_access_by_group($modinfo->get_cm($forum->cmid)));
|
||||
|
||||
// In visible groups mode, it won't request restriction by group.
|
||||
set_coursemodule_groupmode($forum->cmid, VISIBLEGROUPS);
|
||||
formatactions::cm($course->id)->set_groupmode($forum->cmid, VISIBLEGROUPS);
|
||||
$modinfo = get_fast_modinfo($course);
|
||||
$this->assertFalse($searcharea->restrict_cm_access_by_group($modinfo->get_cm($forum->cmid)));
|
||||
}
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
*/
|
||||
namespace mod_wiki\search;
|
||||
|
||||
use core_courseformat\formatactions;
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
global $CFG;
|
||||
@@ -194,7 +196,7 @@ final class search_test extends \advanced_testcase {
|
||||
$this->assertTrue($searcharea->restrict_cm_access_by_group($modinfo->get_cm($wiki->cmid)));
|
||||
|
||||
// In visible groups mode, it won't request restriction by group.
|
||||
set_coursemodule_groupmode($wiki->cmid, VISIBLEGROUPS);
|
||||
formatactions::cm($course->id)->set_groupmode($wiki->cmid, VISIBLEGROUPS);
|
||||
$modinfo = get_fast_modinfo($course);
|
||||
$this->assertFalse($searcharea->restrict_cm_access_by_group($modinfo->get_cm($wiki->cmid)));
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
namespace core_rating;
|
||||
|
||||
use core_courseformat\formatactions;
|
||||
use core_external\external_api;
|
||||
use core_rating_external;
|
||||
|
||||
@@ -213,7 +214,7 @@ final class externallib_test extends \core_external\tests\externallib_testcase {
|
||||
}
|
||||
|
||||
// Test for groupmode.
|
||||
set_coursemodule_groupmode($this->forum->cmid, SEPARATEGROUPS);
|
||||
formatactions::cm($this->course->id)->set_groupmode($this->forum->cmid, SEPARATEGROUPS);
|
||||
$group = $this->getDataGenerator()->create_group(array('courseid' => $this->course->id));
|
||||
groups_add_member($group, $this->teacher1);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user