From 6bdaf20462185278d76abe8448feddaa899a69f4 Mon Sep 17 00:00:00 2001 From: Damyon Wiese Date: Fri, 15 Mar 2019 16:06:32 +0800 Subject: [PATCH] MDL-63876 competencies: Skip enabled check Allow rendering a competency summary if competencies are disabled, but do not include links to competencies pages. --- .../external/competency_path_exporter.php | 4 +++ .../external/competency_summary_exporter.php | 1 + admin/tool/lp/lib.php | 5 ++-- .../lp/templates/competency_path.mustache | 18 ++++++++++-- .../lp/templates/competency_summary.mustache | 9 +++++- badges/criteria/award_criteria_competency.php | 15 +++++----- competency/classes/api.php | 28 ++++++++++++++++++- .../competency_framework_exporter.php | 8 +++++- 8 files changed, 73 insertions(+), 15 deletions(-) diff --git a/admin/tool/lp/classes/external/competency_path_exporter.php b/admin/tool/lp/classes/external/competency_path_exporter.php index 1dfe496ed76..ec83cdc491b 100644 --- a/admin/tool/lp/classes/external/competency_path_exporter.php +++ b/admin/tool/lp/classes/external/competency_path_exporter.php @@ -76,6 +76,9 @@ class competency_path_exporter extends \core\external\exporter { ], 'pagecontextid' => [ 'type' => PARAM_INT + ], + 'showlinks' => [ + 'type' => PARAM_BOOL ] ]; } @@ -91,6 +94,7 @@ class competency_path_exporter extends \core\external\exporter { $ancestors = []; $nodescount = count($this->related['ancestors']); $i = 1; + $result->showlinks = \core_competency\api::show_links(); foreach ($this->related['ancestors'] as $competency) { $exporter = new path_node_exporter([ 'id' => $competency->get('id'), diff --git a/admin/tool/lp/classes/external/competency_summary_exporter.php b/admin/tool/lp/classes/external/competency_summary_exporter.php index 4ab1a954c31..d007a8c084c 100644 --- a/admin/tool/lp/classes/external/competency_summary_exporter.php +++ b/admin/tool/lp/classes/external/competency_summary_exporter.php @@ -141,6 +141,7 @@ class competency_summary_exporter extends \core\external\exporter { ]); $result->comppath = $exporter->export($output); $result->pluginbaseurl = (new moodle_url('/admin/tool/lp'))->out(true); + $result->showlinks = \core_competency\api::show_links(); return (array) $result; } diff --git a/admin/tool/lp/lib.php b/admin/tool/lp/lib.php index c4278372c7f..e17c031e1c3 100644 --- a/admin/tool/lp/lib.php +++ b/admin/tool/lp/lib.php @@ -231,10 +231,11 @@ function tool_lp_get_fontawesome_icon_map() { function tool_lp_render_competency_summary(\core_competency\competency $competency, \core_competency\competency_framework $framework, $includerelated, - $includecourses) { + $includecourses, + $skipenabled = false) { global $PAGE; - if (!get_config('core_competency', 'enabled')) { + if (!$skipenabled && !get_config('core_competency', 'enabled')) { return; } diff --git a/admin/tool/lp/templates/competency_path.mustache b/admin/tool/lp/templates/competency_path.mustache index 63dfa451d7f..c3816c49fa2 100644 --- a/admin/tool/lp/templates/competency_path.mustache +++ b/admin/tool/lp/templates/competency_path.mustache @@ -56,10 +56,24 @@ }}