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) )