diff --git a/lib/gradelib.php b/lib/gradelib.php index a74201172cf..53a3a31f0e7 100644 --- a/lib/gradelib.php +++ b/lib/gradelib.php @@ -26,6 +26,7 @@ * Library of functions for gradebook - both public and internal * * @author Moodle HQ developers + * @version $Id$ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License * @package moodlecore */ @@ -244,15 +245,15 @@ function grade_update($source, $courseid, $itemtype, $itemmodule, $iteminstance, * @param string $itemmodule 'forum, 'quiz', etc. * @param int $iteminstance id of the item module * @param int $userid ID of the graded user - * @param array $data array itemnumber=>grade_item_id=>outcomegrade + * @param array $data array itemnumber=>outcomegrade */ 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))) { foreach ($items as $item) { - if (!array_key_exists($item->itemnumber, $data) || !array_key_exists($item->id, $data[$item->itemnumber])) { + if (!array_key_exists($item->itemnumber, $data)) { continue; } - $grade = $data[$item->itemnumber][$item->id] < 1 ? null : $data[$item->itemnumber][$item->id]; + $grade = $data[$item->itemnumber] < 1 ? null : $data[$item->itemnumber]; $item->update_final_grade($userid, $grade, $source); } } @@ -438,7 +439,7 @@ function grade_get_grades($courseid, $itemtype, $itemmodule, $iteminstance, $use $outcome->grades[$userid] = $grade; } } - $return->outcomes[$grade_item->itemnumber][$grade_item->id] = $outcome; + $return->outcomes[$grade_item->itemnumber] = $outcome; } } diff --git a/mod/assignment/lib.php b/mod/assignment/lib.php index e10f327b60d..70d58f1207e 100644 --- a/mod/assignment/lib.php +++ b/mod/assignment/lib.php @@ -692,23 +692,21 @@ class assignment_base { if (!empty($CFG->enableoutcomes) and empty($SESSION->flextable['mod-assignment-submissions']->collapse['outcome'])) { if (!empty($grading_info->outcomes)) { - foreach($grading_info->outcomes as $itemnumber=>$grade_items) { - foreach ($grade_items as $grade_item_id => $outcome) { - if ($outcome->grades[$submission->userid]->locked) { - continue; - } + foreach($grading_info->outcomes as $n=>$outcome) { + if ($outcome->grades[$submission->userid]->locked) { + continue; + } - if ($quickgrade){ - $output.= 'opener.document.getElementById("outcome_'.$itemnumber.'_'.$grade_item_id .'_'.$submission->userid. - '").selectedIndex="'.$outcome->grades[$submission->userid]->grade.'";'."\n"; + if ($quickgrade){ + $output.= 'opener.document.getElementById("outcome_'.$n.'_'.$submission->userid. + '").selectedIndex="'.$outcome->grades[$submission->userid]->grade.'";'."\n"; + + } else { + $options = make_grades_menu(-$outcome->scaleid); + $options[0] = get_string('nooutcome', 'grades'); + $output.= 'opener.document.getElementById("outcome_'.$n.'_'.$submission->userid.'").innerHTML="'.$options[$outcome->grades[$submission->userid]->grade]."\";\n"; + } - } else { - $options = make_grades_menu(-$outcome->scaleid); - $options[0] = get_string('nooutcome', 'grades'); - $output.= 'opener.document.getElementById("outcome_'.$itemnumber.'_'.$grade_item_id .'_'.$submission->userid.'") - .innerHTML="'.$options[$outcome->grades[$submission->userid]->grade]."\";\n"; - } - } } } } @@ -891,19 +889,17 @@ class assignment_base { echo '
'; if (!empty($CFG->enableoutcomes)) { - foreach($grading_info->outcomes as $itemnumber=>$grade_items) { - foreach ($grade_items as $grade_item_id => $outcome) { - echo '