18 lines
750 B
Python
18 lines
750 B
Python
import functools
|
|
|
|
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('ietf.nomcom.views.private_key', None, args=(year, )), urlquote(request.get_full_path())))
|
|
else:
|
|
return view_func(request, *args, **kwargs)
|
|
return functools.update_wrapper(inner, view_func)
|