From db1218a970f3c4f62f3fc59e8ec0e95d8fc1ab15 Mon Sep 17 00:00:00 2001 From: Petr Skoda Date: Wed, 14 Jul 2010 14:23:32 +0000 Subject: [PATCH] MDL-23255 fixed inverted isset preventing visibility change in course edit form (creadit goes to Jay Knight) + fixed visibility of new course in hidden category when not allowed to change visibility; improved comments --- course/edit_form.php | 8 ++++++-- course/lib.php | 13 ++++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/course/edit_form.php b/course/edit_form.php index f69f1b20314..c37d99d0bd4 100644 --- a/course/edit_form.php +++ b/course/edit_form.php @@ -200,9 +200,13 @@ class course_edit_form extends moodleform { $mform->addElement('select', 'visible', get_string('availability'), $choices); $mform->addHelpButton('visible', 'availability'); $mform->setDefault('visible', $courseconfig->visible); - if (!empty($course->id) and !has_capability('moodle/course:visibility', $coursecontext)) { + if (!has_capability('moodle/course:visibility', $context)) { $mform->hardFreeze('visible'); - $mform->setConstant('visible', $course->visible); + if (!empty($course->id)) { + $mform->setConstant('visible', $course->visible); + } else { + $mform->setConstant('visible', $category->visible); + } } //-------------------------------------------------------------------------------- diff --git a/course/lib.php b/course/lib.php index af19fc2d262..7335c699e82 100644 --- a/course/lib.php +++ b/course/lib.php @@ -3471,12 +3471,11 @@ function create_course($data, $editoroptions = NULL) { $data->summary_format = FORMAT_HTML; } - // init visible flags - if (isset($data->visible)) { - $data->visibleold = $data->visible; - } else { - $data->visibleold = $data->visible = 1; + if (!isset($data->visible)) { + // data not from form, add missing visibility info + $data->visible = $category->category; } + $data->visibleold = $data->visible; $newcourseid = $DB->insert_record('course', $data); $context = get_context_instance(CONTEXT_COURSE, $newcourseid, MUST_EXIST); @@ -3557,8 +3556,8 @@ function update_course($data, $editoroptions = NULL) { } $movecat = (isset($data->category) and $oldcourse->category != $data->category); - // init visible flags - if (isset($data->visible)) { + if (!isset($data->visible)) { + // data not from form, add missing visibility info $data->visible = $oldcourse->visible; } -- 2.43.0