From 39ff62c48877744776d9f18a9148844725dc5290 Mon Sep 17 00:00:00 2001
From: magicfelix <felix@felix-zauberer.de>
Date: Fri, 4 Apr 2025 13:26:05 +0200
Subject: [PATCH] Adjust to Announcement migration

---
 .../announcements/Announcements.vue           | 24 +++++++++----------
 .../announcements/announcements.graphql       |  4 ++--
 aleksis/core/schema/announcement.py           | 12 +++++-----
 .../core/partials/announcements.html          | 12 +++++-----
 4 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/aleksis/core/frontend/components/announcements/Announcements.vue b/aleksis/core/frontend/components/announcements/Announcements.vue
index 352999270..ba7d534c8 100644
--- a/aleksis/core/frontend/components/announcements/Announcements.vue
+++ b/aleksis/core/frontend/components/announcements/Announcements.vue
@@ -20,11 +20,11 @@ import PositiveSmallIntegerField from "../generic/forms/PositiveSmallIntegerFiel
     item-attribute="title"
     :enable-edit="true"
   >
-    <template #validFrom="{ item }">
-      {{ $d($parseISODate(item.validFrom), "shortDateTime") }}
+    <template #datetimeStart="{ item }">
+      {{ $d($parseISODate(item.datetimeStart), "shortDateTime") }}
     </template>
     <!-- eslint-disable-next-line vue/valid-v-slot -->
-    <template #validFrom.field="{ attrs, on, item }">
+    <template #datetimeStart.field="{ attrs, on, item }">
       <div aria-required="true">
         <date-time-field
           dense
@@ -32,17 +32,17 @@ import PositiveSmallIntegerField from "../generic/forms/PositiveSmallIntegerFiel
           v-bind="attrs"
           v-on="on"
           required
-          :max="item.validUntil"
+          :max="item.datetimeEnd"
           :rules="$rules().required.build()"
         />
       </div>
     </template>
 
-    <template #validUntil="{ item }">
-      {{ $d($parseISODate(item.validUntil), "shortDateTime") }}
+    <template #datetimeEnd="{ item }">
+      {{ $d($parseISODate(item.datetimeEnd), "shortDateTime") }}
     </template>
     <!-- eslint-disable-next-line vue/valid-v-slot -->
-    <template #validUntil.field="{ attrs, on, item }">
+    <template #datetimeEnd.field="{ attrs, on, item }">
       <div aria-required="true">
         <date-time-field
           dense
@@ -50,7 +50,7 @@ import PositiveSmallIntegerField from "../generic/forms/PositiveSmallIntegerFiel
           v-bind="attrs"
           v-on="on"
           required
-          :min="$parseISODate(item.validFrom).plus({ minutes: 1 }).toISO()"
+          :min="$parseISODate(item.datetimeStart).plus({ minutes: 1 }).toISO()"
           :rules="$rules().required.build()"
         />
       </div>
@@ -150,12 +150,12 @@ export default {
       headers: [
         {
           text: this.$t("announcement.valid_from"),
-          value: "validFrom",
+          value: "datetimeStart",
           cols: 6,
         },
         {
           text: this.$t("announcement.valid_until"),
-          value: "validUntil",
+          value: "datetimeEnd",
           cols: 6,
         },
         {
@@ -190,10 +190,10 @@ export default {
       gqlPatchMutation: patchAnnouncements,
       gqlDeleteMutation: deleteAnnouncements,
       defaultItem: {
-        validFrom: DateTime.now()
+        datetimeStart: DateTime.now()
           .startOf("minute")
           .toISO({ suppressSeconds: true }),
-        validUntil: DateTime.now()
+        datetimeEnd: DateTime.now()
           .startOf("minute")
           .plus({ hours: 1 })
           .toISO({ suppressSeconds: true }),
diff --git a/aleksis/core/frontend/components/announcements/announcements.graphql b/aleksis/core/frontend/components/announcements/announcements.graphql
index 72ad65707..c43bb4903 100644
--- a/aleksis/core/frontend/components/announcements/announcements.graphql
+++ b/aleksis/core/frontend/components/announcements/announcements.graphql
@@ -1,7 +1,7 @@
 fragment announcementFields on AnnouncementType {
   id
-  validFrom
-  validUntil
+  datetimeStart
+  datetimeEnd
   title
   description
   priority
diff --git a/aleksis/core/schema/announcement.py b/aleksis/core/schema/announcement.py
index 06820afcd..af52ab7df 100644
--- a/aleksis/core/schema/announcement.py
+++ b/aleksis/core/schema/announcement.py
@@ -23,8 +23,8 @@ class AnnouncementType(PermissionsTypeMixin, DjangoObjectType):
         model = Announcement
         fields = (
             "id",
-            "valid_from",
-            "valid_until",
+            "datetime_start",
+            "datetime_end",
             "title",
             "description",
             "priority",
@@ -45,8 +45,8 @@ class AnnouncementBatchCreateMutation(BaseBatchCreateMutation):
         model = Announcement
         permissions = ("core.create_announcement_rule",)
         only_fields = (
-            "valid_from",
-            "valid_until",
+            "datetime_start",
+            "datetime_end",
             "title",
             "description",
             "priority",
@@ -85,8 +85,8 @@ class AnnouncementBatchPatchMutation(BaseBatchPatchMutation):
         permissions = ("core.edit_announcement_rule",)
         only_fields = (
             "id",
-            "valid_from",
-            "valid_until",
+            "datetime_start",
+            "datetime_end",
             "title",
             "description",
             "priority",
diff --git a/aleksis/core/templates/core/partials/announcements.html b/aleksis/core/templates/core/partials/announcements.html
index e4aca1394..c88055fb1 100644
--- a/aleksis/core/templates/core/partials/announcements.html
+++ b/aleksis/core/templates/core/partials/announcements.html
@@ -4,12 +4,12 @@
   <figure class="alert primary">
       {% if show_interval %}
         <em class="right hide-on-small-and-down">
-          {% if announcement.valid_from.date == announcement.valid_until.date %}
-            {% blocktrans with from=announcement.valid_from|naturalday %}
+          {% if announcement.datetime_start.date == announcement.datetime_end.date %}
+            {% blocktrans with from=announcement.datetime_start|naturalday %}
               Valid for {{ from }}
             {% endblocktrans %}
           {% else %}
-            {% blocktrans with from=announcement.valid_from|naturalday until=announcement.valid_until|naturalday %}
+            {% blocktrans with from=announcement.datetime_start|naturalday until=announcement.datetime_end|naturalday %}
               Valid from {{ from }} until {{ until }}
             {% endblocktrans %}
           {% endif %}
@@ -31,12 +31,12 @@
 
       {% if show_interval %}
         <em class="hide-on-med-and-up">
-          {% if announcement.valid_from.date == announcement.valid_until.date %}
-            {% blocktrans with from=announcement.valid_from|naturalday %}
+          {% if announcement.datetime_start.date == announcement.datetime_end.date %}
+            {% blocktrans with from=announcement.datetime_start|naturalday %}
               Valid for {{ from }}
             {% endblocktrans %}
           {% else %}
-            {% blocktrans with from=announcement.valid_from|naturalday until=announcement.valid_until|naturalday %}
+            {% blocktrans with from=announcement.datetime_start|naturalday until=announcement.datetime_end|naturalday %}
               Valid for {{ from }} – {{ until }}
             {% endblocktrans %}
           {% endif %}
-- 
GitLab