} if (!isset($data->aggregateonlygraded)) { $data->aggregateonlygraded = 0; } if (!isset($data->aggregateoutcomes)) { $data->aggregateoutcomes = 0; } grade_category::set_properties($grade_category, $data); if (empty($grade_category->id)) { $grade_category->insert(); } else { $grade_category->update(); } // Handle user preferences if (isset($data->pref_aggregationview)) { if (!grade_report::set_pref('aggregationview', $data->pref_aggregationview, $grade_category->id)) { error("Could not set preference aggregationview to {$value} for this grade category"); } } // set parent if needed if (isset($data->parentcategory)) { $grade_category->set_parent($data->parentcategory, 'gradebook'); } // update agg coef if needed if (isset($data->aggregationcoef)) { $data->aggregationcoef = unformat_float($data->aggregationcoef); $grade_item = $grade_category->load_grade_item(); $grade_item->aggregationcoef = $data->aggregationcoef; $grade_item->update(); } redirect($returnurl);