From 84979ab7931b78db9e9645a622988aa04c7222c0 Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Mon, 21 Nov 2016 11:37:51 +0800 Subject: [PATCH] MDL-57064 course: Return all properties when getting navigation options --- course/lib.php | 14 +++++++++++++- course/tests/courselib_test.php | 8 ++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/course/lib.php b/course/lib.php index 07616ea3f7cca..e917efaad3e70 100644 --- a/course/lib.php +++ b/course/lib.php @@ -3707,7 +3707,19 @@ function course_get_user_navigation_options($context, $course = null) { $sitecontext = context_system::instance(); } - $options = new stdClass; + // Sets defaults for all options. + $options = (object) [ + 'badges' => false, + 'blogs' => false, + 'calendar' => false, + 'competencies' => false, + 'grades' => false, + 'notes' => false, + 'participants' => false, + 'search' => false, + 'tags' => false, + ]; + $options->blogs = !empty($CFG->enableblogs) && ($CFG->bloglevel == BLOG_GLOBAL_LEVEL || ($CFG->bloglevel == BLOG_SITE_LEVEL and ($isloggedin and !$isguestuser))) diff --git a/course/tests/courselib_test.php b/course/tests/courselib_test.php index 7ab3925187133..d8e6a6f38ba63 100644 --- a/course/tests/courselib_test.php +++ b/course/tests/courselib_test.php @@ -2935,12 +2935,20 @@ public function test_course_get_user_navigation_options_for_frontpage() { $this->assertTrue($navoptions->tags); $this->assertFalse($navoptions->search); $this->assertTrue($navoptions->calendar); + $this->assertTrue($navoptions->competencies); // Enable global search now. $CFG->enableglobalsearch = 1; $navoptions = course_get_user_navigation_options($context, $course); $this->assertTrue($navoptions->search); + // Disable competencies. + $oldcompetencies = get_config('core_competency', 'enabled'); + set_config('enabled', false, 'core_competency'); + $navoptions = course_get_user_navigation_options($context, $course); + $this->assertFalse($navoptions->competencies); + set_config('enabled', $oldcompetencies, 'core_competency'); + // Now try with a standard user. $user = $this->getDataGenerator()->create_user(); $this->setUser($user);