From f9008f9eb8f9403552a510d3b228a10fa18171bf Mon Sep 17 00:00:00 2001 From: Geert Kapteijns <ghkapteijns@gmail.com> Date: Thu, 18 May 2017 18:36:51 +0200 Subject: [PATCH] Raise 404 when trying to access detail page of commentary that is not vetted. --- commentaries/test_views.py | 6 ++++++ commentaries/views.py | 3 +++ 2 files changed, 9 insertions(+) diff --git a/commentaries/test_views.py b/commentaries/test_views.py index dbb0bb6c6..f2c7460a7 100644 --- a/commentaries/test_views.py +++ b/commentaries/test_views.py @@ -160,3 +160,9 @@ class CommentaryDetailTest(TestCase): def test_status_code_200(self): response = self.client.get(self.target) self.assertEqual(response.status_code, 200) + + def test_unvetted_commentary(self): + commentary = UnvettedCommentaryFactory(requested_by=ContributorFactory()) + target = reverse('commentaries:commentary', kwargs={'arxiv_or_DOI_string': commentary.arxiv_or_DOI_string}) + response = self.client.get(target) + self.assertEqual(response.status_code, 404) diff --git a/commentaries/views.py b/commentaries/views.py index 4c50ca0eb..e95b4915e 100644 --- a/commentaries/views.py +++ b/commentaries/views.py @@ -206,6 +206,9 @@ class CommentaryListView(ListView): def commentary_detail(request, arxiv_or_DOI_string): commentary = get_object_or_404(Commentary, arxiv_or_DOI_string=arxiv_or_DOI_string) + if not commentary.vetted: + raise Http404 + comments = commentary.comment_set.all() form = CommentForm() try: -- GitLab