diff --git a/mod/assign/lib.php b/mod/assign/lib.php index 718b7b46ec0..36971fded7f 100644 --- a/mod/assign/lib.php +++ b/mod/assign/lib.php @@ -1627,7 +1627,11 @@ function assign_user_outline($course, $user, $coursemodule, $assignment) { return null; } $result = new stdClass(); - $result->info = get_string('outlinegrade', 'assign', $gradebookgrade->str_long_grade); + if (!$gradingitem->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $result->info = get_string('outlinegrade', 'assign', $gradebookgrade->str_long_grade); + } else { + $result->info = get_string('grade') . ': ' . get_string('hidden', 'grades'); + } $result->time = $gradebookgrade->dategraded; return $result; diff --git a/mod/data/lib.php b/mod/data/lib.php index 797b2bec6f1..0fe8e85ac26 100644 --- a/mod/data/lib.php +++ b/mod/data/lib.php @@ -1192,12 +1192,20 @@ function data_user_outline($course, $user, $mod, $data) { ORDER BY timemodified DESC', array($data->id, $user->id), true); $result->time = $lastrecord->timemodified; if ($grade) { - $result->info .= ', ' . get_string('grade') . ': ' . $grade->str_long_grade; + if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $result->info .= ', ' . get_string('grade') . ': ' . $grade->str_long_grade; + } else { + $result->info = get_string('grade') . ': ' . get_string('hidden', 'grades'); + } } return $result; } else if ($grade) { $result = new stdClass(); - $result->info = get_string('grade') . ': ' . $grade->str_long_grade; + if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $result->info = get_string('grade') . ': ' . $grade->str_long_grade; + } else { + $result->info = get_string('grade') . ': ' . get_string('hidden', 'grades'); + } //datesubmitted == time created. dategraded == time modified or time overridden //if grade was last modified by the user themselves use date graded. Otherwise use date submitted @@ -1229,9 +1237,13 @@ function data_user_complete($course, $user, $mod, $data) { $grades = grade_get_grades($course->id, 'mod', 'data', $data->id, $user->id); if (!empty($grades->items[0]->grades)) { $grade = reset($grades->items[0]->grades); - echo $OUTPUT->container(get_string('grade').': '.$grade->str_long_grade); - if ($grade->str_feedback) { - echo $OUTPUT->container(get_string('feedback').': '.$grade->str_feedback); + if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + echo $OUTPUT->container(get_string('grade').': '.$grade->str_long_grade); + if ($grade->str_feedback) { + echo $OUTPUT->container(get_string('feedback').': '.$grade->str_feedback); + } + } else { + echo $OUTPUT->container(get_string('grade') . ': ' . get_string('hidden', 'grades')); } } diff --git a/mod/forum/lib.php b/mod/forum/lib.php index 50e28663a48..6ae5f1ae337 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -1271,12 +1271,20 @@ function forum_user_outline($course, $user, $mod, $forum) { $result->info = get_string("numposts", "forum", $count->postcount); $result->time = $count->lastpost; if ($grade) { - $result->info .= ', ' . get_string('grade') . ': ' . $grade->str_long_grade; + if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $result->info .= ', ' . get_string('grade') . ': ' . $grade->str_long_grade; + } else { + $result->info = get_string('grade') . ': ' . get_string('hidden', 'grades'); + } } return $result; } else if ($grade) { $result = new stdClass(); - $result->info = get_string('grade') . ': ' . $grade->str_long_grade; + if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $result->info = get_string('grade') . ': ' . $grade->str_long_grade; + } else { + $result->info = get_string('grade') . ': ' . get_string('hidden', 'grades'); + } //datesubmitted == time created. dategraded == time modified or time overridden //if grade was last modified by the user themselves use date graded. Otherwise use date submitted @@ -1308,9 +1316,13 @@ function forum_user_complete($course, $user, $mod, $forum) { $grades = grade_get_grades($course->id, 'mod', 'forum', $forum->id, $user->id); if (!empty($grades->items[0]->grades)) { $grade = reset($grades->items[0]->grades); - echo $OUTPUT->container(get_string('grade').': '.$grade->str_long_grade); - if ($grade->str_feedback) { - echo $OUTPUT->container(get_string('feedback').': '.$grade->str_feedback); + if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + echo $OUTPUT->container(get_string('grade').': '.$grade->str_long_grade); + if ($grade->str_feedback) { + echo $OUTPUT->container(get_string('feedback').': '.$grade->str_feedback); + } + } else { + echo $OUTPUT->container(get_string('grade') . ': ' . get_string('hidden', 'grades')); } } diff --git a/mod/glossary/lib.php b/mod/glossary/lib.php index 30fe89c2ba0..b447071a10f 100644 --- a/mod/glossary/lib.php +++ b/mod/glossary/lib.php @@ -262,12 +262,20 @@ function glossary_user_outline($course, $user, $mod, $glossary) { $result->time = $lastentry->timemodified; if ($grade) { - $result->info .= ', ' . get_string('grade') . ': ' . $grade->str_long_grade; + if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $result->info .= ', ' . get_string('grade') . ': ' . $grade->str_long_grade; + } else { + $result->info = get_string('grade') . ': ' . get_string('hidden', 'grades'); + } } return $result; } else if ($grade) { $result = new stdClass(); - $result->info = get_string('grade') . ': ' . $grade->str_long_grade; + if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $result->info = get_string('grade') . ': ' . $grade->str_long_grade; + } else { + $result->info = get_string('grade') . ': ' . get_string('hidden', 'grades'); + } //datesubmitted == time created. dategraded == time modified or time overridden //if grade was last modified by the user themselves use date graded. Otherwise use date submitted @@ -319,9 +327,13 @@ function glossary_user_complete($course, $user, $mod, $glossary) { $grades = grade_get_grades($course->id, 'mod', 'glossary', $glossary->id, $user->id); if (!empty($grades->items[0]->grades)) { $grade = reset($grades->items[0]->grades); - echo $OUTPUT->container(get_string('grade').': '.$grade->str_long_grade); - if ($grade->str_feedback) { - echo $OUTPUT->container(get_string('feedback').': '.$grade->str_feedback); + if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + echo $OUTPUT->container(get_string('grade').': '.$grade->str_long_grade); + if ($grade->str_feedback) { + echo $OUTPUT->container(get_string('feedback').': '.$grade->str_feedback); + } + } else { + echo $OUTPUT->container(get_string('grade') . ': ' . get_string('hidden', 'grades')); } } diff --git a/mod/lesson/lib.php b/mod/lesson/lib.php index 5898fc3b86f..686e3ca5c60 100644 --- a/mod/lesson/lib.php +++ b/mod/lesson/lib.php @@ -406,7 +406,11 @@ function lesson_user_outline($course, $user, $mod, $lesson) { $return->info = get_string("nolessonattempts", "lesson"); } } else { - $return->info = get_string("grade") . ': ' . $grade->str_long_grade; + if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $return->info = get_string('grade') . ': ' . $grade->str_long_grade; + } else { + $return->info = get_string('grade') . ': ' . get_string('hidden', 'grades'); + } // Datesubmitted == time created. dategraded == time modified or time overridden. // If grade was last modified by the user themselves use date graded. Otherwise use date submitted. @@ -463,13 +467,18 @@ function lesson_user_complete($course, $user, $mod, $lesson) { $status = get_string("nolessonattempts", "lesson"); } } else { - $status = get_string("grade") . ': ' . $grade->str_long_grade; + if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $status = get_string("grade") . ': ' . $grade->str_long_grade; + } else { + $status = get_string('grade') . ': ' . get_string('hidden', 'grades'); + } } // Display the grade or lesson status if there isn't one. echo $OUTPUT->container($status); - if ($grade->str_feedback) { + if ($grade->str_feedback && + (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id)))) { echo $OUTPUT->container(get_string('feedback').': '.$grade->str_feedback); } } diff --git a/mod/scorm/lib.php b/mod/scorm/lib.php index 35db9076dac..dac66db3997 100644 --- a/mod/scorm/lib.php +++ b/mod/scorm/lib.php @@ -353,7 +353,11 @@ function scorm_user_outline($course, $user, $mod, $scorm) { if (!empty($grades->items[0]->grades)) { $grade = reset($grades->items[0]->grades); $result = new stdClass(); - $result->info = get_string('grade') . ': '. $grade->str_long_grade; + if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $result->info = get_string('grade') . ': '. $grade->str_long_grade; + } else { + $result->info = get_string('grade') . ': ' . get_string('hidden', 'grades'); + } // Datesubmitted == time created. dategraded == time modified or time overridden // if grade was last modified by the user themselves use date graded. Otherwise use date submitted. @@ -401,9 +405,13 @@ function scorm_user_complete($course, $user, $mod, $scorm) { $grades = grade_get_grades($course->id, 'mod', 'scorm', $scorm->id, $user->id); if (!empty($grades->items[0]->grades)) { $grade = reset($grades->items[0]->grades); - echo $OUTPUT->container(get_string('grade').': '.$grade->str_long_grade); - if ($grade->str_feedback) { - echo $OUTPUT->container(get_string('feedback').': '.$grade->str_feedback); + if (!$grade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + echo $OUTPUT->container(get_string('grade').': '.$grade->str_long_grade); + if ($grade->str_feedback) { + echo $OUTPUT->container(get_string('feedback').': '.$grade->str_feedback); + } + } else { + echo $OUTPUT->container(get_string('grade') . ': ' . get_string('hidden', 'grades')); } } diff --git a/mod/workshop/lib.php b/mod/workshop/lib.php index ebe39db4ee9..8cdf52b3c05 100644 --- a/mod/workshop/lib.php +++ b/mod/workshop/lib.php @@ -408,13 +408,23 @@ function workshop_user_outline($course, $user, $mod, $workshop) { if (!empty($grades->items[0]->grades)) { $submissiongrade = reset($grades->items[0]->grades); - $info .= get_string('submissiongrade', 'workshop') . ': ' . $submissiongrade->str_long_grade . html_writer::empty_tag('br'); $time = max($time, $submissiongrade->dategraded); + if (!$submissiongrade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $info .= get_string('submissiongrade', 'workshop') . ': ' . $submissiongrade->str_long_grade + . html_writer::empty_tag('br'); + } else { + $info .= get_string('submissiongrade', 'workshop') . ': ' . get_string('hidden', 'grades') + . html_writer::empty_tag('br'); + } } if (!empty($grades->items[1]->grades)) { $assessmentgrade = reset($grades->items[1]->grades); - $info .= get_string('gradinggrade', 'workshop') . ': ' . $assessmentgrade->str_long_grade; $time = max($time, $assessmentgrade->dategraded); + if (!$assessmentgrade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $info .= get_string('gradinggrade', 'workshop') . ': ' . $assessmentgrade->str_long_grade; + } else { + $info .= get_string('gradinggrade', 'workshop') . ': ' . get_string('hidden', 'grades'); + } } if (!empty($info) and !empty($time)) { @@ -447,12 +457,20 @@ function workshop_user_complete($course, $user, $mod, $workshop) { if (!empty($grades->items[0]->grades)) { $submissiongrade = reset($grades->items[0]->grades); - $info = get_string('submissiongrade', 'workshop') . ': ' . $submissiongrade->str_long_grade; + if (!$submissiongrade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $info = get_string('submissiongrade', 'workshop') . ': ' . $submissiongrade->str_long_grade; + } else { + $info = get_string('submissiongrade', 'workshop') . ': ' . get_string('hidden', 'grades'); + } echo html_writer::tag('li', $info, array('class'=>'submissiongrade')); } if (!empty($grades->items[1]->grades)) { $assessmentgrade = reset($grades->items[1]->grades); - $info = get_string('gradinggrade', 'workshop') . ': ' . $assessmentgrade->str_long_grade; + if (!$assessmentgrade->hidden || has_capability('moodle/grade:viewhidden', context_course::instance($course->id))) { + $info = get_string('gradinggrade', 'workshop') . ': ' . $assessmentgrade->str_long_grade; + } else { + $info = get_string('gradinggrade', 'workshop') . ': ' . get_string('hidden', 'grades'); + } echo html_writer::tag('li', $info, array('class'=>'gradinggrade')); }