diff --git a/mod/lesson/overridedelete.php b/mod/lesson/overridedelete.php index 8f23eb8053e..bd213e00a73 100644 --- a/mod/lesson/overridedelete.php +++ b/mod/lesson/overridedelete.php @@ -49,6 +49,16 @@ require_login($course, false, $cm); // Check the user has the required capabilities to modify an override. require_capability('mod/lesson:manageoverrides', $context); +if ($override->groupid) { + if (!groups_group_visible($override->groupid, $course, $cm)) { + print_error('invalidoverrideid', 'lesson'); + } +} else { + if (!groups_user_groups_visible($course, $override->userid, $cm)) { + print_error('invalidoverrideid', 'lesson'); + } +} + $url = new moodle_url('/mod/lesson/overridedelete.php', array('id' => $override->id)); $confirmurl = new moodle_url($url, array('id' => $override->id, 'confirm' => 1)); $cancelurl = new moodle_url('/mod/lesson/overrides.php', array('cmid' => $cm->id)); diff --git a/mod/lesson/overrideedit.php b/mod/lesson/overrideedit.php index 0268b35e8f6..68f8251d9dc 100644 --- a/mod/lesson/overrideedit.php +++ b/mod/lesson/overrideedit.php @@ -76,6 +76,16 @@ require_capability('mod/lesson:manageoverrides', $context); if ($overrideid) { // Editing an override. $data = clone $override; + + if ($override->groupid) { + if (!groups_group_visible($override->groupid, $course, $cm)) { + print_error('invalidoverrideid', 'lesson'); + } + } else { + if (!groups_user_groups_visible($course, $override->userid, $cm)) { + print_error('invalidoverrideid', 'lesson'); + } + } } else { // Creating a new override. $data = new stdClass();