From b828fd8351a6201e6e1a8764b5c4f2d987114d51 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Oct 04 2018 13:57:55 +0000 Subject: Allow users to update PR's metadata when the PR is closed Fixes https://pagure.io/pagure/issue/3469 Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/templates/repo_pull_request.html b/pagure/templates/repo_pull_request.html index edc81d8..59e133b 100644 --- a/pagure/templates/repo_pull_request.html +++ b/pagure/templates/repo_pull_request.html @@ -452,7 +452,7 @@
Metadata
- {% if g.authenticated and mergeform and pull_request.status == 'Open' + {% if g.authenticated and mergeform and (g.repo_committer or g.fas_user.username == pull_request.user.user) %}
@@ -461,8 +461,7 @@
{% endif %}
- {% if g.authenticated and mergeform and pull_request.status == 'Open' - and g.repo_committer %} + {% if g.authenticated and mergeform and g.repo_committer %} {% endif %} diff --git a/pagure/ui/fork.py b/pagure/ui/fork.py index 5945902..66bfd81 100644 --- a/pagure/ui/fork.py +++ b/pagure/ui/fork.py @@ -1281,9 +1281,6 @@ def update_pull_requests(repo, requestid, username=None, namespace=None): if not request: flask.abort(404, "Pull-request not found") - if request.status != "Open": - flask.abort(403, "Pull-request closed") - if ( not flask.g.repo_committer and flask.g.fas_user.username != request.user.username diff --git a/tests/test_pagure_flask_ui_fork.py b/tests/test_pagure_flask_ui_fork.py index 4f2f956..1f950b4 100644 --- a/tests/test_pagure_flask_ui_fork.py +++ b/tests/test_pagure_flask_ui_fork.py @@ -1743,7 +1743,7 @@ index 0000000..2a552bb output = self.app.post( '/test/pull-request/1/update', data=data, follow_redirects=True) - self.assertEqual(output.status_code, 403) + self.assertEqual(output.status_code, 200) # Project w/o pull-request repo = pagure.lib.get_authorized_project(self.session, 'test') @@ -1883,7 +1883,7 @@ index 0000000..2a552bb output = self.app.post( '/test/pull-request/1/update', data=data, follow_redirects=True) - self.assertEqual(output.status_code, 403) + self.assertEqual(output.status_code, 200) # Project w/o pull-request repo = pagure.lib.get_authorized_project(self.session, 'test')