From: Sam Hemelryk Date: Mon, 13 Jan 2014 23:29:36 +0000 (+1300) Subject: MDL-43675 navigation: courses branch is now recognised as expandable X-Git-Tag: v2.7.0-beta~691^2 X-Git-Url: http://git.moodle.org/gw?p=moodle.git;a=commitdiff_plain;h=956e2e8a8c20870b928aad9923f28a47088f822b;ds=sidebyside MDL-43675 navigation: courses branch is now recognised as expandable --- diff --git a/lib/ajax/getnavbranch.php b/lib/ajax/getnavbranch.php index 957d0a9bc70..457f8d98cac 100644 --- a/lib/ajax/getnavbranch.php +++ b/lib/ajax/getnavbranch.php @@ -112,16 +112,16 @@ try { $html = ob_get_contents(); ob_end_clean(); } catch (Exception $e) { - die('Error: '.$e->getMessage()); + throw new coding_exception('Error: '.$e->getMessage()); } // Check if the buffer contianed anything if it did ERROR! if (trim($html) !== '') { - die('Errors were encountered while producing the navigation branch'."\n\n\n".$html); + throw new coding_exception('Errors were encountered while producing the navigation branch'."\n\n\n".$html); } // Check that branch isn't empty... if it is ERROR! -if (empty($branch) || $branch->nodetype !== navigation_node::NODETYPE_BRANCH) { - die('No further information available for this branch'); +if (empty($branch) || ($branch->nodetype !== navigation_node::NODETYPE_BRANCH && !$branch->isexpandable)) { + throw new coding_exception('No further information available for this branch'); } // Prepare an XML converter for the branch diff --git a/lib/navigationlib.php b/lib/navigationlib.php index 4ae18b2cfed..06081c06d2e 100644 --- a/lib/navigationlib.php +++ b/lib/navigationlib.php @@ -2748,6 +2748,9 @@ class global_navigation_for_ajax extends global_navigation { $this->rootnodes['site'] = $this->add_course($SITE); $this->rootnodes['mycourses'] = $this->add(get_string('mycourses'), new moodle_url('/my'), self::TYPE_ROOTNODE, null, 'mycourses'); $this->rootnodes['courses'] = $this->add(get_string('courses'), null, self::TYPE_ROOTNODE, null, 'courses'); + // The courses branch is always displayed, and is always expandable (although may be empty). + // This mimicks what is done during {@link global_navigation::initialise()}. + $this->rootnodes['courses']->isexpandable = true; // Branchtype will be one of navigation_node::TYPE_* switch ($this->branchtype) {