]> git.mjollnir.org Git - moodle.git/commitdiff
New capability gradereport/outcomes:manage and implementation in tabs
authormoodler <moodler>
Wed, 25 Jul 2007 07:53:09 +0000 (07:53 +0000)
committermoodler <moodler>
Wed, 25 Jul 2007 07:53:09 +0000 (07:53 +0000)
grade/report/outcomes/db/access.php
grade/report/outcomes/tabs.php
grade/report/outcomes/version.php

index 63857e2261e7ffbb87f999292b0603a497eeab27..d09150a1cf2379dada8b0401ba6c15c6fc7003a5 100644 (file)
@@ -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
+        )
+    )
+
 );
 
 ?>
index 60a581c13b8ed1de914e9cec89044d6d476fef32..d4a71dda180d28a2920e67d39aa3eac5698f620b 100644 (file)
@@ -1,21 +1,28 @@
 <?php  // $Id$
     $row = $tabs = array();
 
-    $row[] = new tabobject('outcomereport',
-                           $CFG->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;
 
index 55d7451372e087ddba71095d31fdce8947ce89f5..cf6e2aa0cbc2d9e76e08293da6da387df57eff8a 100644 (file)
@@ -1,6 +1,6 @@
 <?PHP // $Id$
 
-$plugin->version  = 2007072500;
+$plugin->version  = 2007072501;
 $plugin->requires = 2007072402;
 
 ?>