From 4ae71e93a8f047571cd4b84c1053e3065ef1e682 Mon Sep 17 00:00:00 2001 From: Dan Poltawski Date: Thu, 27 Aug 2015 10:09:33 +0100 Subject: [PATCH] MDL-49826 grade: hide singleview links when no permissions Singleview only supports grade editors not viewers at this time. --- grade/lib.php | 6 ++++++ grade/report/grader/lib.php | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/grade/lib.php b/grade/lib.php index 84a8512ee0a..7150e30abca 100644 --- a/grade/lib.php +++ b/grade/lib.php @@ -2887,6 +2887,12 @@ abstract class grade_helper { continue; } + // Singleview doesn't doesn't accomodate for all cap combos yet, so this is hardcoded.. + if ($plugin === 'singleview' && !has_all_capabilities(array('moodle/grade:viewall', + 'moodle/grade:edit'), $context)) { + continue; + } + $pluginstr = get_string('pluginname', 'gradereport_'.$plugin); $url = new moodle_url('/grade/report/'.$plugin.'/index.php', array('id'=>$courseid)); $gradereports[$plugin] = new grade_plugin_info($plugin, $url, $pluginstr); diff --git a/grade/report/grader/lib.php b/grade/report/grader/lib.php index 244af2f644f..88742eacbc6 100644 --- a/grade/report/grader/lib.php +++ b/grade/report/grader/lib.php @@ -590,7 +590,8 @@ class grade_report_grader extends grade_report { $showuserimage = $this->get_pref('showuserimage'); $canseeuserreport = has_capability('gradereport/'.$CFG->grade_profilereport.':view', $this->context); - $canseesingleview = has_capability('gradereport/singleview:view', $this->context); + $canseesingleview = has_all_capabilities(array('gradereport/singleview:view', 'moodle/grade:viewall', + 'moodle/grade:edit'), $this->context); $hasuserreportcell = $canseeuserreport || $canseesingleview; $strfeedback = $this->get_lang_string("feedback"); @@ -836,7 +837,9 @@ class grade_report_grader extends grade_report { } $singleview = ''; - if (has_capability('gradereport/singleview:view', $this->context)) { + if (has_all_capabilities(array('gradereport/singleview:view', 'moodle/grade:viewall', + 'moodle/grade:edit'), $this->context)) { + $url = new moodle_url('/grade/report/singleview/index.php', array( 'id' => $this->course->id, 'item' => 'grade', -- 2.43.0