MDL-84126 tiny_equation: Capability check added
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
<?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/>.
|
||||
|
||||
/**
|
||||
* Capabilities for the tiny_equation plugin.
|
||||
*
|
||||
* @package tiny_equation
|
||||
* @copyright 2025 David Woloszyn <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$capabilities = [
|
||||
'tiny/equation:use' => [
|
||||
'captype' => 'read',
|
||||
'contextlevel' => CONTEXT_USER,
|
||||
'archetypes' => [
|
||||
'user' => CAP_ALLOW,
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -25,6 +25,7 @@
|
||||
$string['buttontitle'] = 'Equation editor';
|
||||
$string['cursorinfo'] = 'An arrow indicates the position that new elements from the element library will be inserted.';
|
||||
$string['editequation'] = 'Edit equation using <a href="{$a}" target="_blank">TeX</a>';
|
||||
$string['equation:use'] = 'Use TinyMCE equation editor';
|
||||
$string['librarygroup1'] = 'Operators';
|
||||
$string['librarygroup1_desc'] = 'TeX commands listed on the operators tab.';
|
||||
$string['librarygroup2'] = 'Arrows';
|
||||
|
||||
@@ -34,3 +34,39 @@ Feature: Equation editor
|
||||
Then the field "Edit equation using" matches value " \pi "
|
||||
And I click on "Save equation" "button"
|
||||
And the field "Description" matches value "<p>\( \pi \)</p>"
|
||||
|
||||
@javascript
|
||||
Scenario: Permissions can be configured to control access to equation editor
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | Teacher | 1 | teacher1@example.com |
|
||||
| teacher2 | Teacher | 2 | teacher2@example.com |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | format |
|
||||
| Course 1 | C1 | topics |
|
||||
And the following "roles" exist:
|
||||
| name | shortname | description | archetype |
|
||||
| Custom teacher | custom1 | Limited permissions | editingteacher |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| teacher2 | C1 | custom1 |
|
||||
And the following "activity" exists:
|
||||
| activity | assign |
|
||||
| course | C1 |
|
||||
| name | Test assignment |
|
||||
And the following "permission overrides" exist:
|
||||
| capability | permission | role | contextlevel | reference |
|
||||
| tiny/equation:use | Prohibit | custom1 | Course | C1 |
|
||||
# Check plugin access as a role with prohibited permissions.
|
||||
And I log in as "teacher2"
|
||||
And I am on the "Test assignment" Activity page
|
||||
And I navigate to "Settings" in current page administration
|
||||
When I click on the "Insert" menu item for the "Activity instructions" TinyMCE editor
|
||||
Then I should not see "Equation editor"
|
||||
# Check plugin access as a role with allowed permissions.
|
||||
And I log in as "teacher1"
|
||||
And I am on the "Test assignment" Activity page
|
||||
And I navigate to "Settings" in current page administration
|
||||
And I click on the "Insert" menu item for the "Activity instructions" TinyMCE editor
|
||||
And I should see "Equation editor"
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2024121800;
|
||||
$plugin->version = 2025012300;
|
||||
$plugin->requires = 2024100100;
|
||||
$plugin->component = 'tiny_equation';
|
||||
|
||||
Reference in New Issue
Block a user