From a51897d8d046979c42129a462be2eca65c8bb07e Mon Sep 17 00:00:00 2001 From: Andrew Davis Date: Fri, 30 Jul 2010 06:39:50 +0000 Subject: [PATCH] gradebook MDL-23577 updated grade_update_outcomes to return a success/failure flag --- lib/gradelib.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/gradelib.php b/lib/gradelib.php index 02ea8e62317..8c3d495790d 100644 --- a/lib/gradelib.php +++ b/lib/gradelib.php @@ -312,17 +312,21 @@ function grade_update($source, $courseid, $itemtype, $itemmodule, $iteminstance, * @param int $iteminstance id of the item module * @param int $userid ID of the graded user * @param array $data array itemnumber=>outcomegrade + * @return boolean returns true if grade items were found and updated successfully */ function grade_update_outcomes($source, $courseid, $itemtype, $itemmodule, $iteminstance, $userid, $data) { if ($items = grade_item::fetch_all(array('itemtype'=>$itemtype, 'itemmodule'=>$itemmodule, 'iteminstance'=>$iteminstance, 'courseid'=>$courseid))) { + $result = true; foreach ($items as $item) { if (!array_key_exists($item->itemnumber, $data)) { continue; } $grade = $data[$item->itemnumber] < 1 ? null : $data[$item->itemnumber]; - $item->update_final_grade($userid, $grade, $source); + $result = ($item->update_final_grade($userid, $grade, $source) && $result); } + return $result; } + return false; } /**