NOBUG: Fixed file access permissions
[moodle.git] / mod / assign / db / access.php
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/>.
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  */
25 $capabilities = array(
27     'mod/assign:view' => array(
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     ),
40     'mod/assign:submit' => array(
42         'captype' => 'write',
43         'contextlevel' => CONTEXT_MODULE,
44         'archetypes' => array(
45             'student' => CAP_ALLOW
46         )
47     ),
49     'mod/assign:grade' => array(
50         'riskbitmask' => RISK_XSS,
52         'captype' => 'write',
53         'contextlevel' => CONTEXT_MODULE,
54         'archetypes' => array(
55             'teacher' => CAP_ALLOW,
56             'editingteacher' => CAP_ALLOW,
57             'manager' => CAP_ALLOW
58         )
59     ),
61     'mod/assign:exportownsubmission' => array(
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     ),
73     'mod/assign:addinstance' => array(
74         'riskbitmask' => RISK_XSS,
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     ),
85     'mod/assign:editothersubmission' => array(
86         'riskbitmask' => RISK_MANAGETRUST|RISK_DATALOSS|RISK_PERSONAL,
87         'captype' => 'write',
88         'contextlevel' => CONTEXT_MODULE
89     ),
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     ),
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     ),
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     ),
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     ),
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     ),
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     ),
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     ),
162     'mod/assign:viewblinddetails' => array(
163         'riskbitmask' => RISK_PERSONAL,
165         'captype' => 'write',
166         'contextlevel' => CONTEXT_MODULE,
167         'archetypes' => array(
168             'manager' => CAP_ALLOW
169         )
170     ),
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 );