Files
testpoint/accounts/access.py
T
2026-07-29 10:47:40 +00:00

21 lines
542 B
Python

from .models import PremiumEntitlement
def has_lifetime_premium(user):
"""Return whether a user may access Lifetime Premium content."""
if not getattr(user, "is_authenticated", False):
return False
if user.is_staff or user.is_superuser:
return True
return PremiumEntitlement.objects.filter(
user=user,
revoked_at__isnull=True,
).exists()
def can_access_exam(user, exam_set):
return (
exam_set.access_level == exam_set.ACCESS_FREE
or has_lifetime_premium(user)
)