Initial commit

This commit is contained in:
kddd21a
2026-07-29 10:47:40 +00:00
commit 402c3ec6ed
171 changed files with 10536 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
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)
)