From 586ed51bdb2da5823987c672008149b979d8db8d Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Mon, 25 Mar 2024 11:27:36 +0000 Subject: [PATCH] fixes #3888 Closes #3888 Merge request studip/studip!2740 --- app/controllers/admin/courses.php | 7 +------ resources/vue/components/AdminCourses.vue | 10 ++++++++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/controllers/admin/courses.php b/app/controllers/admin/courses.php index aa56bfbad73..6f9312d98aa 100644 --- a/app/controllers/admin/courses.php +++ b/app/controllers/admin/courses.php @@ -302,7 +302,7 @@ class Admin_CoursesController extends AuthenticatedController public function index_action() { $this->fields = $this->getViewFilters(); - $this->sortby = $GLOBALS['user']->cfg->MEINE_SEMINARE_SORT ?? 'name'; + $this->sortby = $GLOBALS['user']->cfg->MEINE_SEMINARE_SORT ?? (Config::get()->IMPORTANT_SEMNUMBER ? 'number' : 'name'); $this->sortflag = $GLOBALS['user']->cfg->MEINE_SEMINARE_SORT_FLAG ?? 'ASC'; $this->buildSidebar(); @@ -788,11 +788,6 @@ class Admin_CoursesController extends AuthenticatedController $template->course = $course; $d['action'] = $template->render(); break; - case 22: //Masssenexport Teilnehmendendaten - $template = $tf->open('admin/courses/batch_export_members'); - $template->course = $course; - $d['action'] = $template->render(); - break; default: foreach (PluginManager::getInstance()->getPlugins('AdminCourseAction') as $plugin) { if ($GLOBALS['user']->cfg->MY_COURSES_ACTION_AREA === get_class($plugin)) { diff --git a/resources/vue/components/AdminCourses.vue b/resources/vue/components/AdminCourses.vue index a0f928c370f..2bc49985119 100644 --- a/resources/vue/components/AdminCourses.vue +++ b/resources/vue/components/AdminCourses.vue @@ -248,6 +248,16 @@ export default { if (sortby === 'last_activity') { sortFunction = (a, b) => a.last_activity_raw - b.last_activity_raw; + } else if (sortby === 'name') { + sortFunction = (a, b) => { + return collator.compare(striptags(a.name), striptags(b.name)) + || collator.compare(striptags(a.number), striptags(b.number)); + }; + } else if (sortby === 'number') { + sortFunction = (a, b) => { + return collator.compare(striptags(a.number), striptags(b.number)) + || collator.compare(striptags(a.name), striptags(b.name)); + }; } else { let is_numeric = true; for (let i in array) { -- GitLab