diff --git a/rhodecode/controllers/pullrequests.py b/rhodecode/controllers/pullrequests.py --- a/rhodecode/controllers/pullrequests.py +++ b/rhodecode/controllers/pullrequests.py @@ -249,8 +249,7 @@ class PullrequestsController(BaseRepoCon org_repo, org_ref, other_repo, other_ref ) - c.statuses = c.rhodecode_db_repo.statuses([x.raw_id for x in - c.cs_ranges]) + c.statuses = org_repo.statuses([x.raw_id for x in c.cs_ranges]) # defines that we need hidden inputs with changesets c.as_form = request.GET.get('as_form', False) @@ -277,6 +276,7 @@ class PullrequestsController(BaseRepoCon c.users_array = repo_model.get_users_js() c.users_groups_array = repo_model.get_users_groups_js() c.pull_request = PullRequest.get_or_404(pull_request_id) + c.target_repo = c.pull_request.org_repo.repo_name cc_model = ChangesetCommentsModel() cs_model = ChangesetStatusModel() @@ -322,12 +322,20 @@ class PullrequestsController(BaseRepoCon c.comments = cc_model.get_comments(c.rhodecode_db_repo.repo_id, pull_request=pull_request_id) - # changeset(pull-request) status - c.current_changeset_status = cs_model.calculate_status( - c.pull_request_reviewers - ) + try: + cur_status = c.statuses[c.pull_request.revisions[0]][0] + except: + log.error(traceback.format_exc()) + cur_status = 'undefined' + if c.pull_request.is_closed() and 0: + c.current_changeset_status = cur_status + else: + # changeset(pull-request) status calulation based on reviewers + c.current_changeset_status = cs_model.calculate_status( + c.pull_request_reviewers, + ) c.changeset_statuses = ChangesetStatus.STATUSES - c.target_repo = c.pull_request.org_repo.repo_name + return render('/pullrequests/pullrequest_show.html') @NotAnonymous() diff --git a/rhodecode/model/changeset_status.py b/rhodecode/model/changeset_status.py --- a/rhodecode/model/changeset_status.py +++ b/rhodecode/model/changeset_status.py @@ -64,7 +64,7 @@ class ChangesetStatusModel(BaseModel): def calculate_status(self, statuses_by_reviewers): """ - leading one wins, if number of occurences are equal than weaker wins + leading one wins, if number of occurrences are equal than weaker wins :param statuses_by_reviewers: """ diff --git a/rhodecode/templates/pullrequests/pullrequest_show.html b/rhodecode/templates/pullrequests/pullrequest_show.html --- a/rhodecode/templates/pullrequests/pullrequest_show.html +++ b/rhodecode/templates/pullrequests/pullrequest_show.html @@ -20,7 +20,7 @@ ${self.breadcrumbs()} %if c.pull_request.is_closed(): -