MDL-67748 admin: Refactor tokens management as an external page
No need to have a dedicated admin_setting_managewebservicetokens admin setting subclass, and yet do not use almost any of its features. So the patch merges the list and the forms handling into a single external page. Similarly, it feels like overkill to have a renderer method for a simple confirmation widget - especially given that the URLs were hard-coded in it. So that one was dropped.
This commit is contained in:
@@ -10395,91 +10395,6 @@ class admin_setting_managewebserviceprotocols extends admin_setting {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Special class for web service token administration.
|
||||
*
|
||||
* @author Jerome Mouneyrac
|
||||
*/
|
||||
class admin_setting_managewebservicetokens extends admin_setting {
|
||||
|
||||
/**
|
||||
* Calls parent::__construct with specific arguments
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->nosave = true;
|
||||
parent::__construct('webservicestokenui', get_string('managetokens', 'webservice'), '', '');
|
||||
}
|
||||
|
||||
/**
|
||||
* Always returns true, does nothing
|
||||
*
|
||||
* @return true
|
||||
*/
|
||||
public function get_setting() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Always returns true, does nothing
|
||||
*
|
||||
* @return true
|
||||
*/
|
||||
public function get_defaultsetting() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Always returns '', does not write anything
|
||||
*
|
||||
* @return string Always returns ''
|
||||
*/
|
||||
public function write_setting($data) {
|
||||
// do not write any setting
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds the XHTML to display the control
|
||||
*
|
||||
* @param string $data Unused
|
||||
* @param string $query
|
||||
* @return string
|
||||
*/
|
||||
public function output_html($data, $query='') {
|
||||
global $CFG, $OUTPUT;
|
||||
|
||||
require_once($CFG->dirroot . '/webservice/classes/token_table.php');
|
||||
$baseurl = new moodle_url('/' . $CFG->admin . '/settings.php?section=webservicetokens');
|
||||
|
||||
$return = $OUTPUT->box_start('generalbox webservicestokenui');
|
||||
|
||||
if (has_capability('moodle/webservice:managealltokens', context_system::instance())) {
|
||||
$return .= \html_writer::div(get_string('onlyseecreatedtokens', 'webservice'));
|
||||
}
|
||||
|
||||
$table = new \webservice\token_table('webservicetokens');
|
||||
$table->define_baseurl($baseurl);
|
||||
$table->attributes['class'] = 'admintable generaltable'; // Any need changing?
|
||||
$table->data = array();
|
||||
ob_start();
|
||||
$table->out(10, false);
|
||||
$tablehtml = ob_get_contents();
|
||||
ob_end_clean();
|
||||
$return .= $tablehtml;
|
||||
|
||||
$tokenpageurl = "$CFG->wwwroot/$CFG->admin/webservice/tokens.php?sesskey=" . sesskey();
|
||||
|
||||
$return .= $OUTPUT->box_end();
|
||||
// add a token to the table
|
||||
$return .= "<a href=\"".$tokenpageurl."&action=create\">";
|
||||
$return .= get_string('add')."</a>";
|
||||
|
||||
return highlight($query, $return);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Colour picker
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user