From 6573518976ac19fdf801412490936ee3edd9f90a Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Apr 15 2015 20:34:58 +0000 Subject: Add a Minimum score to merge pull-request project setting This setting prevent a pull-request from being merged before it has reached the minimum review score required Fixes http://dev.pagure.org/pagure/issue/101 --- 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: