From 1391b48cc283c3c1d7e3cf644ef0038233a8e115 Mon Sep 17 00:00:00 2001
From: Michael Bauer <michael-bauer@posteo.de>
Date: Mon, 4 Sep 2023 18:37:53 +0200
Subject: [PATCH] Check permission before showing substitution frontend

---
 .../components/calendar_feeds/details/LessonDetails.vue   | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/aleksis/apps/chronos/frontend/components/calendar_feeds/details/LessonDetails.vue b/aleksis/apps/chronos/frontend/components/calendar_feeds/details/LessonDetails.vue
index 3c48211f..2453c3e9 100644
--- a/aleksis/apps/chronos/frontend/components/calendar_feeds/details/LessonDetails.vue
+++ b/aleksis/apps/chronos/frontend/components/calendar_feeds/details/LessonDetails.vue
@@ -95,7 +95,7 @@
           </v-list-item-title>
         </v-list-item-content>
       </v-list-item>
-      <v-card-actions>
+      <v-card-actions v-if="checkPermission('chronos.edit_substitution_rule')">
         <edit-button
           i18n-key="chronos.event.amend.button"
           @click="amendEvent.open = true"
@@ -161,6 +161,7 @@
 </template>
 
 <script>
+import permissionsMixin from "aleksis.core/mixins/permissions.js";
 import calendarFeedDetailsMixin from "aleksis.core/mixins/calendarFeedDetails.js";
 import BaseCalendarFeedDetails from "aleksis.core/components/calendar/BaseCalendarFeedDetails.vue";
 import CalendarStatusChip from "aleksis.core/components/calendar/CalendarStatusChip.vue";
@@ -191,7 +192,7 @@ export default {
     EditButton,
     DialogObjectForm,
   },
-  mixins: [calendarFeedDetailsMixin, lessonEvent],
+  mixins: [permissionsMixin, calendarFeedDetailsMixin, lessonEvent],
   data() {
     return {
       amendEvent: {
@@ -264,5 +265,8 @@ export default {
     amendableTeachers: gqlPersons,
     amendableRooms: gqlRooms,
   },
+  mounted() {
+    this.addPermissions(["chronos.edit_substitution_rule"]);
+  },
 };
 </script>
-- 
GitLab