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 {}