$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);
+ }
}
//--------------------------------------------------------------------------------
$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);
}
$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;
}