From 7b085640b2a13f122263bc831e58ba11fc65d890 Mon Sep 17 00:00:00 2001
From: Rasmus Fuhse <fuhse@data-quest.de>
Date: Mon, 21 Aug 2023 09:45:40 +0000
Subject: [PATCH] Resolve "Neue Adminseite - Keine Meldung, dass zu viele
 Veranstaltung im Hintergrund ausgelesen werden."

Closes #2852

Merge request studip/studip!2060
---
 resources/vue/components/AdminCourses.vue |  7 +++----
 resources/vue/store/AdminCoursesStore.js  | 15 ++++++++++-----
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/resources/vue/components/AdminCourses.vue b/resources/vue/components/AdminCourses.vue
index 8e8c5c84ea7..0f79cf7febf 100644
--- a/resources/vue/components/AdminCourses.vue
+++ b/resources/vue/components/AdminCourses.vue
@@ -75,12 +75,12 @@
                 <td class="actions" v-html="course.action">
                 </td>
             </tr>
-            <tr v-if="sortedCourses.length === 0 && coursesCount <= 500 && displayLimitedLines && coursesLoaded">
+            <tr v-if="coursesCount === 0 && coursesLoaded">
                 <td :colspan="colspan">
                     {{ $gettext('Keine Ergebnisse') }}
                 </td>
             </tr>
-            <tr v-if="coursesCount > maxCourses && displayLimitedLines">
+            <tr v-if="coursesCount > 0 && sortedCourses.length === 0">
                 <td :colspan="colspan">
                     {{
                         $gettextInterpolate(
@@ -88,7 +88,7 @@
                             { n: coursesCount }
                         )
                     }}
-                    <a href="" @click.prevent="loadCourses({withoutLimit: true}); displayLimitedLines = false;">
+                    <a href="" @click.prevent="loadCourses({withoutLimit: true});">
                         {{ $gettext('Alle anzeigen') }}
                     </a>
                 </td>
@@ -130,7 +130,6 @@ export default {
                 direction: this.sortFlag,
             },
             currentLine: null,
-            displayLimitedLines: true,
             open_children: [],
         };
     },
diff --git a/resources/vue/store/AdminCoursesStore.js b/resources/vue/store/AdminCoursesStore.js
index e3df44ece19..813644f1434 100644
--- a/resources/vue/store/AdminCoursesStore.js
+++ b/resources/vue/store/AdminCoursesStore.js
@@ -44,9 +44,9 @@ export default {
                 state.courses.push(payload.data);
             }
         },
-        setCourses(state, courses, count = null) {
-            state.courses = courses;
-            state.coursesCount = count ?? courses.length;
+        setCourses(state, payload) {
+            state.courses = payload.courses;
+            state.coursesCount = payload.count ?? payload.courses.length;
         },
         setCoursesLoaded(state, loaded = true) {
             state.coursesLoaded = loaded;
@@ -109,9 +109,14 @@ export default {
                 commit('setCoursesLoaded');
 
                 if (response.data === undefined) {
-                    commit('setCourses', [], response.count);
+                    commit('setCourses', {
+                        courses: [],
+                        count: response.count
+                    });
                 } else {
-                    commit('setCourses', response.data);
+                    commit('setCourses', {
+                        courses: response.data
+                    });
                 }
 
                 commit('setButtons', {
-- 
GitLab