Select Git revision
version.php
-
Alexander Bias authored
Before this patch, the internal representation of the terms (as they are stored in the Moodle database) was hardcoded to ST = 0 and WT = 1. This was a problem if you wanted to integrate Moodle with an external lecture management system which uses a different representation of ST = 1 and WT = 2 and wanted to fill the custom field directly with values from this external system. This patch adds an admin settings which lets the admin control how the terms are represented internally. Currently, it just has to options (ST = 0 / WT = 1 and ST = 1 / WT = 2), but the code is prepared to add additional options to the admin setting as well as add the possibility to control the internal representation of the term-independent value (which is 1 currently). This implementation does _not_ update existing field values when the setting is changed. The admin will have to consider a switch of the representation carefully.
Alexander Bias authoredBefore this patch, the internal representation of the terms (as they are stored in the Moodle database) was hardcoded to ST = 0 and WT = 1. This was a problem if you wanted to integrate Moodle with an external lecture management system which uses a different representation of ST = 1 and WT = 2 and wanted to fill the custom field directly with values from this external system. This patch adds an admin settings which lets the admin control how the terms are represented internally. Currently, it just has to options (ST = 0 / WT = 1 and ST = 1 / WT = 2), but the code is prepared to add additional options to the admin setting as well as add the possibility to control the internal representation of the term-independent value (which is 1 currently). This implementation does _not_ update existing field values when the setting is changed. The admin will have to consider a switch of the representation carefully.
settings.php 3.38 KiB
<?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/>.
/**
* Settings page which gives an overview over running lifecycle processes.
*
* @package tool_lifecycle
* @copyright 2017 Tobias Reischmann WWU
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die;
if ($hassiteconfig) {
require_once(__DIR__ . '/adminlib.php');
$category = new admin_category('lifecycle_category',
get_string('pluginname', 'tool_lifecycle'));
$ADMIN->add('tools', $category);
$settings = new admin_settingpage('tool_lifecycle',
get_string('general_config_header', 'tool_lifecycle'));
$ADMIN->add('lifecycle_category', $settings);
$settings->add(new admin_setting_configduration('tool_lifecycle/duration',
get_string('config_delay_duration', 'tool_lifecycle'),
get_string('config_delay_duration_desc', 'tool_lifecycle'),
183 * 24 * 60 * 60)); // Dafault value is 180 days.
$settings->add(new admin_setting_configdirectory('tool_lifecycle/backup_path',
get_string('config_backup_path', 'tool_lifecycle'),
get_string('config_backup_path_desc', 'tool_lifecycle'),
$CFG->dataroot . DIRECTORY_SEPARATOR . 'lifecycle_backups'));
$ADMIN->add('lifecycle_category', new tool_lifecycle\admin_page_active_processes());
$ADMIN->add('lifecycle_category', new tool_lifecycle\admin_page_course_backups());
$ADMIN->add('lifecycle_category', new tool_lifecycle\admin_page_sublugins());
$ADMIN->add('lifecycle_category', new tool_lifecycle\admin_page_deactivated_workflows());
$ADMIN->add('lifecycle_category', new admin_externalpage('tool_lifecycle_delayed_courses',
get_string('delayed_courses_header', 'tool_lifecycle'),
new moodle_url('/admin/tool/lifecycle/delayedcourses.php')));
$ADMIN->add('lifecycle_category', new admin_externalpage('tool_lifecycle_process_errors',
get_string('process_errors_header', 'tool_lifecycle'),
new moodle_url('/admin/tool/lifecycle/errors.php')));
if ($ADMIN->fulltree) {
$triggers = core_component::get_plugin_list('lifecycletrigger');
foreach ($triggers as $trigger => $path) {
if (file_exists($settingsfile = $path . '/settings.php')) {
$settings->add(new admin_setting_heading('lifecycletriggersetting'.$trigger,
get_string('trigger', 'tool_lifecycle') .
' - ' . get_string('pluginname', 'lifecycletrigger_' . $trigger), ''));
include($settingsfile);
}
}
}
$steps = core_component::get_plugin_list('lifecyclestep');
foreach ($steps as $step => $path) {
if (file_exists($settingsfile = $path . '/settings.php')) {
include($settingsfile);
}
}
}