From e68ef488864980b3fd709ffe65b90127e5191f7b Mon Sep 17 00:00:00 2001
From: magicfelix <felix@felix-zauberer.de>
Date: Fri, 14 Feb 2025 14:39:48 +0100
Subject: [PATCH] Fix mail handling

---
 .../apps/paweljong/schema/event_registration.py   | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/aleksis/apps/paweljong/schema/event_registration.py b/aleksis/apps/paweljong/schema/event_registration.py
index 66ece1a..041ea7e 100644
--- a/aleksis/apps/paweljong/schema/event_registration.py
+++ b/aleksis/apps/paweljong/schema/event_registration.py
@@ -55,6 +55,17 @@ class SendEventRegistrationMutation(graphene.Mutation):
 
         print(event_registration)
 
+        email = None
+
+        if event_registration["email"] is not None:
+            _mail_address = MailAddress.objects.create(
+                local_part=event_registration["email"]["local_part"],
+                domain=event_registration["email"]["domain"],
+            )
+            email = str(_mail_address)
+        elif event_registration["user"] is not None:
+            email = event_registration["user"]["email"]
+
         # Create user
         if event_registration is not None:
             user = User.objects.create(
@@ -69,7 +80,7 @@ class SendEventRegistrationMutation(graphene.Mutation):
         person, created = Person.objects.get_or_create(
             user=user,
             defaults={
-                "email": event_registration["person"]["email"],
+                "email": email,
                 "first_name": event_registration["person"]["first_name"],
                 "last_name": event_registration["person"]["last_name"],
             },
@@ -134,7 +145,7 @@ class SendEventRegistrationMutation(graphene.Mutation):
         registration.cost = event.cost
 
         if event.max_cost is not None and event.max_cost > 0:
-            amount = event_registration["payment"].amount
+            amount = event_registration["payment"]["amount"]
 
             if amount < event.cost:
                 voucher_amount = event.cost - amount
-- 
GitLab