ratings MDL-21657 Improving capabilities for ratings.
[moodle.git] / mod / data / db / access.php
1 <?php
2 //
3 // Capability definitions for the data module.
4 //
5 // The capabilities are loaded into the database table when the module is
6 // installed or updated. Whenever the capability definitions are updated,
7 // the module version number should be bumped up.
8 //
9 // The system has four possible values for a capability:
10 // CAP_ALLOW, CAP_PREVENT, CAP_PROHIBIT, and inherit (not set).
11 //
12 //
13 // CAPABILITY NAMING CONVENTION
14 //
15 // It is important that capability names are unique. The naming convention
16 // for capabilities that are specific to modules and blocks is as follows:
17 //   [mod/block]/<plugin_name>:<capabilityname>
18 //
19 // component_name should be the same as the directory name of the mod or block.
20 //
21 // Core moodle capabilities are defined thus:
22 //    moodle/<capabilityclass>:<capabilityname>
23 //
24 // Examples: mod/forum:viewpost
25 //           block/recent_activity:view
26 //           moodle/site:deleteuser
27 //
28 // The variable name for the capability definitions array is $capabilities
31 $capabilities = array(
33     'mod/data:viewentry' => array(
35         'captype' => 'read',
36         'contextlevel' => CONTEXT_MODULE,
37         'legacy' => array(
38             'frontpage' => CAP_ALLOW, // needed for databases on the frontpage
39             'guest' => CAP_ALLOW,
40             'student' => CAP_ALLOW,
41             'teacher' => CAP_ALLOW,
42             'editingteacher' => CAP_ALLOW,
43             'manager' => CAP_ALLOW
44         )
45     ),
47     'mod/data:writeentry' => array(
49         'riskbitmask' => RISK_SPAM,
51         'captype' => 'write',
52         'contextlevel' => CONTEXT_MODULE,
53         'legacy' => array(
54             'student' => CAP_ALLOW,
55             'teacher' => CAP_ALLOW,
56             'editingteacher' => CAP_ALLOW,
57             'manager' => CAP_ALLOW
58         )
59     ),
61     'mod/data:comment' => array(
63         'riskbitmask' => RISK_SPAM,
65         'captype' => 'write',
66         'contextlevel' => CONTEXT_MODULE,
67         'legacy' => array(
68             'student' => CAP_ALLOW,
69             'teacher' => CAP_ALLOW,
70             'editingteacher' => CAP_ALLOW,
71             'manager' => CAP_ALLOW
72         )
73     ),
75     'mod/data:rate' => array(
77         'captype' => 'write',
78         'contextlevel' => CONTEXT_MODULE,
79         'legacy' => array(
80             'teacher' => CAP_ALLOW,
81             'editingteacher' => CAP_ALLOW,
82             'manager' => CAP_ALLOW
83         )
84     ),
86     'mod/data:viewrating' => array(
88         'captype' => 'read',
89         'contextlevel' => CONTEXT_MODULE,
90         'legacy' => array(
91             'teacher' => CAP_ALLOW,
92             'editingteacher' => CAP_ALLOW,
93             'manager' => CAP_ALLOW
94         )
95     ),
97     'mod/data:viewanyrating' => array(
99         'riskbitmask' => RISK_PERSONAL,
100         'captype' => 'read',
101         'contextlevel' => CONTEXT_MODULE,
102         'legacy' => array(
103             'teacher' => CAP_ALLOW,
104             'editingteacher' => CAP_ALLOW,
105             'manager' => CAP_ALLOW
106         ),
107         'clonepermissionsfrom' =>  'mod/data:viewrating'
108     ),
110     'mod/data:viewallratings' => array(
112         'riskbitmask' => RISK_PERSONAL,
113         'captype' => 'read',
114         'contextlevel' => CONTEXT_MODULE,
115         'legacy' => array(
116             'teacher' => CAP_ALLOW,
117             'editingteacher' => CAP_ALLOW,
118             'manager' => CAP_ALLOW
119         ),
120         'clonepermissionsfrom' =>  'mod/data:viewrating'
121     ),
123     'mod/data:approve' => array(
125         'riskbitmask' => RISK_SPAM,
127         'captype' => 'write',
128         'contextlevel' => CONTEXT_MODULE,
129         'legacy' => array(
130             'teacher' => CAP_ALLOW,
131             'editingteacher' => CAP_ALLOW,
132             'manager' => CAP_ALLOW
133         )
134     ),
136     'mod/data:manageentries' => array(
138         'riskbitmask' => RISK_SPAM,
140         'captype' => 'write',
141         'contextlevel' => CONTEXT_MODULE,
142         'legacy' => array(
143             'teacher' => CAP_ALLOW,
144             'editingteacher' => CAP_ALLOW,
145             'manager' => CAP_ALLOW
146         )
147     ),
149     'mod/data:managecomments' => array(
151         'riskbitmask' => RISK_SPAM,
153         'captype' => 'write',
154         'contextlevel' => CONTEXT_MODULE,
155         'legacy' => array(
156             'teacher' => CAP_ALLOW,
157             'editingteacher' => CAP_ALLOW,
158             'manager' => CAP_ALLOW
159         )
160     ),
162     'mod/data:managetemplates' => array(
164         'riskbitmask' => RISK_SPAM | RISK_XSS,
166         'captype' => 'write',
167         'contextlevel' => CONTEXT_MODULE,
168         'legacy' => array(
169             'editingteacher' => CAP_ALLOW,
170             'manager' => CAP_ALLOW
171         )
172     ),
174     'mod/data:viewalluserpresets' => array(
176         'captype' => 'read',
177         'contextlevel' => CONTEXT_MODULE,
178         'legacy' => array(
179             'teacher' => CAP_ALLOW,
180             'editingteacher' => CAP_ALLOW,
181             'manager' => CAP_ALLOW
182         )
183     ),
185     'mod/data:manageuserpresets' => array(
187         'riskbitmask' => RISK_SPAM | RISK_XSS,
189         'captype' => 'write',
190         'contextlevel' => CONTEXT_MODULE,
191         'legacy' => array(
192             'manager' => CAP_ALLOW
193         )
194     ),
196     'mod/data:exportentry' => array(
198         'riskbitmask' => RISK_PERSONAL,
200         'captype' => 'read',
201         'contextlevel' => CONTEXT_MODULE,
202         'legacy' => array(
203             'manager' => CAP_ALLOW,
204             'teacher' => CAP_ALLOW,
205             'editingteacher' => CAP_ALLOW,
206         )
207     ),
209     'mod/data:exportownentry' => array(
211         'captype' => 'read',
212         'contextlevel' => CONTEXT_MODULE,
213         'legacy' => array(
214             'manager' => CAP_ALLOW,
215             'teacher' => CAP_ALLOW,
216             'editingteacher' => CAP_ALLOW,
217             'student' => CAP_ALLOW,
218         )
219     ),
221     'mod/data:exportallentries' => array(
223         'riskbitmask' => RISK_PERSONAL,
225         'captype' => 'read',
226         'contextlevel' => CONTEXT_MODULE,
227         'legacy' => array(
228             'manager' => CAP_ALLOW,
229             'teacher' => CAP_ALLOW,
230             'editingteacher' => CAP_ALLOW,
231         )
232     ),
233 );