redirect($returnurl);
} else if ($data = $mform->get_data(false)) {
+ // If no fullname is entered for a course category, put ? in the DB
+ if (!isset($data->fullname) || $data->fullname == '') {
+ $data->fullname = '?';
+ }
+
if (!isset($data->aggregateonlygraded)) {
$data->aggregateonlygraded = 0;
}
$mform->removeElement('aggregatesubcats');
}
}
+
+ // If it is a course category, remove the "required" rule from the "fullname" element
+ if ($grade_category->is_course_category()) {
+ unset($mform->_rules['fullname']);
+ $key = array_search('fullname', $mform->_required);
+ unset($mform->_required[$key]);
+ }
+
+ // If it is a course category and its fullname is ?, show an empty field
+ if ($grade_category->is_course_category() && $mform->getElementValue('fullname') == '?') {
+ $mform->setDefault('fullname', '');
+ }
}
// no parent header for course category
$mform->removeElement('headerparent');
}
- }
-
+ }
}
?>
// create course category
$course_category = new object();
$course_category->courseid = $courseid;
- $course_category->fullname = get_string('coursegradecategory', 'grades');
+ $course_category->fullname = '?';
$course_category->parent = null;
$course_category->aggregation = GRADE_AGGREGATE_WEIGHTED_MEAN2;
$course_category->timemodified = $course_category->timecreated = time();
*/
function insert_course_category($courseid) {
$this->courseid = $courseid;
- $this->fullname = get_string('coursegradecategory', 'grades');
+ $this->fullname = '?';
$this->path = null;
$this->parent = null;
$this->aggregation = GRADE_AGGREGATE_WEIGHTED_MEAN2;
* @return string name
*/
function get_name() {
- if (empty($this->parent)) {
+ // For a course category, we return the course name if the fullname is set to '?' in the DB (empty in the category edit form)
+ if (empty($this->parent) && $this->fullname == '?') {
$course = get_record('course', 'id', $this->courseid);
return format_string($course->fullname);
} else {