mirror of
https://github.com/moodle/moodle.git
synced 2025-04-13 12:32:08 +02:00
MDL-10109 Only creating new category when at least 2 grade_items (inc. outcome or normal grade)
This commit is contained in:
parent
1a85d89a0b
commit
2d6df44f7f
@ -359,33 +359,38 @@
|
||||
|
||||
// Create a grade_category to represent this module, if outcomes have been attached
|
||||
if (!empty($grade_items)) {
|
||||
$cat_params = array('courseid'=>$COURSE->id, 'fullname'=>$fromform->name);
|
||||
$grade_category = grade_category::fetch($cat_params);
|
||||
|
||||
if (!$grade_category) {
|
||||
$grade_category = new grade_category($cat_params);
|
||||
$grade_category->courseid = $COURSE->id;
|
||||
$grade_category->fullname = $fromform->name;
|
||||
$grade_category->insert();
|
||||
}
|
||||
|
||||
$sortorder = $grade_category->sortorder;
|
||||
|
||||
// Add the module's normal grade_item as a child of this category
|
||||
$item_params = array('itemtype'=>'mod',
|
||||
'itemmodule'=>$fromform->modulename,
|
||||
'iteminstance'=>$fromform->instance,
|
||||
'itemnumber'=>0,
|
||||
'courseid'=>$COURSE->id);
|
||||
if ($item = grade_item::fetch($item_params)) {
|
||||
$item->set_parent($grade_category->id);
|
||||
$sortorder = $item->sortorder;
|
||||
}
|
||||
$item = grade_item::fetch($item_params);
|
||||
|
||||
// Add the outcomes as children of this category
|
||||
foreach ($grade_items as $gi) {
|
||||
$gi->set_parent($grade_category->id);
|
||||
$gi->move_after_sortorder($sortorder);
|
||||
// Only create the category if it will contain at least 2 items
|
||||
if ($item OR count($grade_items) > 1) { // If we are here it means there is at least 1 outcome
|
||||
$cat_params = array('courseid'=>$COURSE->id, 'fullname'=>$fromform->name);
|
||||
$grade_category = grade_category::fetch($cat_params);
|
||||
|
||||
if (!$grade_category) {
|
||||
$grade_category = new grade_category($cat_params);
|
||||
$grade_category->courseid = $COURSE->id;
|
||||
$grade_category->fullname = $fromform->name;
|
||||
$grade_category->insert();
|
||||
}
|
||||
|
||||
$sortorder = $grade_category->sortorder;
|
||||
|
||||
if () {
|
||||
$item->set_parent($grade_category->id);
|
||||
$sortorder = $item->sortorder;
|
||||
}
|
||||
|
||||
// Add the outcomes as children of this category
|
||||
foreach ($grade_items as $gi) {
|
||||
$gi->set_parent($grade_category->id);
|
||||
$gi->move_after_sortorder($sortorder);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user