refactor!: retire legacy administration
Moodle Plugin CI / test (push) Successful in 3m26s

BREAKING CHANGE: legacy management routes now fail closed and the legacy helper API is removed.
This commit is contained in:
2026-08-20 08:08:30 +00:00
parent 297e4ab7cd
commit 82ba9222ff
17 changed files with 127 additions and 737 deletions
+2 -3
View File
@@ -25,7 +25,6 @@
namespace local_webhooks\event;
use core\event\base;
use moodle_url;
/**
* Defines how to work with events.
@@ -55,10 +54,10 @@ class backup_performed extends base {
/**
* Get URL related to the action.
*
* @throws \moodle_exception
* @return null
*/
public function get_url() {
return new moodle_url('/local/webhooks/index.php');
return null;
}
/**
+2 -3
View File
@@ -25,7 +25,6 @@
namespace local_webhooks\event;
use core\event\base;
use moodle_url;
/**
* Defines how to work with events.
@@ -55,10 +54,10 @@ class backup_restored extends base {
/**
* Get URL related to the action.
*
* @throws \moodle_exception
* @return null
*/
public function get_url() {
return new moodle_url('/local/webhooks/index.php');
return null;
}
/**
+2 -3
View File
@@ -25,7 +25,6 @@
namespace local_webhooks\event;
use core\event\base;
use moodle_url;
/**
* Defines how to work with events.
@@ -53,10 +52,10 @@ class response_answer extends base {
/**
* Get URL related to the action.
*
* @throws \moodle_exception
* @return null
*/
public function get_url() {
return new moodle_url('/local/webhooks/editservice.php', ['serviceid' => $this->objectid]);
return null;
}
/**
+2 -3
View File
@@ -25,7 +25,6 @@
namespace local_webhooks\event;
use core\event\base;
use moodle_url;
/**
* Defines how to work with events.
@@ -55,10 +54,10 @@ class service_added extends base {
/**
* Get URL related to the action.
*
* @throws \moodle_exception
* @return null
*/
public function get_url() {
return new moodle_url('/local/webhooks/editservice.php', ['serviceid' => $this->objectid]);
return null;
}
/**
+2 -3
View File
@@ -25,7 +25,6 @@
namespace local_webhooks\event;
use core\event\base;
use moodle_url;
/**
* Defines how to work with events.
@@ -55,10 +54,10 @@ class service_deleted extends base {
/**
* Get URL related to the action.
*
* @throws \moodle_exception
* @return null
*/
public function get_url() {
return new moodle_url('/local/webhooks/index.php');
return null;
}
/**
+2 -3
View File
@@ -25,7 +25,6 @@
namespace local_webhooks\event;
use core\event\base;
use moodle_url;
/**
* Defines how to work with events.
@@ -55,10 +54,10 @@ class service_updated extends base {
/**
* Get URL related to the action.
*
* @throws \moodle_exception
* @return null
*/
public function get_url() {
return new moodle_url('/local/webhooks/editservice.php', ['serviceid' => $this->objectid]);
return null;
}
/**
-103
View File
@@ -1,103 +0,0 @@
<?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/>.
/**
* Defines the service editing form.
*
* @package local_webhooks
* @copyright 2017 "Valentin Popov" <info@valentineus.link>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir . '/formslib.php');
/**
* Description editing form definition.
*
* @copyright 2017 "Valentin Popov" <info@valentineus.link>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class service_edit_form extends moodleform {
/**
* Defines the standard structure of the form.
*
* @throws \coding_exception
*/
protected function definition() {
$mform =& $this->_form;
$size = ['size' => 60];
/* Form heading */
$mform->addElement('header', 'editserviceheader', new lang_string('service', 'local_webhooks'));
/* Name of the service */
$mform->addElement('text', 'title', new lang_string('name', 'local_webhooks'), $size);
$mform->addRule('title', null, 'required');
$mform->setType('title', PARAM_NOTAGS);
/* Callback address */
$mform->addElement('text', 'url', new lang_string('url', 'local_webhooks'), $size);
$mform->addRule('url', null, 'required');
$mform->setType('url', PARAM_URL);
/* Enabling the service */
$mform->addElement('advcheckbox', 'enable', new lang_string('enable', 'local_webhooks'));
$mform->setType('enable', PARAM_BOOL);
$mform->setDefault('enable', 1);
$mform->setAdvanced('enable');
/* Token */
$mform->addElement('text', 'token', new lang_string('token', 'local_webhooks'), $size);
$mform->setType('token', PARAM_NOTAGS);
/* Additional information */
$mform->addElement('text', 'other', new lang_string('sourceext', 'local_webhooks'), $size);
$mform->setType('other', PARAM_NOTAGS);
$mform->setAdvanced('other');
/* Content type */
$contenttype = [
'json' => 'application/json',
'x-www-form-urlencoded' => 'application/x-www-form-urlencoded',
];
$mform->addElement('select', 'type', new lang_string('contenttype', 'local_webhooks'), $contenttype);
$mform->setAdvanced('type');
/* Form heading */
$mform->addElement('header', 'editserviceheaderevent', new lang_string('edulevel', 'local_webhooks'));
/* List of events */
$events = [];
/* Formation of the list of elements */
foreach (local_webhooks_get_event_choices() as $component => $choices) {
foreach ($choices as $key => $eventname) {
$events[$component][] =& $mform->createElement('checkbox', $key, $eventname);
}
}
/* Displays groups of items */
foreach ($events as $key => $event) {
$mform->addGroup($event, 'events', $key, '<br />');
}
/* Control Panel */
$this->add_action_buttons();
}
}
-54
View File
@@ -1,54 +0,0 @@
<?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/>.
/**
* Defines forms.
*
* @package local_webhooks
* @copyright 2017 "Valentin Popov" <info@valentineus.link>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir . '/formslib.php');
/**
* Description of the form of restoration.
*
* @copyright 2017 "Valentin Popov" <info@valentineus.link>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class service_backup_form extends moodleform {
/**
* Defines the standard structure of the form.
*
* @throws \coding_exception
*/
protected function definition() {
$mform =& $this->_form;
/* Form heading */
$mform->addElement('header', 'editserviceheader', new lang_string('restore', 'local_webhooks'));
/* Download the file */
$mform->addElement('filepicker', 'backupfile', new lang_string('file', 'local_webhooks'));
$mform->addRule('backupfile', null, 'required');
/* Control Panel */
$this->add_action_buttons(true, new lang_string('restore', 'local_webhooks'));
}
}