From f3db3cfc38ac124fe5a39f7455095149abda7f42 Mon Sep 17 00:00:00 2001 From: moodler Date: Wed, 25 Jul 2007 07:53:09 +0000 Subject: [PATCH] New capability gradereport/outcomes:manage and implementation in tabs --- grade/report/outcomes/db/access.php | 10 ++++++++++ grade/report/outcomes/tabs.php | 29 ++++++++++++++++++----------- grade/report/outcomes/version.php | 2 +- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/grade/report/outcomes/db/access.php b/grade/report/outcomes/db/access.php index 63857e2261..d09150a1cf 100644 --- a/grade/report/outcomes/db/access.php +++ b/grade/report/outcomes/db/access.php @@ -13,6 +13,16 @@ $gradereport_outcomes_capabilities = array( ) ), + 'gradereport/outcomes:manage' => array( + 'riskbitmask' => RISK_CONFIG, + 'captype' => 'write', + 'contextlevel' => CONTEXT_COURSE, + 'legacy' => array( + 'editingteacher' => CAP_ALLOW, + 'admin' => CAP_ALLOW + ) + ) + ); ?> diff --git a/grade/report/outcomes/tabs.php b/grade/report/outcomes/tabs.php index 60a581c13b..d4a71dda18 100644 --- a/grade/report/outcomes/tabs.php +++ b/grade/report/outcomes/tabs.php @@ -1,21 +1,28 @@ wwwroot.'/grade/report/outcomes/index.php?id='.$courseid, - get_string('outcomereport', 'grades')); // Needs capability here - if ($courseid != SITEID) { - $row[] = new tabobject('courseoutcomes', - $CFG->wwwroot.'/grade/report/outcomes/course.php?id='.$courseid, - get_string('courseoutcomes', 'gradereport_outcomes')); + if ($courseid && ($courseid != SITEID)) { + + $row[] = new tabobject('outcomereport', + $CFG->wwwroot.'/grade/report/outcomes/index.php?id='.$courseid, + get_string('outcomereport', 'grades')); + + $coursecontext = get_context_instance(CONTEXT_COURSE, $courseid); + if (has_capability('gradereport/outcomes:manage', $coursecontext)) { + $row[] = new tabobject('courseoutcomes', + $CFG->wwwroot.'/grade/report/outcomes/course.php?id='.$courseid, + get_string('courseoutcomes', 'gradereport_outcomes')); + } } - // Needs capability here - $row[] = new tabobject('siteoutcomes', - $CFG->wwwroot.'/grade/report/outcomes/site.php?id='.$courseid, - get_string('siteoutcomes', 'gradereport_outcomes')); + $sitecontext = get_context_instance(CONTEXT_SYSTEM); + if (has_capability('gradereport/outcomes:manage', $sitecontext, NULL, false)) { + $row[] = new tabobject('siteoutcomes', + $CFG->wwwroot.'/grade/report/outcomes/site.php?id='.$courseid, + get_string('siteoutcomes', 'gradereport_outcomes')); + } $tabs[] = $row; diff --git a/grade/report/outcomes/version.php b/grade/report/outcomes/version.php index 55d7451372..cf6e2aa0cb 100644 --- a/grade/report/outcomes/version.php +++ b/grade/report/outcomes/version.php @@ -1,6 +1,6 @@ version = 2007072500; +$plugin->version = 2007072501; $plugin->requires = 2007072402; ?> -- 2.39.5