src/p4l/views.py
changeset 24 3b1b0a9309d6
parent 20 fa466993084a
child 27 d2a40f44cbb9
--- a/src/p4l/views.py	Tue Sep 03 15:23:43 2013 +0200
+++ b/src/p4l/views.py	Tue Sep 03 17:44:17 2013 +0200
@@ -6,12 +6,10 @@
 '''
 
 from django.conf import settings
-#from django.core.paginator import Paginator, InvalidPage, EmptyPage
-#from django.db.models import Count
-#from django.http.response import HttpResponse, HttpResponseForbidden
+from django.contrib.auth.decorators import login_required
 from django.shortcuts import get_object_or_404
-from django.views.generic import ListView, DetailView#, View
-#from django.views.generic.list import MultipleObjectMixin
+from django.utils.decorators import method_decorator
+from django.views.generic import ListView, DetailView
 from .models import Record
 from .forms import RecordFilterForm
 from .utils import get_labels_for_uris
@@ -27,6 +25,9 @@
     template_name = "p4l/p4l_home.html"
     form_class = RecordFilterForm
     
+    @method_decorator(login_required)
+    def dispatch(self, *args, **kwargs):
+        return super(RecordListView, self).dispatch(*args, **kwargs)
     
     def get_context_data(self, **kwargs):
         context = ListView.get_context_data(self, **kwargs)
@@ -53,6 +54,10 @@
     template_name = "p4l/p4l_record_view.html"
     slug_field = "uri" # Even if it is useless because we override get_objet
     
+    @method_decorator(login_required)
+    def dispatch(self, *args, **kwargs):
+        return super(RecordDetailView, self).dispatch(*args, **kwargs)
+    
     def get_object(self, queryset=None):
         if "uri" not in self.request.GET:
             raise AttributeError(u"Record view must be called uri GET parameter")