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