blacklisted people cannot see homepage

This commit is contained in:
Thomas NOËL 2014-10-30 17:19:14 +01:00
parent 6ef1aac11c
commit 64bfdb18f4
1 changed files with 13 additions and 4 deletions

View File

@ -26,16 +26,25 @@ from django.http import HttpResponse
from django.shortcuts import redirect
import subprocess
from .pfconfigxml import get_tilesurl, get_redirect_params
import pfconfigxml
class Homepage(TemplateView):
'''Homepage View, displays a welcome message'''
template_name = 'homepage.html'
def dispatch(self, request, *args, **kwargs):
pfsenseid = request.session.get('pfsenseid')
if not pfsenseid:
return redirect('login')
if pfsenseid in ('BLACKLISTED'):
return redirect('logout')
return super(Homepage, self).dispatch(request, *args, **kwargs)
def get_context_data(self, *args, **kwargs):
context = super(Homepage, self).get_context_data(*args, **kwargs)
url, delay = get_redirect_params()
url, delay = pfconfigxml.get_redirect_params()
if url == 'next_url':
url = self.request.COOKIES.get(url, '')
url = self.request.COOKIES.get('next_url', '')
else:
url = Template(url).render(Context(context))
context.update({'redirect_url': url,
@ -50,7 +59,7 @@ def login(request):
return response
def proxymap(request, z, x, y):
tiles_url = get_tilesurl() or settings.PROXYMAP_URL
tiles_url = pfconfigxml.get_tilesurl() or settings.PROXYMAP_URL
url = tiles_url % { 'z': int(z), 'x': int(x), 'y': int(y) }
downstream_request = urllib2.Request(url)
page = urllib2.urlopen(downstream_request)