mirror of
https://github.com/moodle/moodle.git
synced 2025-08-04 16:36:37 +02:00
MDL-77433 core_courseformat: use validate_cms to check capabilities
This commit is contained in:
parent
794f107e88
commit
a1ea81eb8b
1 changed files with 16 additions and 28 deletions
|
@ -512,13 +512,12 @@ class stateactions {
|
||||||
): void {
|
): void {
|
||||||
global $CFG;
|
global $CFG;
|
||||||
|
|
||||||
$this->validate_cms($course, $ids, __FUNCTION__);
|
$this->validate_cms(
|
||||||
|
$course,
|
||||||
// Check capabilities on every activity context.
|
$ids,
|
||||||
foreach ($ids as $cmid) {
|
__FUNCTION__,
|
||||||
$modcontext = context_module::instance($cmid);
|
['moodle/course:manageactivities', 'moodle/course:activityvisibility']
|
||||||
require_all_capabilities(['moodle/course:manageactivities', 'moodle/course:activityvisibility'], $modcontext);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
$format = course_get_format($course->id);
|
$format = course_get_format($course->id);
|
||||||
$modinfo = get_fast_modinfo($course);
|
$modinfo = get_fast_modinfo($course);
|
||||||
|
@ -532,6 +531,7 @@ class stateactions {
|
||||||
$coursevisible = ($allowstealth) ? 0 : 1;
|
$coursevisible = ($allowstealth) ? 0 : 1;
|
||||||
}
|
}
|
||||||
set_coursemodule_visible($cm->id, $visible, $coursevisible);
|
set_coursemodule_visible($cm->id, $visible, $coursevisible);
|
||||||
|
$modcontext = context_module::instance($cm->id);
|
||||||
course_module_updated::create_from_cm($cm, $modcontext)->trigger();
|
course_module_updated::create_from_cm($cm, $modcontext)->trigger();
|
||||||
$updates->add_cm_put($cm->id);
|
$updates->add_cm_put($cm->id);
|
||||||
}
|
}
|
||||||
|
@ -553,18 +553,18 @@ class stateactions {
|
||||||
?int $targetsectionid = null,
|
?int $targetsectionid = null,
|
||||||
?int $targetcmid = null
|
?int $targetcmid = null
|
||||||
): void {
|
): void {
|
||||||
$this->validate_cms($course, $ids, __FUNCTION__);
|
$this->validate_cms(
|
||||||
|
$course,
|
||||||
|
$ids,
|
||||||
|
__FUNCTION__,
|
||||||
|
['moodle/course:manageactivities', 'moodle/backup:backuptargetimport', 'moodle/restore:restoretargetimport']
|
||||||
|
);
|
||||||
|
|
||||||
$modinfo = get_fast_modinfo($course);
|
$modinfo = get_fast_modinfo($course);
|
||||||
$cms = $this->get_cm_info($modinfo, $ids);
|
$cms = $this->get_cm_info($modinfo, $ids);
|
||||||
|
|
||||||
// Check capabilities on every activity context.
|
// Check capabilities on every activity context.
|
||||||
foreach ($cms as $cmid => $cm) {
|
foreach ($cms as $cm) {
|
||||||
$modcontext = context_module::instance($cmid);
|
|
||||||
require_all_capabilities(
|
|
||||||
['moodle/course:manageactivities', 'moodle/backup:backuptargetimport', 'moodle/restore:restoretargetimport'],
|
|
||||||
$modcontext
|
|
||||||
);
|
|
||||||
if (!course_allowed_module($course, $cm->modname)) {
|
if (!course_allowed_module($course, $cm->modname)) {
|
||||||
throw new moodle_exception('No permission to create that activity');
|
throw new moodle_exception('No permission to create that activity');
|
||||||
}
|
}
|
||||||
|
@ -619,13 +619,7 @@ class stateactions {
|
||||||
?int $targetcmid = null
|
?int $targetcmid = null
|
||||||
): void {
|
): void {
|
||||||
|
|
||||||
$this->validate_cms($course, $ids, __FUNCTION__);
|
$this->validate_cms($course, $ids, __FUNCTION__, ['moodle/course:manageactivities']);
|
||||||
|
|
||||||
// Check capabilities on every activity context.
|
|
||||||
foreach ($ids as $cmid) {
|
|
||||||
$modcontext = context_module::instance($cmid);
|
|
||||||
require_capability('moodle/course:manageactivities', $modcontext);
|
|
||||||
}
|
|
||||||
|
|
||||||
$format = course_get_format($course->id);
|
$format = course_get_format($course->id);
|
||||||
$modinfo = get_fast_modinfo($course);
|
$modinfo = get_fast_modinfo($course);
|
||||||
|
@ -698,13 +692,7 @@ class stateactions {
|
||||||
): void {
|
): void {
|
||||||
global $DB;
|
global $DB;
|
||||||
|
|
||||||
$this->validate_cms($course, $ids, __FUNCTION__);
|
$this->validate_cms($course, $ids, __FUNCTION__, ['moodle/course:manageactivities']);
|
||||||
|
|
||||||
// Check capabilities on every activity context.
|
|
||||||
foreach ($ids as $cmid) {
|
|
||||||
$modcontext = context_module::instance($cmid);
|
|
||||||
require_capability('moodle/course:manageactivities', $modcontext);
|
|
||||||
}
|
|
||||||
$modinfo = get_fast_modinfo($course);
|
$modinfo = get_fast_modinfo($course);
|
||||||
$cms = $this->get_cm_info($modinfo, $ids);
|
$cms = $this->get_cm_info($modinfo, $ids);
|
||||||
list($insql, $inparams) = $DB->get_in_or_equal(array_keys($cms), SQL_PARAMS_NAMED);
|
list($insql, $inparams) = $DB->get_in_or_equal(array_keys($cms), SQL_PARAMS_NAMED);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue