From 9088af3c26915dac82ad22e2d41b26bbf6f63f50 Mon Sep 17 00:00:00 2001
From: magicfelix <felix@felix-zauberer.de>
Date: Fri, 25 Nov 2022 20:22:53 +0100
Subject: [PATCH] Mark code-entered invitation accepted after signup

---
 aleksis/core/forms.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/aleksis/core/forms.py b/aleksis/core/forms.py
index 3ac7fed78..92c120886 100644
--- a/aleksis/core/forms.py
+++ b/aleksis/core/forms.py
@@ -664,6 +664,16 @@ class AccountRegisterForm(SignupForm, ExtensibleForm):
                 setattr(person, field, value)
             person.user = user
             person.save()
+        invitation_code = request.session.get("invitation_code")
+        if invitation_code:
+            from invitations.views import accept_invitation  # noqa
+
+            try:
+                invitation = PersonInvitation.objects.get(key=invitation_code)
+            except PersonInvitation.DoesNotExist:
+                raise SuspiciousOperation()
+
+            accept_invitation(invitation, request, user)
         self.custom_signup(request, user)
         setup_user_email(request, user, [])
         return user
-- 
GitLab