From 6be1373ee0dfec2035f987b38dca420e65f793d5 Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Wed, 6 Apr 2016 12:22:34 +0800 Subject: [PATCH] MDL-53700 competency: Migrating settings to core --- admin/settings/competency.php | 50 +++++++++++++++++++ admin/settings/top.php | 1 + admin/tool/lp/classes/page_helper.php | 2 +- admin/tool/lp/competencies.php | 2 +- admin/tool/lp/competencyframeworks.php | 2 +- admin/tool/lp/lang/en/tool_lp.php | 7 --- admin/tool/lp/lib.php | 2 +- admin/tool/lp/settings.php | 20 ++------ .../manage_competencies_page.mustache | 2 +- ...manage_competency_frameworks_page.mustache | 2 +- competency/classes/api.php | 4 +- .../classes/course_competency_settings.php | 2 +- .../tests/course_competency_settings_test.php | 6 +-- lang/en/competency.php | 33 ++++++++++++ 14 files changed, 99 insertions(+), 36 deletions(-) create mode 100644 admin/settings/competency.php create mode 100644 lang/en/competency.php diff --git a/admin/settings/competency.php b/admin/settings/competency.php new file mode 100644 index 00000000000..1fffa73271e --- /dev/null +++ b/admin/settings/competency.php @@ -0,0 +1,50 @@ +. + +/** + * File. + * + * @package core_competency + * @copyright 2016 Frédéric Massart - FMCorz.net + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + +// Save processing when the user will not be able to access anything. +if (has_capability('moodle/site:config', $systemcontext)) { + + $parentname = 'competencies'; + + // Settings page. + $settings = new admin_settingpage('competencysettings', new lang_string('competenciessettings', 'core_competency'), + 'moodle/site:config', false); + $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); + $settings->add($setting); + } + +} diff --git a/admin/settings/top.php b/admin/settings/top.php index 4736f06cc8f..223af0cfc59 100644 --- a/admin/settings/top.php +++ b/admin/settings/top.php @@ -30,6 +30,7 @@ if ($hassiteconfig) { $ADMIN->add('root', new admin_category('users', new lang_string('users','admin'))); $ADMIN->add('root', new admin_category('courses', new lang_string('courses','admin'))); $ADMIN->add('root', new admin_category('grades', new lang_string('grades'))); +$ADMIN->add('root', new admin_category('competencies', new lang_string('competencies', 'core_competency'))); $ADMIN->add('root', new admin_category('badges', new lang_string('badges'), empty($CFG->enablebadges))); $ADMIN->add('root', new admin_category('location', new lang_string('location','admin'))); $ADMIN->add('root', new admin_category('language', new lang_string('language'))); diff --git a/admin/tool/lp/classes/page_helper.php b/admin/tool/lp/classes/page_helper.php index 121cf8007e6..5253e286eed 100644 --- a/admin/tool/lp/classes/page_helper.php +++ b/admin/tool/lp/classes/page_helper.php @@ -344,7 +344,7 @@ class page_helper { $frameworksurl = new moodle_url('/admin/tool/lp/competencyframeworks.php', array('pagecontextid' => $pagecontextid)); $PAGE->navigation->override_active_url($frameworksurl); - $title = get_string('competencies', 'tool_lp'); + $title = get_string('competencies', 'core_competency'); if (empty($id)) { $pagetitle = get_string('competencyframeworks', 'tool_lp'); $pagesubtitle = get_string('addnewcompetencyframework', 'tool_lp'); diff --git a/admin/tool/lp/competencies.php b/admin/tool/lp/competencies.php index 1e4e552f6a3..53c7713ea8a 100644 --- a/admin/tool/lp/competencies.php +++ b/admin/tool/lp/competencies.php @@ -40,7 +40,7 @@ if (!\core_competency\competency_framework::can_read_context($context)) { throw new required_capability_exception($context, 'moodle/competency:competencyview', 'nopermissions', ''); } -$title = get_string('competencies', 'tool_lp'); +$title = get_string('competencies', 'core_competency'); $pagetitle = get_string('competenciesforframework', 'tool_lp', $framework->get_shortname()); // Set up the page. diff --git a/admin/tool/lp/competencyframeworks.php b/admin/tool/lp/competencyframeworks.php index 13edbb339c7..5b76b5f0826 100644 --- a/admin/tool/lp/competencyframeworks.php +++ b/admin/tool/lp/competencyframeworks.php @@ -38,7 +38,7 @@ if (!\core_competency\competency_framework::can_read_context($context)) { throw new required_capability_exception($context, 'moodle/competency:competencyview', 'nopermissions', ''); } -$title = get_string('competencies', 'tool_lp'); +$title = get_string('competencies', 'core_competency'); $pagetitle = get_string('competencyframeworks', 'tool_lp'); $pagesubtitle = get_string('listcompetencyframeworkscaption', 'tool_lp'); diff --git a/admin/tool/lp/lang/en/tool_lp.php b/admin/tool/lp/lang/en/tool_lp.php index 6b395b7fb61..41a596051ba 100644 --- a/admin/tool/lp/lang/en/tool_lp.php +++ b/admin/tool/lp/lang/en/tool_lp.php @@ -48,12 +48,9 @@ $string['cannotcreateuserplanswhentemplatehidden'] = 'New user plans can not be $string['category'] = 'Category'; $string['chooserating'] = 'Choose a rating...'; $string['cohortssyncedtotemplate'] = 'Cohorts synced to this template'; -$string['competencies'] = 'Competencies'; -$string['competenciesarenotenabled'] = 'The competencies module is not enabled.'; $string['competenciesforframework'] = 'Competencies for {$a}'; $string['competenciesmostoftennotproficient'] = 'Competencies most often not proficient in completed plans'; $string['competenciesmostoftennotproficientincourse'] = 'Competencies most often not proficient in this course'; -$string['competenciessettings'] = 'Competencies settings'; $string['competencycannotbedeleted'] = 'The competency \'{$a}\' can not be deleted'; $string['competencycreated'] = 'Competency created'; $string['competencyframework'] = 'Competency framework'; @@ -113,8 +110,6 @@ $string['edittemplate'] = 'Edit learning plan template'; $string['editthisplan'] = 'Edit this learning plan'; $string['editthisuserevidence'] = 'Edit this evidence'; $string['edituserevidence'] = 'Edit evidence'; -$string['enablecompetencies'] = 'Enable competencies'; -$string['enablecompetencies_desc'] = 'When unticked the competencies module will be disabled.'; $string['eventcompetencyframeworkcreated'] = 'Competency framework created.'; $string['eventcompetencyframeworkdeleted'] = 'Competency framework deleted.'; $string['eventcompetencyframeworkupdated'] = 'Competency framework updated.'; @@ -254,8 +249,6 @@ $string['pointsgivenfor'] = 'Points given for \'{$a}\''; $string['pointsrequiredaremet'] = 'Points required are met'; $string['proficient'] = 'Proficient'; $string['progress'] = 'Progress'; -$string['pushcourseratingstouserplans'] = 'Push course ratings to individual learning plans'; -$string['pushcourseratingstouserplans_desc'] = 'Default value for the course setting to update individual learning plans when course competencies are rated.'; $string['rate'] = 'Rate'; $string['ratecomment'] = 'Evidence notes'; $string['rating'] = 'Rating'; diff --git a/admin/tool/lp/lib.php b/admin/tool/lp/lib.php index 3542e179d3d..c40362925c0 100644 --- a/admin/tool/lp/lib.php +++ b/admin/tool/lp/lib.php @@ -442,7 +442,7 @@ function tool_lp_coursemodule_standard_elements($formwrapper, $mform) { return; } - $mform->addElement('header', 'competenciessection', get_string('competencies', 'tool_lp')); + $mform->addElement('header', 'competenciessection', get_string('competencies', 'core_competency')); MoodleQuickForm::registerElementType('course_competencies', "$CFG->dirroot/admin/tool/lp/classes/course_competencies_form_element.php", diff --git a/admin/tool/lp/settings.php b/admin/tool/lp/settings.php index 09a7fb83a34..80758aedc94 100644 --- a/admin/tool/lp/settings.php +++ b/admin/tool/lp/settings.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see . /** - * Links and settings + * Links and settings. * - * This file contains links and settings used by tool_lp + * This file contains links and settings used by tool_lp. * * @package tool_lp * @copyright 2015 Damyon Wiese @@ -25,9 +25,7 @@ */ defined('MOODLE_INTERNAL') || die(); -$parentname = 'toollprootpage'; -$category = new admin_category($parentname, get_string('competencies', 'tool_lp')); -$ADMIN->add('root', $category, 'badges'); +$parentname = 'competencies'; // If the plugin is enabled we add the pages. if (\core_competency\api::is_enabled()) { @@ -50,15 +48,3 @@ if (\core_competency\api::is_enabled()) { ); $ADMIN->add($parentname, $temp); } - -// Settings. -$settings = new admin_settingpage('toollpsettingspage', get_string('competenciessettings', 'tool_lp'), 'moodle/site:config', false); -$ADMIN->add($parentname, $settings); -if ($ADMIN->fulltree) { - $setting = new admin_setting_configcheckbox('tool_lp/enabled', get_string('enablecompetencies', 'tool_lp'), - get_string('enablecompetencies_desc', 'tool_lp'), 1); - $settings->add($setting); - $setting = new admin_setting_configcheckbox('tool_lp/pushcourseratingstouserplans', get_string('pushcourseratingstouserplans', 'tool_lp'), - get_string('pushcourseratingstouserplans_desc', 'tool_lp'), 1); - $settings->add($setting); -} diff --git a/admin/tool/lp/templates/manage_competencies_page.mustache b/admin/tool/lp/templates/manage_competencies_page.mustache index c27482a43da..c57d62946a0 100644 --- a/admin/tool/lp/templates/manage_competencies_page.mustache +++ b/admin/tool/lp/templates/manage_competencies_page.mustache @@ -37,7 +37,7 @@ {{#pix}}t/edit, core, {{#str}}editcompetencyframework, tool_lp{{/str}}{{/pix}} {{/canmanage}} -

{{#str}}competencies, tool_lp{{/str}}

+

{{#str}}competencies, core_competency{{/str}}

diff --git a/admin/tool/lp/templates/manage_competency_frameworks_page.mustache b/admin/tool/lp/templates/manage_competency_frameworks_page.mustache index c22cda01392..facc7c37d07 100644 --- a/admin/tool/lp/templates/manage_competency_frameworks_page.mustache +++ b/admin/tool/lp/templates/manage_competency_frameworks_page.mustache @@ -43,7 +43,7 @@ {{#str}}competencyframeworkname, tool_lp{{/str}} - {{#str}}competencies, tool_lp{{/str}} + {{#str}}competencies, core_competency{{/str}} {{#str}}category, tool_lp{{/str}} {{#str}}actions, tool_lp{{/str}} diff --git a/competency/classes/api.php b/competency/classes/api.php index c26c57ae063..b86f3860eea 100644 --- a/competency/classes/api.php +++ b/competency/classes/api.php @@ -52,7 +52,7 @@ class api { * @return boolean True when enabled. */ public static function is_enabled() { - return get_config('tool_lp', 'enabled'); + return get_config('core_competency', 'enabled'); } /** @@ -63,7 +63,7 @@ class api { */ public static function require_enabled() { if (!static::is_enabled()) { - throw new moodle_exception('competenciesarenotenabled', 'tool_lp'); + throw new moodle_exception('competenciesarenotenabled', 'core_competency'); } } diff --git a/competency/classes/course_competency_settings.php b/competency/classes/course_competency_settings.php index f9b56299184..99e04448cee 100644 --- a/competency/classes/course_competency_settings.php +++ b/competency/classes/course_competency_settings.php @@ -52,7 +52,7 @@ class course_competency_settings extends persistent { 'pushratingstouserplans' => array( 'type' => PARAM_BOOL, 'default' => function() { - return get_config('tool_lp', 'pushcourseratingstouserplans'); + return get_config('core_competency', 'pushcourseratingstouserplans'); } ), ); diff --git a/competency/tests/course_competency_settings_test.php b/competency/tests/course_competency_settings_test.php index ca385431a9c..1aa794d0cf9 100644 --- a/competency/tests/course_competency_settings_test.php +++ b/competency/tests/course_competency_settings_test.php @@ -74,12 +74,12 @@ class core_competency_course_competency_settings_testcase extends advanced_testc $this->setUser($u2); - set_config('pushcourseratingstouserplans', true, 'tool_lp'); + set_config('pushcourseratingstouserplans', true, 'core_competency'); $coursesettings = course_competency_settings::get_by_courseid($c1->id); $this->assertTrue((boolean)$coursesettings->get_pushratingstouserplans()); - set_config('pushcourseratingstouserplans', false, 'tool_lp'); + set_config('pushcourseratingstouserplans', false, 'core_competency'); $coursesettings = course_competency_settings::get_by_courseid($c1->id); $this->assertFalse((boolean)$coursesettings->get_pushratingstouserplans()); @@ -88,7 +88,7 @@ class core_competency_course_competency_settings_testcase extends advanced_testc $coursesettings = course_competency_settings::get_by_courseid($c1->id); $this->assertTrue((boolean)$coursesettings->get_pushratingstouserplans()); - set_config('pushcourseratingstouserplans', true, 'tool_lp'); + set_config('pushcourseratingstouserplans', true, 'core_competency'); api::update_course_competency_settings($c1->id, (object) array('pushratingstouserplans' => false)); $coursesettings = course_competency_settings::get_by_courseid($c1->id); $this->assertFalse((boolean)$coursesettings->get_pushratingstouserplans()); diff --git a/lang/en/competency.php b/lang/en/competency.php new file mode 100644 index 00000000000..28e48bba236 --- /dev/null +++ b/lang/en/competency.php @@ -0,0 +1,33 @@ +. + +/** + * Competency language file. + * + * @package core_competency + * @copyright 2016 Frédéric Massart - FMCorz.net + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + +$string['competencies'] = 'Competencies'; +$string['competenciesarenotenabled'] = 'The competencies module is not enabled.'; +$string['competenciessettings'] = 'Competencies settings'; +$string['enablecompetencies'] = 'Enable competencies'; +$string['enablecompetencies_desc'] = 'When unticked the competencies module will be disabled.'; +$string['pushcourseratingstouserplans'] = 'Push course ratings to individual learning plans'; +$string['pushcourseratingstouserplans_desc'] = 'Default value for the course setting to update individual learning plans when course competencies are rated.';