]> git.mjollnir.org Git - moodle.git/commitdiff
hide hidden grades from users with no capability in user report
authortoyomoyo <toyomoyo>
Fri, 24 Aug 2007 07:14:23 +0000 (07:14 +0000)
committertoyomoyo <toyomoyo>
Fri, 24 Aug 2007 07:14:23 +0000 (07:14 +0000)
grade/report/user/lib.php
lang/en_utf8/grades.php

index 40e6331bd408badcb5043de186464740f166e68b..0fa14c15a4ccb4ea6810f23207c40d5979fabac2 100644 (file)
@@ -139,46 +139,53 @@ class grade_report_user extends grade_report {
                     $excluded = '';
                 }
 
-                if ($grade_item->scaleid) {
-                    // using scales
-                    if ($scale = get_record('scale', 'id', $grade_item->scaleid)) {
-                        $scales = explode(",", $scale->scale);
-                        // reindex because scale is off 1
-                        // invalid grade if gradeval < 1
-                        if ((int) $grade_grade->finalgrade < 1) {
-                            $data[] = $excluded.'-';
-                        } else {
-                            $data[] = $excluded.$scales[$grade_grade->finalgrade-1];
+                if ($grade_grade->is_hidden() && !has_capability('moodle/grade:viewhidden', get_context_instance(CONTEXT_COURSE, $grade_item->courseid))) {
+                    $data[] = get_string('gradedon', 'grades', userdate($grade_grade->timemodified));
+                 
+                } else {
+                    if ($grade_item->scaleid) {
+                        // using scales
+                        if ($scale = get_record('scale', 'id', $grade_item->scaleid)) {
+                            $scales = explode(",", $scale->scale);
+                            // reindex because scale is off 1
+                            // invalid grade if gradeval < 1
+                            if ((int) $grade_grade->finalgrade < 1) {
+                                $data[] = $excluded.'-';
+                            } else {
+                                $data[] = $excluded.$scales[$grade_grade->finalgrade-1];
+                            }
                         }
+                    } else {
+                        // normal grade, or text, just display
+                        $data[] = $excluded.format_float($grade_grade->finalgrade, $decimalpoints);
                     }
-                } else {
-                    // normal grade, or text, just display
-                    $data[] = $excluded.format_float($grade_grade->finalgrade, $decimalpoints);
                 }
-
                 /// prints percentage
 
-                if ($grade_item->gradetype == GRADE_TYPE_VALUE) {
-                    // processing numeric grade
-                    if ($grade_grade->finalgrade) {
-                        $percentage = format_float(($grade_grade->finalgrade / $grade_item->grademax) * 100, $decimalpoints).'%';
+                if ($grade_grade->is_hidden() && !has_capability('moodle/grade:viewhidden', get_context_instance(CONTEXT_COURSE, $grade_item->courseid))) {
+                    $data[] = get_string('gradedon', 'grades', userdate($grade_grade->timemodified));
+                } else {
+                    if ($grade_item->gradetype == GRADE_TYPE_VALUE) {
+                        // processing numeric grade
+                        if ($grade_grade->finalgrade) {
+                            $percentage = format_float(($grade_grade->finalgrade / $grade_item->grademax) * 100, $decimalpoints).'%';
+                        } else {
+                            $percentage = '-';
+                        }
+
+                    } else if ($grade_item->gradetype == GRADE_TYPE_SCALE) {
+                        // processing scale grade
+                        $scale = get_record('scale', 'id', $grade_item->scaleid);
+                        $scalevals = explode(",", $scale->scale);
+                        $percentage = format_float(($grade_grade->finalgrade) / count($scalevals) * 100, $decimalpoints).'%';
+
                     } else {
+                        // text grade
                         $percentage = '-';
                     }
 
-                } else if ($grade_item->gradetype == GRADE_TYPE_SCALE) {
-                    // processing scale grade
-                    $scale = get_record('scale', 'id', $grade_item->scaleid);
-                    $scalevals = explode(",", $scale->scale);
-                    $percentage = format_float(($grade_grade->finalgrade) / count($scalevals) * 100, $decimalpoints).'%';
-
-                } else {
-                    // text grade
-                    $percentage = '-';
+                    $data[] = $percentage;
                 }
-
-                $data[] = $percentage;
-
                 /// prints rank
                 if ($grade_grade->finalgrade) {
                     /// find the number of users with a higher grade
index 531e19388f7d3e7bbc966bc730b09be5972c9f1a..b8ecda0c5cb107a1e195fc781a1db5ec948c486b 100644 (file)
@@ -153,6 +153,7 @@ $string['gradebookhistories'] = 'Grade histories';
 $string['gradeboundary'] = 'Letter grade boundary';
 $string['gradecategory'] = 'Grade Category';
 $string['gradecategoryhelp'] = 'Grade Category Help';
+$string['gradedon'] = 'Graded $a';
 $string['gradedisplaytype'] = 'Grade display type';
 $string['gradeexceptions'] = 'Grade Exceptions';
 $string['gradeexceptionshelp'] = 'Grade Exceptions Help';