MDL-74317 output: Remove capability checks in edit mode WS

- Removed validation on the change edit mode WS. Permission should
be handled where the edit button is rendered in order to show or not
the button.
This commit is contained in:
David Matamoros
2022-05-02 10:45:30 +02:00
parent 1a744030d6
commit b1a142eab4
4 changed files with 11 additions and 34 deletions
+1 -9
View File
@@ -34,14 +34,6 @@ require_login();
$context = \context_helper::instance_by_id($contextid);
$PAGE->set_context($context);
if ($context->id === \context_user::instance($USER->id)->id) {
$PAGE->set_blocks_editing_capability('moodle/my:manageblocks');
}
if ($PAGE->user_allowed_editing()) {
$USER->editing = $setmode;
} else {
\core\notification::add(get_string('cannotswitcheditmodeon', 'error'), \core\notification::ERROR);
}
$USER->editing = $setmode;
redirect($pageurl);
+1
View File
@@ -80,3 +80,4 @@ sendingvia,core_message
sendingviawhen,core_message
close,core_contentbank
notflagged,core_question
cannotswitcheditmodeon,core_error
+3 -1
View File
@@ -152,7 +152,6 @@ $string['cannotsetupblock'] = 'Blocks tables could NOT be set up successfully!';
$string['cannotsetupcapformod'] = 'Could not set up the capabilities for {$a}';
$string['cannotsetupcapforplugin'] = 'Could not set up the capabilities for {$a}';
$string['cannotshowhidecoursesincategory'] = 'Cannot show/hide the courses in category {$a}.';
$string['cannotswitcheditmodeon'] = 'Could not switch edit mode on';
$string['cannotsignup'] = 'You cannot create a new account because you are already logged in as {$a}.';
$string['cannotunassigncap'] = 'Could not unassign deprecated capability {$a->cap} from role {$a->role}';
$string['cannotunassignrolefrom'] = 'Cannot unassign this user from role id: {$a}';
@@ -631,3 +630,6 @@ $string['xmldberror'] = 'XMLDB error!';
$string['alreadyloggedin'] = 'You are already logged in as {$a}, you need to log out before logging in as different user.';
$string['youcannotdeletecategory'] = 'You cannot delete category \'{$a}\' because you can neither delete the contents, nor move them elsewhere.';
$string['protected_cc_not_supported'] = 'Protected cartridges not supported.';
// Deprecated since Moodle 4.1.
$string['cannotswitcheditmodeon'] = 'Could not switch edit mode on';
+6 -24
View File
@@ -14,15 +14,6 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* A web service to load the mapping of moodle pix names to fontawesome icon names.
*
* @package core
* @category external
* @copyright 2021 Bas Brands <[email protected]>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace core\external;
use external_api;
@@ -54,14 +45,14 @@ class editmode extends external_api {
}
/**
* Save the image and return any warnings and the new image url
* Set the given edit mode
*
* @param bool $setmode the current edit mode
* @param bool $setmode the new edit mode
* @param int $contextid the current page context id
* @return array the new edit mode.
* @return array
*/
public static function change_editmode(bool $setmode, int $contextid): array {
global $USER, $PAGE;
global $USER;
$params = self::validate_parameters(
self::change_editmode_parameters(),
@@ -73,19 +64,10 @@ class editmode extends external_api {
$context = \context_helper::instance_by_id($params['context']);
self::validate_context($context);
$PAGE->set_context($context);
if ($context->id === \context_user::instance($USER->id)->id) {
$PAGE->set_blocks_editing_capability('moodle/my:manageblocks');
}
$USER->editing = $params['setmode'];
$success = false;
if ($PAGE->user_allowed_editing()) {
$USER->editing = $setmode;
$success = true;
}
return ['success' => $success];
return ['success' => true];
}
/**