Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.
   1  <?php
   2  // This file is part of Moodle - http://moodle.org/
   3  //
   4  // Moodle is free software: you can redistribute it and/or modify
   5  // it under the terms of the GNU General Public License as published by
   6  // the Free Software Foundation, either version 3 of the License, or
   7  // (at your option) any later version.
   8  //
   9  // Moodle is distributed in the hope that it will be useful,
  10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12  // GNU General Public License for more details.
  13  //
  14  // You should have received a copy of the GNU General Public License
  15  // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
  16  
  17  /**
  18   * Capability definitions for this module.
  19   *
  20   * @package   mod_assign
  21   * @copyright 2012 NetSpot {@link http://www.netspot.com.au}
  22   * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  23   */
  24  
  25  $capabilities = array(
  26  
  27      'mod/assign:view' => array(
  28  
  29          'captype' => 'read',
  30          'contextlevel' => CONTEXT_MODULE,
  31          'archetypes' => array(
  32              'guest' => CAP_ALLOW,
  33              'student' => CAP_ALLOW,
  34              'teacher' => CAP_ALLOW,
  35              'editingteacher' => CAP_ALLOW,
  36              'manager' => CAP_ALLOW
  37          )
  38      ),
  39  
  40      'mod/assign:submit' => array(
  41  
  42          'captype' => 'write',
  43          'contextlevel' => CONTEXT_MODULE,
  44          'archetypes' => array(
  45              'student' => CAP_ALLOW
  46          )
  47      ),
  48  
  49      'mod/assign:grade' => array(
  50          'riskbitmask' => RISK_XSS,
  51  
  52          'captype' => 'write',
  53          'contextlevel' => CONTEXT_MODULE,
  54          'archetypes' => array(
  55              'teacher' => CAP_ALLOW,
  56              'editingteacher' => CAP_ALLOW,
  57              'manager' => CAP_ALLOW
  58          )
  59      ),
  60  
  61      'mod/assign:exportownsubmission' => array(
  62  
  63          'captype' => 'read',
  64          'contextlevel' => CONTEXT_MODULE,
  65          'archetypes' => array(
  66              'teacher' => CAP_ALLOW,
  67              'editingteacher' => CAP_ALLOW,
  68              'manager' => CAP_ALLOW,
  69              'student' => CAP_ALLOW,
  70          )
  71      ),
  72  
  73      'mod/assign:addinstance' => array(
  74          'riskbitmask' => RISK_XSS,
  75  
  76          'captype' => 'write',
  77          'contextlevel' => CONTEXT_COURSE,
  78          'archetypes' => array(
  79              'editingteacher' => CAP_ALLOW,
  80              'manager' => CAP_ALLOW
  81          ),
  82          'clonepermissionsfrom' => 'moodle/course:manageactivities'
  83      ),
  84  
  85      'mod/assign:editothersubmission' => array(
  86          'riskbitmask' => RISK_MANAGETRUST|RISK_DATALOSS|RISK_PERSONAL,
  87          'captype' => 'write',
  88          'contextlevel' => CONTEXT_MODULE
  89      ),
  90  
  91      'mod/assign:grantextension' => array(
  92          'captype' => 'write',
  93          'contextlevel' => CONTEXT_MODULE,
  94          'archetypes' => array(
  95              'teacher' => CAP_ALLOW,
  96              'editingteacher' => CAP_ALLOW,
  97              'manager' => CAP_ALLOW
  98          ),
  99          'clonepermissionsfrom' => 'gradereport/grader:view'
 100      ),
 101  
 102      'mod/assign:revealidentities' => array(
 103          'captype' => 'write',
 104          'contextlevel' => CONTEXT_MODULE,
 105          'archetypes' => array(
 106              'editingteacher' => CAP_ALLOW,
 107              'manager' => CAP_ALLOW
 108          )
 109      ),
 110  
 111  
 112      'mod/assign:reviewgrades' => array(
 113          'captype' => 'write',
 114          'contextlevel' => CONTEXT_MODULE,
 115          'archetypes' => array(
 116              'editingteacher' => CAP_ALLOW,
 117              'manager' => CAP_ALLOW
 118          ),
 119          'clonepermissionsfrom' => 'moodle/grade:manage'
 120      ),
 121  
 122      'mod/assign:releasegrades' => array(
 123          'captype' => 'write',
 124          'contextlevel' => CONTEXT_MODULE,
 125          'archetypes' => array(
 126              'editingteacher' => CAP_ALLOW,
 127              'manager' => CAP_ALLOW
 128          ),
 129          'clonepermissionsfrom' => 'moodle/grade:manage'
 130      ),
 131  
 132      'mod/assign:managegrades' => array(
 133          'captype' => 'write',
 134          'contextlevel' => CONTEXT_MODULE,
 135          'archetypes' => array(
 136              'editingteacher' => CAP_ALLOW,
 137              'manager' => CAP_ALLOW
 138          ),
 139          'clonepermissionsfrom' => 'moodle/grade:manage'
 140      ),
 141  
 142      'mod/assign:manageallocations' => array(
 143          'captype' => 'write',
 144          'contextlevel' => CONTEXT_MODULE,
 145          'archetypes' => array(
 146              'editingteacher' => CAP_ALLOW,
 147              'manager' => CAP_ALLOW
 148          ),
 149          'clonepermissionsfrom' => 'moodle/grade:manage'
 150      ),
 151  
 152      'mod/assign:viewgrades' => array(
 153          'captype' => 'read',
 154          'contextlevel' => CONTEXT_MODULE,
 155          'archetypes' => array(
 156              'editingteacher' => CAP_ALLOW,
 157              'manager' => CAP_ALLOW,
 158              'teacher' => CAP_ALLOW
 159          )
 160      ),
 161  
 162      'mod/assign:viewblinddetails' => array(
 163          'riskbitmask' => RISK_PERSONAL,
 164  
 165          'captype' => 'write',
 166          'contextlevel' => CONTEXT_MODULE,
 167          'archetypes' => array(
 168              'manager' => CAP_ALLOW
 169          )
 170      ),
 171  
 172      'mod/assign:receivegradernotifications' => array(
 173          'captype' => 'read',
 174          'contextlevel' => CONTEXT_MODULE,
 175          'archetypes' => array(
 176              'teacher' => CAP_ALLOW,
 177              'editingteacher' => CAP_ALLOW,
 178              'manager' => CAP_ALLOW
 179          )
 180      ),
 181  
 182      // Edit the assign overrides.
 183      'mod/assign:manageoverrides' => array(
 184          'captype' => 'write',
 185          'contextlevel' => CONTEXT_MODULE,
 186          'archetypes' => array(
 187              'editingteacher' => CAP_ALLOW,
 188              'manager' => CAP_ALLOW
 189          )
 190      ),
 191  
 192      'mod/assign:showhiddengrader' => array(
 193          'captype' => 'read',
 194          'contextlevel' => CONTEXT_MODULE,
 195          'archetypes' => array(
 196              'teacher' => CAP_ALLOW,
 197              'editingteacher' => CAP_ALLOW,
 198              'manager' => CAP_ALLOW
 199          )
 200      ),
 201  
 202      'mod/assign:viewownsubmissionsummary' => array(
 203          'captype' => 'read',
 204          'contextlevel' => CONTEXT_MODULE,
 205          'archetypes' => array(
 206              'student' => CAP_ALLOW
 207          )
 208      ),
 209  );
 210