Source code for plans.context_processors

from django.core.urlresolvers import reverse

from plans.models import UserPlan


[docs]def account_status(request): """ Set following ``RequestContext`` variables: * ``ACCOUNT_EXPIRED = boolean``, account was expired state, * ``ACCOUNT_NOT_ACTIVE = boolean``, set when account is not expired, but it is over quotas so it is not active * ``EXPIRE_IN_DAYS = integer``, number of days to account expiration, * ``EXTEND_URL = string``, URL to account extend page. * ``ACTIVATE_URL = string``, URL to account activation needed if account is not active """ if request.user.is_authenticated(): try: return { 'ACCOUNT_EXPIRED': request.user.userplan.is_expired(), 'ACCOUNT_NOT_ACTIVE': ( not request.user.userplan.is_active() and not request.user.userplan.is_expired()), 'EXPIRE_IN_DAYS': request.user.userplan.days_left(), 'EXTEND_URL': reverse('current_plan'), 'ACTIVATE_URL': reverse('account_activation'), } except UserPlan.DoesNotExist: pass return {}