From c7cd8d9c8443515b7532a311714b6fa1a939e187 Mon Sep 17 00:00:00 2001 From: Damyon Wiese Date: Wed, 12 Jun 2013 13:45:48 +0800 Subject: [PATCH] MDL-37621 assign: Improvements to default settings. Added a new adminsetting_configempty type so that module settings which can have no sensible defaults can still be configured as advanced. --- lib/adminlib.php | 40 ++++++++++++++++++++++++++++++++++++++++ mod/assign/settings.php | 8 ++++++++ 2 files changed, 48 insertions(+) diff --git a/lib/adminlib.php b/lib/adminlib.php index 1591f4bbe4f..f9146878bd5 100644 --- a/lib/adminlib.php +++ b/lib/adminlib.php @@ -2285,6 +2285,46 @@ if (is_ie) { } } +/** + * Empty setting used to allow flags (advanced) on settings that can have no sensible default. + * Note: Only advanced makes sense right now - locked does not. + * + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class admin_setting_configempty extends admin_setting_configtext { + + /** + * @param string $name + * @param string $visiblename + * @param string $description + */ + public function __construct($name, $visiblename, $description) { + parent::__construct($name, $visiblename, $description, '', PARAM_RAW); + } + + /** + * Returns an XHTML string for the hidden field + * + * @param string $data + * @param string $query + * @return string XHTML string for the editor + */ + public function output_html($data, $query='') { + return format_admin_setting($this, + $this->visiblename, + '
' . + '
', + $this->description, + true, + '', + get_string('none'), + $query); + } +} + /** * Path to directory diff --git a/mod/assign/settings.php b/mod/assign/settings.php index f05c91e4421..135fc900fcd 100644 --- a/mod/assign/settings.php +++ b/mod/assign/settings.php @@ -194,6 +194,14 @@ if ($ADMIN->fulltree) { $setting->set_locked_flag_options(admin_setting_flag::ENABLED, false); $settings->add($setting); + $name = new lang_string('teamsubmissiongroupingid', 'mod_assign'); + $description = new lang_string('teamsubmissiongroupingid_help', 'mod_assign'); + $setting = new admin_setting_configempty('assign/teamsubmissiongroupingid', + $name, + $description); + $setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false); + $settings->add($setting); + $name = new lang_string('sendnotifications', 'mod_assign'); $description = new lang_string('sendnotifications_help', 'mod_assign'); $setting = new admin_setting_configcheckbox('assign/sendnotifications',