From 06db77e510eef9010191e35e9a414833e9122fd4 Mon Sep 17 00:00:00 2001
From: magicfelix <felix@felix-zauberer.de>
Date: Mon, 8 Aug 2022 15:11:35 +0200
Subject: [PATCH] List one LessonDocumentation per week if enabled

---
 .../coursebook/LessonDocumentations.vue           | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/aleksis/apps/alsijil/assets/components/coursebook/LessonDocumentations.vue b/aleksis/apps/alsijil/assets/components/coursebook/LessonDocumentations.vue
index f95152c66..4524f020d 100644
--- a/aleksis/apps/alsijil/assets/components/coursebook/LessonDocumentations.vue
+++ b/aleksis/apps/alsijil/assets/components/coursebook/LessonDocumentations.vue
@@ -36,7 +36,7 @@
   </v-dialog>
   <v-data-table
     :headers="headers"
-    :items="lessonDocumentations"
+    :items="computedLessonDocumentations"
     @click:row="editLessonDocumentation"
     class="elevation-1"
   >
@@ -71,6 +71,7 @@
         ],
         lessonDocumentationEdit: {},
         selectedLessonperiodDatetime: {},
+        recordedWeeks: [],
       }
     },
     computed: {
@@ -78,8 +79,20 @@
         let currentDatetime = new Date()
         return this.plannedLessonperiodsDatetimes.filter(lp => new Date(lp.datetimeStart) > currentDatetime)
       },
+      computedLessonDocumentations() {
+        return this.lessonDocumentations.filter(ld => this.recordDocumentation(ld))
+      },
     },
     methods: {
+      recordDocumentation(item) {
+        if (this.documentLessonTopicsByWeek === "True") {
+          if (this.recordedWeeks.includes(item.week)) {
+            return false
+          }
+          this.recordedWeeks.push(item.week)
+        }
+        return true
+      },
       async loadLessonDocumentation(item) {
         const result = await this.$apollo.mutate({
           mutation: require("./LessonDocumentation.graphql"),
-- 
GitLab