diff --git a/aleksis/core/decorators.py b/aleksis/core/decorators.py index 47a37b339f636b959c932f575eeaa26514dda906..c19dc9139b2734a22b2d7bbd305cae574b665e76 100644 --- a/aleksis/core/decorators.py +++ b/aleksis/core/decorators.py @@ -1,8 +1,7 @@ from typing import Callable from django.contrib.auth.decorators import login_required, user_passes_test - -from aleksis.core.util.core_helpers import has_person +from django.contrib.auth.models import User def admin_required(function: Callable = None) -> Callable: @@ -10,8 +9,12 @@ def admin_required(function: Callable = None) -> Callable: return actual_decorator(function) +def has_person_by_user(user: User) -> bool: + return getattr(user, "person", None) is not None + + def person_required(function: Callable = None) -> Callable: """ Requires a logged-in user which is linked to a person. """ - actual_decorator = user_passes_test(has_person) + actual_decorator = user_passes_test(has_person_by_user) return actual_decorator(login_required(function))