Skip to content
Snippets Groups Projects
Verified Commit 0b2be5f2 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Reverse logic in auto-creation of persons

Superusers should get a real person linked as well if enabled
parent 4120a2c0
No related branches found
No related tags found
1 merge request!414Resolve "Allow automatic linking of persons to account by e-mail address"
Pipeline #5019 passed
......@@ -22,28 +22,25 @@ class EnsurePersonMiddleware:
def __call__(self, request: HttpRequest) -> HttpResponse:
if not has_person(request):
if request.user.is_superuser:
# Super-users get a dummy person linked
dummy_person = DummyPerson(
first_name=request.user.first_name, last_name=request.user.last_name
prefs = get_site_preferences()
if prefs.get("account__auto_link_person", False):
person, created = Person.objects.get_or_create(
email=request.user.email,
defaults={
"first_name": request.user.first_name,
"last_name": request.user.last_name,
},
)
request.user.person = dummy_person
else:
prefs = get_site_preferences()
if prefs.get("account__auto_link_person", False):
person, created = Person.objects.get_or_create(
email=request.user.email,
defaults={
"first_name": request.user.first_name,
"last_name": request.user.last_name,
},
)
if created and not prefs.get("account__auto_create_person"):
return
if prefs.get("account__auto_create_person") or not created:
person.user = request.user
person.save()
if request.user.is_superuser and not has_person(request):
# Super-users get a dummy person linked
dummy_person = DummyPerson(
first_name=request.user.first_name, last_name=request.user.last_name
)
request.user.person = dummy_person
response = self.get_response(request)
return response
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