diff -r cd4055479ba3 -r 3b1b0a9309d6 src/p4l/views.py --- 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")