From 64724594c681ce6350f20d40e531439676d7d7ec Mon Sep 17 00:00:00 2001
From: Michael Bauer <michael-bauer@posteo.de>
Date: Mon, 4 Nov 2024 11:56:39 +0100
Subject: [PATCH] Add print button to coursebook

---
 .../coursebook/CoursebookControls.vue         | 28 +++++++++++++------
 .../apps/alsijil/frontend/messages/de.json    |  1 +
 .../apps/alsijil/frontend/messages/en.json    |  1 +
 3 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookControls.vue b/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookControls.vue
index 6b9dcc92f..e62b17f54 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookControls.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookControls.vue
@@ -1,3 +1,7 @@
+<script setup>
+import SecondaryActionButton from "aleksis.core/components/generic/buttons/SecondaryActionButton.vue";
+</script>
+
 <template>
   <div
     class="d-flex flex-column flex-sm-row flex-nowrap flex-grow-1 justify-end gap align-stretch"
@@ -56,14 +60,22 @@
         hide-details
       />
     </div>
-    <v-btn
-      outlined
-      color="primary"
-      :loading="selectLoading"
-      @click="togglePageType()"
-    >
-      {{ pageTypeButtonText }}
-    </v-btn>
+    <div class="d-flex flex-column gap">
+      <v-btn
+        outlined
+        color="primary"
+        :loading="selectLoading"
+        @click="togglePageType()"
+      >
+        {{ pageTypeButtonText }}
+      </v-btn>
+      <secondary-action-button
+        v-if="pageType === 'documentations'"
+        i18n-key="alsijil.coursebook.print"
+        icon-text="$print"
+        :click="showPrintMenu"
+      />
+    </div>
   </div>
 </template>
 
diff --git a/aleksis/apps/alsijil/frontend/messages/de.json b/aleksis/apps/alsijil/frontend/messages/de.json
index ab0fb17cd..aa551b46b 100644
--- a/aleksis/apps/alsijil/frontend/messages/de.json
+++ b/aleksis/apps/alsijil/frontend/messages/de.json
@@ -42,6 +42,7 @@
         "title": "Fehler: keine Person | {name} erfolgreich als {reason} markiert | {n} Personen erfolgreich als {reason} markiert"
       },
       "menu_title": "Kursbuch",
+      "print": "Drucken",
       "no_data": "Keine Stunden der ausgewählten Gruppen und Kurse im aktuellen Zeitraum",
       "no_results": "Keine Suchergebnisse für {search}",
       "notes": {
diff --git a/aleksis/apps/alsijil/frontend/messages/en.json b/aleksis/apps/alsijil/frontend/messages/en.json
index 827f78272..fcb069826 100644
--- a/aleksis/apps/alsijil/frontend/messages/en.json
+++ b/aleksis/apps/alsijil/frontend/messages/en.json
@@ -47,6 +47,7 @@
       "title_plural": "Coursebook",
       "title_documentations": "Coursebook",
       "title_absences": "Coursebook · Absences",
+      "print": "Print",
       "status": {
         "available": "Documentation available",
         "missing": "Documentation missing",
-- 
GitLab