Mercurial > kallithea
changeset 6266:6744baed1e96
pullrequests: cleanup of naming of variables and internal name for reviewer
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Mon, 24 Oct 2016 15:18:51 +0200 |
parents | ec2e9123c683 |
children | 69ee6a249f55 |
files | kallithea/controllers/pullrequests.py kallithea/model/db.py kallithea/model/pull_request.py |
diffstat | 3 files changed, 13 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/controllers/pullrequests.py Mon Oct 24 15:18:51 2016 +0200 +++ b/kallithea/controllers/pullrequests.py Mon Oct 24 15:18:51 2016 +0200 @@ -356,7 +356,7 @@ # requested destination and have the exact ancestor other_ref = '%s:%s:%s' % (other_ref_type, other_ref_name, ancestor_rev) - reviewers = [] + reviewer_ids = [] title = _form['pullrequest_title'] if not title: @@ -370,7 +370,7 @@ try: pull_request = PullRequestModel().create( self.authuser.user_id, org_repo_name, org_ref, other_repo_name, - other_ref, revisions, reviewers, title, description + other_ref, revisions, reviewer_ids, title, description ) Session().commit() h.flash(_('Successfully opened new pull request'), @@ -386,7 +386,7 @@ raise HTTPFound(location=pull_request.url()) - def create_new_iteration(self, old_pull_request, new_rev, title, description, reviewers_ids): + def create_new_iteration(self, old_pull_request, new_rev, title, description, reviewer_ids): org_repo = RepoModel()._get_repo(old_pull_request.org_repo.repo_name) org_ref_type, org_ref_name, org_rev = old_pull_request.org_ref.split(':') new_org_rev = self._get_ref_rev(org_repo, 'rev', new_rev) @@ -460,7 +460,7 @@ self.authuser.user_id, old_pull_request.org_repo.repo_name, new_org_ref, old_pull_request.other_repo.repo_name, new_other_ref, - revisions, reviewers_ids, title, description + revisions, reviewer_ids, title, description ) except UserInvalidException as u: h.flash(_('Invalid reviewer "%s" specified') % u, category='error') @@ -502,14 +502,14 @@ raise HTTPForbidden() _form = PullRequestPostForm()().to_python(request.POST) - reviewers_ids = [int(s) for s in _form['review_members']] + reviewer_ids = set(int(s) for s in _form['review_members']) if _form['updaterev']: return self.create_new_iteration(pull_request, _form['updaterev'], _form['pullrequest_title'], _form['pullrequest_desc'], - reviewers_ids) + reviewer_ids) old_description = pull_request.description pull_request.title = _form['pullrequest_title'] @@ -518,7 +518,7 @@ user = User.get(c.authuser.user_id) try: PullRequestModel().mention_from_description(user, pull_request, old_description) - PullRequestModel().update_reviewers(user, pull_request_id, reviewers_ids) + PullRequestModel().update_reviewers(user, pull_request_id, reviewer_ids) except UserInvalidException as u: h.flash(_('Invalid reviewer "%s" specified') % u, category='error') raise HTTPBadRequest()
--- a/kallithea/model/db.py Mon Oct 24 15:18:51 2016 +0200 +++ b/kallithea/model/db.py Mon Oct 24 15:18:51 2016 +0200 @@ -2389,7 +2389,7 @@ return User.query() \ .join(PullRequestReviewers) \ .filter(PullRequestReviewers.pull_request == self) \ - .order_by(PullRequestReviewers.pull_requests_reviewers_id) \ + .order_by(PullRequestReviewers.pull_request_reviewers_id) \ .all() def is_closed(self): @@ -2445,7 +2445,7 @@ self.user = user self.pull_request = pull_request - pull_requests_reviewers_id = Column(Integer(), primary_key=True) + pull_request_reviewers_id = Column('pull_requests_reviewers_id', Integer(), primary_key=True) pull_request_id = Column(Integer(), ForeignKey('pull_requests.pull_request_id'), nullable=False) user_id = Column(Integer(), ForeignKey('users.user_id'), nullable=False)
--- a/kallithea/model/pull_request.py Mon Oct 24 15:18:51 2016 +0200 +++ b/kallithea/model/pull_request.py Mon Oct 24 15:18:51 2016 +0200 @@ -174,15 +174,16 @@ log.debug("Mentioning %s", mention_recipients) self.__add_reviewers(user, pr, set(), mention_recipients) - def update_reviewers(self, user, pull_request, reviewers_ids): - reviewers_ids = set(reviewers_ids) + def update_reviewers(self, user, pull_request, reviewers): + """Set PR reviewers to exactly the given list of users""" pull_request = PullRequest.guess_instance(pull_request) current_reviewers = PullRequestReviewers.query() \ .options(joinedload('user')) \ .filter_by(pull_request=pull_request) \ .all() current_reviewer_users = set(x.user for x in current_reviewers) - new_reviewer_users = set(self._get_valid_reviewers(reviewers_ids)) + + new_reviewer_users = set(self._get_valid_reviewers(reviewers)) to_add = new_reviewer_users - current_reviewer_users to_remove = current_reviewer_users - new_reviewer_users