mirror of
https://github.com/moodle/moodle.git
synced 2025-08-06 01:16:44 +02:00
MDL-65138 course: add a setting for course publishing
This commit is contained in:
parent
3271c39c74
commit
73fabadadd
7 changed files with 18 additions and 6 deletions
|
@ -3994,7 +3994,7 @@ function course_get_user_administration_options($course, $context) {
|
|||
$options->outcomes = !empty($CFG->enableoutcomes) && has_capability('moodle/course:update', $context);
|
||||
$options->badges = !empty($CFG->enablebadges);
|
||||
$options->import = has_capability('moodle/restore:restoretargetimport', $context);
|
||||
$options->publish = has_capability('moodle/course:publish', $context);
|
||||
$options->publish = !empty($CFG->enablecoursepublishing) && has_capability('moodle/course:publish', $context);
|
||||
$options->reset = has_capability('moodle/course:reset', $context);
|
||||
$options->roles = has_capability('moodle/role:switchroles', $context);
|
||||
} else {
|
||||
|
|
|
@ -45,8 +45,9 @@ $hubcourseid = required_param('hubcourseid', PARAM_INT);
|
|||
//some permissions and parameters checking
|
||||
$course = $DB->get_record('course', array('id'=>$id), '*', MUST_EXIST);
|
||||
require_login($course);
|
||||
if (!has_capability('moodle/course:publish', context_course::instance($id))
|
||||
or !confirm_sesskey()) {
|
||||
|
||||
$context = context_course::instance($courseid);
|
||||
if (empty($CFG->enablecoursepublishing) || !has_capability('moodle/course:publish', $context) || !confirm_sesskey()) {
|
||||
throw new moodle_exception('nopermission');
|
||||
}
|
||||
|
||||
|
|
|
@ -39,7 +39,10 @@ $PAGE->set_pagelayout('incourse');
|
|||
$PAGE->set_title(get_string('publish', 'core_hub') . ': ' . $COURSE->fullname);
|
||||
$PAGE->set_heading($COURSE->fullname);
|
||||
|
||||
require_capability('moodle/course:publish', context_course::instance($courseid));
|
||||
$context = context_course::instance($courseid);
|
||||
if (empty($CFG->enablecoursepublishing) || !has_capability('moodle/course:publish', $context)) {
|
||||
throw new moodle_exception('nopermission');
|
||||
}
|
||||
|
||||
// If the site is not registered display an error page.
|
||||
if (!\core\hub\registration::is_registered()) {
|
||||
|
|
|
@ -46,7 +46,10 @@ $PAGE->set_pagelayout('incourse');
|
|||
$PAGE->set_title(get_string('course') . ': ' . $course->fullname);
|
||||
$PAGE->set_heading($course->fullname);
|
||||
|
||||
require_capability('moodle/course:publish', context_course::instance($id));
|
||||
$context = context_course::instance($courseid);
|
||||
if (empty($CFG->enablecoursepublishing) || !has_capability('moodle/course:publish', $context)) {
|
||||
throw new moodle_exception('nopermission');
|
||||
}
|
||||
|
||||
// Retrieve hub name and hub url.
|
||||
require_sesskey();
|
||||
|
|
|
@ -3193,7 +3193,7 @@ class core_course_courselib_testcase extends advanced_testcase {
|
|||
$this->assertFalse($adminoptions->outcomes);
|
||||
$this->assertTrue($adminoptions->badges);
|
||||
$this->assertTrue($adminoptions->import);
|
||||
$this->assertTrue($adminoptions->publish);
|
||||
$this->assertFalse($adminoptions->publish);
|
||||
$this->assertTrue($adminoptions->reset);
|
||||
$this->assertTrue($adminoptions->roles);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue