<?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Capability definitions for the quiz module. * * @package mod_quiz * @copyright 2006 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); $capabilities = [ // Ability to see that the quiz exists, and the basic information // about it, for example the start date and time limit. 'mod/quiz:view' => [ 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => [ 'guest' => CAP_ALLOW, 'student' => CAP_ALLOW, 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ] ], // Ability to add a new quiz to the course. 'mod/quiz:addinstance' => [ 'riskbitmask' => RISK_XSS, 'captype' => 'write', 'contextlevel' => CONTEXT_COURSE, 'archetypes' => [ 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ], 'clonepermissionsfrom' => 'moodle/course:manageactivities' ], // Ability to do the quiz as a 'student'. 'mod/quiz:attempt' => [ 'riskbitmask' => RISK_SPAM, 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => [ 'student' => CAP_ALLOW ] ], // Ability for a 'Student' to review their previous attempts. Review by // 'Teachers' is controlled by mod/quiz:viewreports. 'mod/quiz:reviewmyattempts' => [ 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => [ 'student' => CAP_ALLOW ], 'clonepermissionsfrom' => 'moodle/quiz:attempt' ], // Edit the quiz settings, add and remove questions. 'mod/quiz:manage' => [ 'riskbitmask' => RISK_SPAM, 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => [ 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ] ], // Edit the quiz overrides. 'mod/quiz:manageoverrides' => [ 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => [ 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ] ], // View the quiz overrides (only checked for users who don't have mod/quiz:manageoverrides. 'mod/quiz:viewoverrides' => [ 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => [ 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ] ], // Preview the quiz. 'mod/quiz:preview' => [ 'captype' => 'write', // Only just a write. 'contextlevel' => CONTEXT_MODULE, 'archetypes' => [ 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ] ], // Manually grade and comment on student attempts at a question. 'mod/quiz:grade' => [ 'riskbitmask' => RISK_SPAM | RISK_XSS, 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => [ 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ] ], // Regrade quizzes. 'mod/quiz:regrade' => [ 'riskbitmask' => RISK_SPAM, 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => [ 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ], 'clonepermissionsfrom' => 'mod/quiz:grade' ], // View the quiz reports. 'mod/quiz:viewreports' => [ 'riskbitmask' => RISK_PERSONAL, 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => [ 'teacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ] ], // Delete attempts using the overview report. 'mod/quiz:deleteattempts' => [ 'riskbitmask' => RISK_DATALOSS, 'captype' => 'write', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => [ 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW ] ],> // Re-open attempts after they are closed. // Do not have the time limit imposed. Used for accessibility legislation compliance. > 'mod/quiz:reopenattempts' => [ 'mod/quiz:ignoretimelimits' => [ > 'captype' => 'write', 'captype' => 'read', > 'contextlevel' => CONTEXT_MODULE, 'contextlevel' => CONTEXT_MODULE, > 'archetypes' => [ 'archetypes' => [] > 'editingteacher' => CAP_ALLOW, ], > 'manager' => CAP_ALLOW > ] // Receive a confirmation message of own quiz submission. > ], 'mod/quiz:emailconfirmsubmission' => [ >'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => [] ], // Receive a notification message of other peoples' quiz submissions. 'mod/quiz:emailnotifysubmission' => [ 'captype' => 'read', 'contextlevel' => CONTEXT_MODULE, 'archetypes' => [] ], // Receive a notification message when a quiz attempt becomes overdue. 'mod/quiz:emailwarnoverdue' => [> 'captype' => 'read', 'captype' => 'read', > 'contextlevel' => CONTEXT_MODULE, 'contextlevel' => CONTEXT_MODULE, > 'archetypes' => [] 'archetypes' => [] > ], ], > ]; > // Receive a notification message when a quiz attempt manual graded. > 'mod/quiz:emailnotifyattemptgraded' => [