Initial commit
This commit is contained in:
@@ -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)
|
||||
)
|
||||
Reference in New Issue
Block a user