add login protection

This commit is contained in:
bkfox 2016-07-29 18:53:30 +02:00
parent 9728acef81
commit 3367cab64b

View File

@ -1,7 +1,8 @@
import json import json
from django.views.generic.base import View, TemplateResponseMixin from django.views.generic.base import View, TemplateResponseMixin
from django.http import HttpResponse from django.contrib.auth.mixins import LoginRequiredMixin
from django.http import HttpResponse, Http404
from django.shortcuts import render from django.shortcuts import render
from django.utils.translation import ugettext as _, ugettext_lazy from django.utils.translation import ugettext as _, ugettext_lazy
from django.utils import timezone as tz from django.utils import timezone as tz
@ -22,7 +23,6 @@ class Stations:
for station in self.stations: for station in self.stations:
station.prepare(fetch = True) station.prepare(fetch = True)
stations = Stations() stations = Stations()
@ -73,9 +73,9 @@ def on_air(request):
return HttpResponse(json.dumps(last)) return HttpResponse(json.dumps(last))
# TODO:
# - login url
class Monitor(View,TemplateResponseMixin): class Monitor(View,TemplateResponseMixin,LoginRequiredMixin):
template_name = 'aircox/controllers/monitor.html' template_name = 'aircox/controllers/monitor.html'
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
@ -83,11 +83,17 @@ class Monitor(View,TemplateResponseMixin):
return { 'stations': stations.stations } return { 'stations': stations.stations }
def get (self, request = None, **kwargs): def get (self, request = None, **kwargs):
if not request.user.is_active:
return Http404()
self.request = request self.request = request
context = self.get_context_data(**kwargs) context = self.get_context_data(**kwargs)
return render(request, self.template_name, context) return render(request, self.template_name, context)
def post (self, request = None, **kwargs): def post (self, request = None, **kwargs):
if not request.user.is_active:
return Http404()
if not 'action' in request.POST: if not 'action' in request.POST:
return HttpResponse('') return HttpResponse('')