]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-10109 Only creating new category when at least 2 grade_items (inc. outcome or...
authornicolasconnault <nicolasconnault>
Thu, 2 Aug 2007 14:33:29 +0000 (14:33 +0000)
committernicolasconnault <nicolasconnault>
Thu, 2 Aug 2007 14:33:29 +0000 (14:33 +0000)
course/modedit.php

index 0175d46ab7a9797f288fbb887d70adfbe91be173..56fa981c50e6f5501fc63ac418a841c3fcbd42af 100644 (file)
 
             // 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);
+                    }
                 }
             }
         }