From: nicolasconnault Date: Thu, 2 Aug 2007 14:33:29 +0000 (+0000) Subject: MDL-10109 Only creating new category when at least 2 grade_items (inc. outcome or... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=2d6df44f7f588081ab8ad47fa6f60ef9f3600be9;p=moodle.git MDL-10109 Only creating new category when at least 2 grade_items (inc. outcome or normal grade) --- diff --git a/course/modedit.php b/course/modedit.php index 0175d46ab7..56fa981c50 100644 --- a/course/modedit.php +++ b/course/modedit.php @@ -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); + + // 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(); + } - // Add the outcomes as children of this category - foreach ($grade_items as $gi) { - $gi->set_parent($grade_category->id); - $gi->move_after_sortorder($sortorder); + $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); + } } } }