diff --git a/pagure/lib/model.py b/pagure/lib/model.py index 45214be..2deb6fe 100644 --- a/pagure/lib/model.py +++ b/pagure/lib/model.py @@ -289,6 +289,7 @@ class Project(BASE): 'project_documentation': True, 'pull_requests': True, 'Only_assignee_can_merge_pull-request': False, + 'Minimum_score_to_merge_pull-request': -1, } if self._settings: diff --git a/pagure/ui/fork.py b/pagure/ui/fork.py index 4366100..4057e51 100644 --- a/pagure/ui/fork.py +++ b/pagure/ui/fork.py @@ -447,6 +447,16 @@ def merge_request_pull(repo, requestid, username=None): 'request_pull', username=username, repo=repo.name, requestid=requestid)) + threshold = repo.settings.get('Minimum_score_to_merge_pull-request', -1) + if threshold > 0 and int(request.score) < int(threshold): + print request.score, threshold + flask.flash( + 'This request does not have the minimum review score necessary ' + 'to be merged', 'error') + return flask.redirect(flask.url_for( + 'request_pull', username=username, + repo=repo.name, requestid=requestid)) + error_output = flask.url_for( 'request_pull', repo=repo.name, requestid=requestid) if username: