Source code for members.decorators

"""Decorators provided by the members package"""
from django.core.exceptions import PermissionDenied


[docs]def membership_required(view_function): return ActiveMembershipRequired(view_function)
[docs]class ActiveMembershipRequired: """ Decorator that checks if the user has an active membership """ def __init__(self, view_function): self.view_function = view_function def __call__(self, request, *args, **kwargs): if request.member and request.member.has_active_membership(): return self.view_function(request, *args, **kwargs) raise PermissionDenied