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" |