datatracker/ietf/nomcom/decorators.py
2014-03-15 19:26:01 +00:00

16 lines
684 B
Python

from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.utils.http import urlquote
def nomcom_private_key_required(view_func):
def inner(request, *args, **kwargs):
year = kwargs.get('year', None)
if not year:
raise Exception, 'View decorated with nomcom_private_key_required must receive a year argument'
if not 'NOMCOM_PRIVATE_KEY_%s' % year in request.session:
return HttpResponseRedirect('%s?back_to=%s' % (reverse('nomcom_private_key', None, args=(year, )), urlquote(request.get_full_path())))
else:
return view_func(request, *args, **kwargs)
return inner