src/p4l/views.py
changeset 30 a84e31f1f223
parent 29 3a3b90b1abb2
child 33 945b144d68c1
equal deleted inserted replaced
29:3a3b90b1abb2 30:a84e31f1f223
    50 
    50 
    51 class RecordDetailView(DetailView):
    51 class RecordDetailView(DetailView):
    52     
    52     
    53     model = Record
    53     model = Record
    54     template_name = "p4l/p4l_record_view.html"
    54     template_name = "p4l/p4l_record_view.html"
    55     slug_field = "uri" # Even if it is useless because we override get_objet
    55     slug_field = "identifier"
    56     
    56     
    57     @method_decorator(login_required)
    57     @method_decorator(login_required)
    58     def dispatch(self, *args, **kwargs):
    58     def dispatch(self, *args, **kwargs):
    59         return super(RecordDetailView, self).dispatch(*args, **kwargs)
    59         return super(RecordDetailView, self).dispatch(*args, **kwargs)
    60     
       
    61     def get_object(self, queryset=None):
       
    62         if "uri" not in self.request.GET:
       
    63             raise AttributeError(u"Record view must be called uri GET parameter")
       
    64         return get_object_or_404(Record.objects.select_related("language"), uri=self.request.GET["uri"])
       
    65     
    60     
    66     def get_context_data(self, **kwargs):
    61     def get_context_data(self, **kwargs):
    67         context = DetailView.get_context_data(self, **kwargs)
    62         context = DetailView.get_context_data(self, **kwargs)
    68         # We get the language, "fr" by default
    63         # We get the language, "fr" by default
    69         lang = "fr"
    64         lang = "fr"