forked from rc/aircox
		
	add login protection
This commit is contained in:
		@ -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('')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user