MDL-77572 Course: Added fix for section,activity visibility capabilities

added fix
This commit is contained in:
Santosh Nagargoje
2023-12-12 21:38:45 +05:30
parent f72244a8c2
commit 8d45a9f2a2
3 changed files with 16 additions and 4 deletions
@@ -25,6 +25,7 @@
namespace core_courseformat\output\local\content;
use cm_info;
use context_course;
use core\output\named_templatable;
use core_availability\info_module;
use core_courseformat\base as course_format;
@@ -300,7 +301,13 @@ class cm implements named_templatable, renderable {
* @return bool if the cm has editor data
*/
protected function add_editor_data(stdClass &$data, renderer_base $output): bool {
if (!$this->format->show_editor()) {
$course = $this->format->get_course();
$coursecontext = context_course::instance($course->id);
$editcaps = [];
if (has_capability('moodle/course:activityvisibility', $coursecontext)) {
$editcaps = ['moodle/course:activityvisibility'];
}
if (!$this->format->show_editor($editcaps)) {
return false;
}
$returnsection = $this->format->get_section_number();
@@ -283,11 +283,16 @@ class section implements named_templatable, renderable {
* @return bool if the cm has name data
*/
protected function add_editor_data(stdClass &$data, renderer_base $output): bool {
if (!$this->format->show_editor()) {
$course = $this->format->get_course();
$coursecontext = context_course::instance($course->id);
$editcaps = [];
if (has_capability('moodle/course:sectionvisibility', $coursecontext)) {
$editcaps = ['moodle/course:sectionvisibility'];
}
if (!$this->format->show_editor($editcaps)) {
return false;
}
$course = $this->format->get_course();
if (empty($this->hidecontrols)) {
$controlmenu = new $this->controlmenuclass($this->format, $this->section);
$data->controlmenu = $controlmenu->export_for_template($output);
+1 -1
View File
@@ -1697,7 +1697,7 @@ function course_get_cm_edit_actions(cm_info $mod, $indent = -1, $sr = null) {
}
// Move (only for component compatible formats).
if ($usecomponents) {
if ($hasmanageactivities && $usecomponents) {
$actions['move'] = new action_menu_link_secondary(
new moodle_url($baseurl, [
'sesskey' => sesskey(),