From 09fef88c649ef696c607fdbadb090b75a0f73fe1 Mon Sep 17 00:00:00 2001 From: Mark Nelson <markn@moodle.com> Date: Tue, 19 Aug 2014 21:38:55 -0700 Subject: [PATCH] MDL-46902 core_course: display meaningful message when no courses found --- course/classes/management_renderer.php | 13 +++++++++---- course/management.php | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/course/classes/management_renderer.php b/course/classes/management_renderer.php index eded3a77b1f..a36227d74e0 100644 --- a/course/classes/management_renderer.php +++ b/course/classes/management_renderer.php @@ -1050,9 +1050,11 @@ class core_course_management_renderer extends plugin_renderer_base { * @param course_in_list $course The currently selected course if there is one. * @param int $page The current page, starting at 0. * @param int $perpage The number of courses to display per page. + * @param string $search The string we are searching for. * @return string */ - public function search_listing(array $courses, $totalcourses, course_in_list $course = null, $page = 0, $perpage = 20) { + public function search_listing(array $courses, $totalcourses, course_in_list $course = null, $page = 0, $perpage = 20, + $search = '') { $page = max($page, 0); $perpage = max($perpage, 2); $totalpages = ceil($totalcourses / $perpage); @@ -1082,7 +1084,7 @@ class core_course_management_renderer extends plugin_renderer_base { $first = false; } $html .= html_writer::end_tag('ul'); - $html .= $this->search_pagination($totalcourses, $page, $perpage, true); + $html .= $this->search_pagination($totalcourses, $page, $perpage, true, $search); $html .= html_writer::end_div(); return $html; } @@ -1094,13 +1096,16 @@ class core_course_management_renderer extends plugin_renderer_base { * @param int $page The current page. * @param int $perpage The number of courses being displayed. * @param bool $showtotals Whether or not to print total information. + * @param string $search The string we are searching for. * @return string */ - protected function search_pagination($totalcourses, $page, $perpage, $showtotals = false) { + protected function search_pagination($totalcourses, $page, $perpage, $showtotals = false, $search = '') { $html = ''; $totalpages = ceil($totalcourses / $perpage); if ($showtotals) { - if ($totalpages == 1) { + if ($totalpages == 0) { + $str = get_string('nocoursesfound', 'moodle', $search); + } else if ($totalpages == 1) { $str = get_string('showingacourses', 'moodle', $totalcourses); } else { $a = new stdClass; diff --git a/course/management.php b/course/management.php index 85a2494f3f4..db506fbd2db 100644 --- a/course/management.php +++ b/course/management.php @@ -499,7 +499,7 @@ if ($displaycourselisting) { } else { list($courses, $coursescount, $coursestotal) = \core_course\management\helper::search_courses($search, $blocklist, $modulelist, $page, $perpage); - echo $renderer->search_listing($courses, $coursestotal, $course, $page, $perpage); + echo $renderer->search_listing($courses, $coursestotal, $course, $page, $perpage, $search); } echo $renderer->grid_column_end(); if ($displaycoursedetail) {