From d886a7ea77214a819e5dec4ddfdc6e28d39ed0c5 Mon Sep 17 00:00:00 2001 From: skodak Date: Wed, 13 Feb 2008 09:24:02 +0000 Subject: [PATCH] MDL-13375 reverting, the bug is somewhere else --- lib/gradelib.php | 9 +++-- mod/assignment/lib.php | 87 +++++++++++++++++++----------------------- 2 files changed, 44 insertions(+), 52 deletions(-) diff --git a/lib/gradelib.php b/lib/gradelib.php index a74201172c..53a3a31f0e 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 e10f327b60..70d58f1207 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 '
'; - $options = make_grades_menu(-$outcome->scaleid); - if ($outcome->grades[$submission->userid]->locked) { - $options[0] = get_string('nooutcome', 'grades'); - echo $options[$outcome->grades[$submission->userid]->grade]; - } else { - choose_from_menu($options, 'outcome_'.$itemnumber.'_'.$grade_item_id .'['.$userid.']', $outcome->grades[$submission->userid]->grade, get_string('nooutcome', 'grades'), '', 0, false, false, 0, 'menuoutcome_'.$itemnumber.'_'.$grade_item_id); - } - echo '
'; - echo '
'; + foreach($grading_info->outcomes as $n=>$outcome) { + echo '
'; + $options = make_grades_menu(-$outcome->scaleid); + if ($outcome->grades[$submission->userid]->locked) { + $options[0] = get_string('nooutcome', 'grades'); + echo $options[$outcome->grades[$submission->userid]->grade]; + } else { + choose_from_menu($options, 'outcome_'.$n.'['.$userid.']', $outcome->grades[$submission->userid]->grade, get_string('nooutcome', 'grades'), '', 0, false, false, 0, 'menuoutcome_'.$n); } + echo '
'; + echo '
'; } } @@ -1261,22 +1257,19 @@ class assignment_base { if ($uses_outcomes) { - foreach($grading_info->outcomes as $itemnumber=>$grade_items) { - foreach ($grade_items as $grade_item_id => $outcome) { - $outcomes .= '
'; - $options = make_grades_menu(-$outcome->scaleid); - - if ($outcome->grades[$auser->id]->locked or !$quickgrade) { - $options[0] = get_string('nooutcome', 'grades'); - $outcomes .= ': '.$options[$outcome->grades[$auser->id]->grade].''; - } else { - $outcomes .= ' '; - $outcomes .= choose_from_menu($options, 'outcome_'.$itemnumber.'_'.$grade_item_id . '['.$auser->id.']', - $outcome->grades[$auser->id]->grade, get_string('nooutcome', 'grades'), '', 0, true, false, 0, - 'outcome_'.$itemnumber.'_'.$grade_item_id .'_'.$auser->id); - } - $outcomes .= '
'; + foreach($grading_info->outcomes as $n=>$outcome) { + $outcomes .= '
'; + $options = make_grades_menu(-$outcome->scaleid); + + if ($outcome->grades[$auser->id]->locked or !$quickgrade) { + $options[0] = get_string('nooutcome', 'grades'); + $outcomes .= ': '.$options[$outcome->grades[$auser->id]->grade].''; + } else { + $outcomes .= ' '; + $outcomes .= choose_from_menu($options, 'outcome_'.$n.'['.$auser->id.']', + $outcome->grades[$auser->id]->grade, get_string('nooutcome', 'grades'), '', 0, true, false, 0, 'outcome_'.$n.'_'.$auser->id); } + $outcomes .= '
'; } } @@ -1426,12 +1419,10 @@ class assignment_base { $grading_info = grade_get_grades($this->course->id, 'mod', 'assignment', $this->assignment->id, $userid); if (!empty($grading_info->outcomes)) { - foreach($grading_info->outcomes as $itemnumber=>$grade_items) { - foreach ($grade_items as $grade_item_id => $old) { - $name = 'outcome_' . $itemnumber . '_' . $grade_item_id; - if (isset($formdata->{$name}[$userid]) and $old->grades[$userid]->grade != $formdata->{$name}[$userid]) { - $data[$itemnumber][$grade_item_id] = $formdata->{$name}[$userid]; - } + foreach($grading_info->outcomes as $n=>$old) { + $name = 'outcome_'.$n; + if (isset($formdata->{$name}[$userid]) and $old->grades[$userid]->grade != $formdata->{$name}[$userid]) { + $data[$n] = $formdata->{$name}[$userid]; } } } -- 2.39.5