diff --git a/grade/report/grader/index.php b/grade/report/grader/index.php
index bc6db1a9b27..73df5ee26b3 100644
--- a/grade/report/grader/index.php
+++ b/grade/report/grader/index.php
@@ -200,9 +200,10 @@ if (empty($users)) {
// phase 2 sql, we supply the userids in this query, and get all the grades
// pulls out all the grades, this does not need to worry about paging
-$sql = "SELECT g.id, g.itemid, g.userid, g.finalgrade
- FROM {$CFG->prefix}grade_grades g,
- {$CFG->prefix}grade_items gi
+$sql = "SELECT g.id, g.itemid, g.userid, g.finalgrade, g.hidden, g.locked, g.locktime, gt.feedback
+ FROM {$CFG->prefix}grade_items gi,
+ {$CFG->prefix}grade_grades g
+ LEFT JOIN {$CFG->prefix}grade_grades_text gt ON g.itemid = gt.itemid AND g.userid = gt.userid
WHERE g.itemid = gi.id
AND gi.courseid = $courseid $userselect";
@@ -213,7 +214,7 @@ $finalgrades = array();
if ($grades = get_records_sql($sql)) {
foreach ($grades as $grade) {
- $finalgrades[$grade->userid][$grade->itemid] = $grade->finalgrade;
+ $finalgrades[$grade->userid][$grade->itemid] = $grade;
}
}
@@ -250,9 +251,9 @@ $cathtml = '
';
if (isset($finalgrades[$userid][$item['object']->id])) {
- $gradeval = $finalgrades[$userid][$item['object']->id];
+ $gradeval = $finalgrades[$userid][$item['object']->id]->finalgrade;
+ $grade_grades = new grade_grades($finalgrades[$userid][$item['object']->id], false);
} else {
$gradeval = '-';
+ $grade_grades = new grade_grades(array('userid' => $userid, 'itemid' => $item['object']->id), false);
}
// if in editting mode, we need to print either a text box
// or a drop down (for scales)
if ($USER->gradeediting) {
+ // We need to retrieve each grade_grade object from DB in order to
+ // know if they are hidden/locked
+
if ($item['object']->scaleid) {
if ($scale = get_record('scale', 'id', $item['object']->scaleid)) {
$scales = explode(",", $scale->scale);
@@ -356,6 +387,11 @@ foreach ($users as $userid => $user) {
} else {
$studentshtml .= '';
}
+
+ // Do not show any icons if no grade (no record in DB to match)
+ if (!empty($grade_grades->id)) {
+ $studentshtml .= grade_get_icons($grade_grades, $gtree);
+ }
} else {
// finalgrades[$userid][$itemid] could be null because of the outer join
// in this case it's different than a 0
@@ -392,7 +428,7 @@ $reporthtml .= "";
// print submit button
if ($USER->gradeediting) {
- echo '