diff --git a/rhodecode/apps/repository/views/repo_pull_requests.py b/rhodecode/apps/repository/views/repo_pull_requests.py --- a/rhodecode/apps/repository/views/repo_pull_requests.py +++ b/rhodecode/apps/repository/views/repo_pull_requests.py @@ -868,9 +868,21 @@ class RepoPullRequestsView(RepoAppView, ancestor = source_scm.get_common_ancestor( source_commit.raw_id, target_commit.raw_id, target_scm) + # recalculate target ref based on ancestor target_ref_type, target_ref_name, __ = _form['target_ref'].split(':') target_ref = ':'.join((target_ref_type, target_ref_name, ancestor)) + get_default_reviewers_data, validate_default_reviewers = \ + PullRequestModel().get_reviewer_functions() + + # recalculate reviewers logic, to make sure we can validate this + reviewer_rules = get_default_reviewers_data( + self._rhodecode_db_user, source_db_repo, + source_commit, target_db_repo, target_commit) + + given_reviewers = _form['review_members'] + reviewers = validate_default_reviewers(given_reviewers, reviewer_rules) + pullrequest_title = _form['pullrequest_title'] title_source_ref = source_ref.split(':', 2)[1] if not pullrequest_title: @@ -882,22 +894,18 @@ class RepoPullRequestsView(RepoAppView, description = _form['pullrequest_desc'] - get_default_reviewers_data, validate_default_reviewers = \ - PullRequestModel().get_reviewer_functions() - - # recalculate reviewers logic, to make sure we can validate this - reviewer_rules = get_default_reviewers_data( - self._rhodecode_db_user, source_db_repo, - source_commit, target_db_repo, target_commit) - - given_reviewers = _form['review_members'] - reviewers = validate_default_reviewers(given_reviewers, reviewer_rules) - try: pull_request = PullRequestModel().create( - self._rhodecode_user.user_id, source_repo, source_ref, - target_repo, target_ref, commit_ids, reviewers, - pullrequest_title, description, reviewer_rules, + created_by=self._rhodecode_user.user_id, + source_repo=source_repo, + source_ref=source_ref, + target_repo=target_repo, + target_ref=target_ref, + revisions=commit_ids, + reviewers=reviewers, + title=pullrequest_title, + description=description, + reviewer_data=reviewer_rules, auth_user=self._rhodecode_user ) Session().commit()