diff --git a/aleksis/core/forms.py b/aleksis/core/forms.py index 3ac7fed78f285043baed475aeefb152f224f27d1..92c120886e4a530cc566b8489cb09d3e38f5ba2e 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