From 073d0e2f77b861883102cbe1185d3828d239eab0 Mon Sep 17 00:00:00 2001
From: magicfelix <felix@felix-zauberer.de>
Date: Fri, 14 Feb 2025 14:40:00 +0100
Subject: [PATCH] Use atomic transaction

---
 aleksis/apps/paweljong/schema/checkpoint.py         | 2 +-
 aleksis/apps/paweljong/schema/event_registration.py | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/aleksis/apps/paweljong/schema/checkpoint.py b/aleksis/apps/paweljong/schema/checkpoint.py
index 5c1b03c..7b4c091 100644
--- a/aleksis/apps/paweljong/schema/checkpoint.py
+++ b/aleksis/apps/paweljong/schema/checkpoint.py
@@ -4,9 +4,9 @@ from django.utils import timezone
 import graphene
 from graphene_django import DjangoObjectType
 
+from aleksis.core.models import Person
 from aleksis.core.schema.base import PermissionsTypeMixin
 from aleksis.core.util.core_helpers import has_person
-from aleksis.core.models import Person
 
 from ..models import Checkpoint, Event
 
diff --git a/aleksis/apps/paweljong/schema/event_registration.py b/aleksis/apps/paweljong/schema/event_registration.py
index 041ea7e..8de0440 100644
--- a/aleksis/apps/paweljong/schema/event_registration.py
+++ b/aleksis/apps/paweljong/schema/event_registration.py
@@ -1,4 +1,6 @@
+from django.db import transaction
 from django.contrib.auth.models import User
+from django.core.exceptions import ValidationError
 from django.utils.text import slugify
 from django.utils.translation import gettext as _
 
@@ -50,6 +52,7 @@ class SendEventRegistrationMutation(graphene.Mutation):
 
     ok = graphene.Boolean()
 
+    @transaction.atomic
     def mutate(self, info, event: graphene.ID, event_registration: EventRegistrationInputType, **kwargs):
         event = Event.objects.get(pk=event)
 
@@ -194,4 +197,5 @@ class SendEventRegistrationMutation(graphene.Mutation):
         if event_registration["retraction_consent"]:
             return SendEventRegistrationMutation(ok=True)
 
+        raise ValidationError(_("Retraction consent is required"))
         return SendEventRegistrationMutation(ok=False)
-- 
GitLab