diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c776b75dc8026cbe6564f7478e76da49f07cd7eb..4f54538ab74e5afd3c440cb18f58fea7ba38ebd5 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -31,6 +31,7 @@ Fixed * Sometimes the PDF files were not generated correctly and images were displayed only partially. * Error message in permission form was misleading. +* Personal invites did not work * Invite Person view threw an error when personal invites existed Removed diff --git a/aleksis/core/forms.py b/aleksis/core/forms.py index 05ebef2f4f3dd17124a4449ebe06b6622c1ad1be..136c6d38f1bf7b143ecf631077f48b75c2149957 100644 --- a/aleksis/core/forms.py +++ b/aleksis/core/forms.py @@ -639,8 +639,12 @@ class AccountRegisterForm(SignupForm, ExtensibleForm): for field in Person._meta.get_fields(): if field.name in self.cleaned_data: data[field.name] = self.cleaned_data[field.name] - if not Person.objects.filter(email=data["email"]): - _person, created = Person.objects.update_or_create(user=user, **data) + person_qs = Person.objects.filter(email=data["email"]) + if not person_qs.exists(): + if get_site_preferences()["account__auto_create_person"]: + Person.objects.create(user=user, **data) + else: + person_qs.update(user=user, **data) self.custom_signup(request, user) setup_user_email(request, user, []) return user