From 94bc97a8b2c77f3087c7f3dd03afe746ffc97171 Mon Sep 17 00:00:00 2001 From: Juan Leyva Date: Fri, 26 Jan 2024 13:56:23 +0100 Subject: [PATCH] MDL-80724 webservice: Return whether competencies are enabled --- webservice/externallib.php | 6 ++++++ webservice/tests/externallib_test.php | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/webservice/externallib.php b/webservice/externallib.php index 42731b1e5de..8532dbcedfc 100644 --- a/webservice/externallib.php +++ b/webservice/externallib.php @@ -172,6 +172,12 @@ class core_webservice_external extends \core_external\external_api { 'name' => 'mnet_dispatcher_mode', 'value' => ($CFG->mnet_dispatcher_mode == 'strict') ? 1 : 0 ); + // Competencies. + $enablecompetencies = get_config('core_competency', 'enabled'); + $siteinfo['advancedfeatures'][] = [ + 'name' => 'enablecompetencies', + 'value' => (!empty($enablecompetencies)) ? 1 : 0, + ]; // User can manage own files. $siteinfo['usercanmanageownfiles'] = has_capability('moodle/user:manageownfiles', $context); diff --git a/webservice/tests/externallib_test.php b/webservice/tests/externallib_test.php index 2d1f791d8e7..0e563597854 100644 --- a/webservice/tests/externallib_test.php +++ b/webservice/tests/externallib_test.php @@ -111,6 +111,7 @@ class externallib_test extends externallib_advanced_testcase { $this->assertEquals(1, $siteinfo['downloadfiles']); $this->assertEquals(1, $siteinfo['uploadfiles']); + $this->assertCount(12, $siteinfo['advancedfeatures']); foreach ($siteinfo['advancedfeatures'] as $feature) { if ($feature['name'] == 'mnet_dispatcher_mode') { if ($CFG->mnet_dispatcher_mode == 'off') { @@ -118,6 +119,9 @@ class externallib_test extends externallib_advanced_testcase { } else { $this->assertEquals(1, $feature['value']); } + } else if ($feature['name'] == 'enablecompetencies') { + $expected = (!empty(get_config('core_competency', 'enabled'))) ? 1 : 0; + $this->assertEquals($expected, $feature['value']); } else { $this->assertEquals($CFG->{$feature['name']}, $feature['value']); }