from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import permission_required from zen_queries import render from .permissions import ADMINISTRATE_MEMBERSHIPS from .selectors import get_memberships from .selectors import get_subscription_periods from utils.view_utils import base_view_context @login_required def membership_overview(request): memberships = get_memberships(user=request.user) current_membership = memberships.current() previous_memberships = memberships.previous() current_period = current_membership.period.period if current_membership else None context = base_view_context(request) | { "current_membership": current_membership, "current_period": current_period, "previous_memberships": previous_memberships, } return render( request=request, template_name="membership/membership_overview.html", context=context, ) @login_required @permission_required(ADMINISTRATE_MEMBERSHIPS.path) def membership_admin(request): subscription_periods = get_subscription_periods() context = base_view_context(request) | { "subscription_periods": subscription_periods, } return render( request=request, template_name="membership/membership_admin.html", context=context, )