Skip to content
Snippets Groups Projects
Commit cf8fea3c authored by Hangzhi Yu's avatar Hangzhi Yu
Browse files

Merge branch '74-rewrite-registration-wizard' of...

Merge branch '74-rewrite-registration-wizard' of edugit.org:Teckids/hacknfun/AlekSIS-App-Paweljong into 74-rewrite-registration-wizard
parents e125ecd3 073d0e2f
No related branches found
No related tags found
1 merge request!78Resolve "Rewrite registration wizard"
Pipeline #195974 canceled
......@@ -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
......
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,11 +52,23 @@ 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)
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 +83,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 +148,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
......@@ -183,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)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment