From 6498d743c32fabada44eaa226673bfe4a791b1b2 Mon Sep 17 00:00:00 2001 From: Sara Arjona Date: Thu, 12 Aug 2021 12:00:45 +0200 Subject: [PATCH] MDL-72119 admin: Move Enable competencies to Advanced features The "Enable competencies" setting has been moved from "Competencies settings" page to "Advanced features". Besides, the behaviour of the "Competencies" section has been reviewed to completely hide it when competencies are disabled. --- admin/settings/competency.php | 12 +++++----- admin/settings/subsystems.php | 6 +++++ admin/tool/lpimportcsv/settings.php | 34 +++++++++++++++-------------- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/admin/settings/competency.php b/admin/settings/competency.php index 1fffa73271e..379895355c7 100644 --- a/admin/settings/competency.php +++ b/admin/settings/competency.php @@ -30,17 +30,15 @@ if (has_capability('moodle/site:config', $systemcontext)) { $parentname = 'competencies'; // Settings page. + $iscompetencyenabled = get_config('core_competency', 'enabled'); $settings = new admin_settingpage('competencysettings', new lang_string('competenciessettings', 'core_competency'), - 'moodle/site:config', false); - $ADMIN->add($parentname, $settings); + 'moodle/site:config', !$iscompetencyenabled); + if ($iscompetencyenabled) { + $ADMIN->add($parentname, $settings); + } // Load the full tree of settings. if ($ADMIN->fulltree) { - $setting = new admin_setting_configcheckbox('core_competency/enabled', - new lang_string('enablecompetencies', 'core_competency'), - new lang_string('enablecompetencies_desc', 'core_competency'), 1); - $settings->add($setting); - $setting = new admin_setting_configcheckbox('core_competency/pushcourseratingstouserplans', new lang_string('pushcourseratingstouserplans', 'core_competency'), new lang_string('pushcourseratingstouserplans_desc', 'core_competency'), 1); diff --git a/admin/settings/subsystems.php b/admin/settings/subsystems.php index 01de61c3e36..b6a84ca4d8e 100644 --- a/admin/settings/subsystems.php +++ b/admin/settings/subsystems.php @@ -52,6 +52,12 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page $optionalsubsystems->add(new admin_setting_configcheckbox('enableanalytics', new lang_string('enableanalytics', 'admin'), new lang_string('configenableanalytics', 'admin'), 1, 1, 0)); + $optionalsubsystems->add(new admin_setting_configcheckbox('core_competency/enabled', + new lang_string('enablecompetencies', 'core_competency'), + new lang_string('enablecompetencies_desc', 'core_competency'), + 1) + ); + $fullunicodesupport = true; if ($DB->get_dbfamily() == 'mysql') { $collation = $DB->get_dbcollation(); diff --git a/admin/tool/lpimportcsv/settings.php b/admin/tool/lpimportcsv/settings.php index 8cc12da850d..c9c32c8360a 100644 --- a/admin/tool/lpimportcsv/settings.php +++ b/admin/tool/lpimportcsv/settings.php @@ -25,22 +25,24 @@ */ defined('MOODLE_INTERNAL') || die; -// Manage competency frameworks page. -$temp = new admin_externalpage( - 'toollpimportcsv', - get_string('pluginname', 'tool_lpimportcsv'), - new moodle_url('/admin/tool/lpimportcsv/index.php'), - 'moodle/competency:competencymanage' -); -$ADMIN->add('competencies', $temp); -// Export competency framework page. -$temp = new admin_externalpage( - 'toollpexportcsv', - get_string('exportnavlink', 'tool_lpimportcsv'), - new moodle_url('/admin/tool/lpimportcsv/export.php'), - 'moodle/competency:competencymanage' -); -$ADMIN->add('competencies', $temp); +if (get_config('core_competency', 'enabled')) { + // Manage competency frameworks page. + $temp = new admin_externalpage( + 'toollpimportcsv', + get_string('pluginname', 'tool_lpimportcsv'), + new moodle_url('/admin/tool/lpimportcsv/index.php'), + 'moodle/competency:competencymanage' + ); + $ADMIN->add('competencies', $temp); + // Export competency framework page. + $temp = new admin_externalpage( + 'toollpexportcsv', + get_string('exportnavlink', 'tool_lpimportcsv'), + new moodle_url('/admin/tool/lpimportcsv/export.php'), + 'moodle/competency:competencymanage' + ); + $ADMIN->add('competencies', $temp); +} // No report settings. $settings = null;