30 lines
953 B
Python
30 lines
953 B
Python
from django.http import HttpResponseRedirect
|
|
|
|
def check_allowed(view_func):
|
|
|
|
def _view(request, *args, **kwargs):
|
|
|
|
code = request.GET.get('code')
|
|
if code:
|
|
# just change if we can
|
|
try:
|
|
ensemble = request.session.get('registered', {})[code.replace('-', '')]
|
|
request.session['ensemble'] = ensemble
|
|
except KeyError:
|
|
# need to register this code
|
|
return HttpResponseRedirect('/register?code=' + code)
|
|
|
|
request.ensemble_id = request.session.get('ensemble')
|
|
|
|
if request.ensemble_id is None:
|
|
return HttpResponseRedirect('/register')
|
|
|
|
return view_func(request, *args, **kwargs)
|
|
|
|
_view.__name__ = view_func.__name__
|
|
_view.__dict__ = view_func.__dict__
|
|
_view.__doc__ = view_func.__doc__
|
|
|
|
return _view
|
|
|