diff options
author | Andriy Gelman <andriy.gelman@gmail.com> | 2020-03-10 23:20:04 -0400 |
---|---|---|
committer | Stephen Finucane <stephenfinucane@hotmail.com> | 2020-03-11 12:48:55 +0000 |
commit | 6cbfc2a43f19182942ad425877f0c5a4d3d7200f (patch) | |
tree | b0ffe2fe5a4a016e9be559501784e4762c8a2e0f | |
parent | cdf43a770a61fa38dd5a80ef659fcf8e201dcd85 (diff) | |
download | patchwork-6cbfc2a43f19182942ad425877f0c5a4d3d7200f.tar patchwork-6cbfc2a43f19182942ad425877f0c5a4d3d7200f.tar.gz |
views: Return Http404 if patch not found
Otherwise exception DoesNotExist shows error 500 on Apache
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
Signed-off-by: Stephen Finucane <stephen@that.guru>
Closes: #343
-rw-r--r-- | patchwork/views/patch.py | 4 | ||||
-rw-r--r-- | releasenotes/notes/issue-343-cb591d031cd58b61.yaml | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/patchwork/views/patch.py b/patchwork/views/patch.py index f34053c..b368cfa 100644 --- a/patchwork/views/patch.py +++ b/patchwork/views/patch.py @@ -41,7 +41,7 @@ def patch_detail(request, project_id, msgid): # redirect to cover letters where necessary try: patch = Patch.objects.get(project_id=project.id, msgid=db_msgid) - except Patch.DoesNotExist as exc: + except Patch.DoesNotExist: submissions = Submission.objects.filter(project_id=project.id, msgid=db_msgid) if submissions: @@ -49,7 +49,7 @@ def patch_detail(request, project_id, msgid): reverse('cover-detail', kwargs={'project_id': project.linkname, 'msgid': msgid})) - raise exc + raise Http404('Patch does not exist') editable = patch.is_editable(request.user) context = { diff --git a/releasenotes/notes/issue-343-cb591d031cd58b61.yaml b/releasenotes/notes/issue-343-cb591d031cd58b61.yaml new file mode 100644 index 0000000..8743676 --- /dev/null +++ b/releasenotes/notes/issue-343-cb591d031cd58b61.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Previously, attempting to retrieve a patch that did not exist would result + in a ``HTTP 500`` (Internal Server Error) being raised. This has been + corrected and a ``HTTP 404`` (Not Found) is now raised instead. |