From 4c26d1af76302ad3cc7c97fc3b4247faf337418f Mon Sep 17 00:00:00 2001 From: Mark Nelson Date: Thu, 8 Dec 2016 16:04:27 +0800 Subject: [PATCH] MDL-57250 core: show admin settings when only one category exists --- course/index.php | 13 +++++++++++-- course/renderer.php | 20 +++++++++++++------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/course/index.php b/course/index.php index 3b16759c5d9..dc03abc2447 100644 --- a/course/index.php +++ b/course/index.php @@ -37,9 +37,18 @@ if ($categoryid) { // And the object has been loaded for us no need for another DB call $category = $PAGE->category; } else { - $categoryid = 0; + // Check if there is only one category, if so use that. + if (coursecat::count_all() == 1) { + $category = coursecat::get_default(); + + $categoryid = $category->id; + $PAGE->set_category_by_id($categoryid); + $PAGE->set_pagetype('course-index-category'); + } else { + $PAGE->set_context(context_system::instance()); + } + $PAGE->set_url('/course/index.php'); - $PAGE->set_context(context_system::instance()); } $PAGE->set_pagelayout('coursecategory'); diff --git a/course/renderer.php b/course/renderer.php index f5238ddf4be..14040eae50e 100644 --- a/course/renderer.php +++ b/course/renderer.php @@ -1674,15 +1674,21 @@ class core_course_renderer extends plugin_renderer_base { $this->page->set_title("$site->shortname: $strcategories"); } } else { - $this->page->set_title("$site->shortname: ". $coursecat->get_formatted_name()); + $title = $site->shortname; + if (coursecat::count_all() > 1) { + $title .= ": ". $coursecat->get_formatted_name(); + } + $this->page->set_title($title); // Print the category selector - $output .= html_writer::start_tag('div', array('class' => 'categorypicker')); - $select = new single_select(new moodle_url('/course/index.php'), 'categoryid', - coursecat::make_categories_list(), $coursecat->id, null, 'switchcategory'); - $select->set_label(get_string('categories').':'); - $output .= $this->render($select); - $output .= html_writer::end_tag('div'); // .categorypicker + if (coursecat::count_all() > 1) { + $output .= html_writer::start_tag('div', array('class' => 'categorypicker')); + $select = new single_select(new moodle_url('/course/index.php'), 'categoryid', + coursecat::make_categories_list(), $coursecat->id, null, 'switchcategory'); + $select->set_label(get_string('categories').':'); + $output .= $this->render($select); + $output .= html_writer::end_tag('div'); // .categorypicker + } } // Print current category description