Mercurial > kallithea
comparison rhodecode/controllers/pullrequests.py @ 3597:54e011cb21fd beta
pullrequests: cleanup of other_repo initialization code
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Tue, 26 Mar 2013 01:23:35 +0100 |
parents | 7d47e91dc1aa |
children | 7d774f09dba5 |
comparison
equal
deleted
inserted
replaced
3596:7d47e91dc1aa | 3597:54e011cb21fd |
---|---|
139 org_rev = request.GET.get('rev_end') | 139 org_rev = request.GET.get('rev_end') |
140 # rev_start is not directly useful - its parent could however be used | 140 # rev_start is not directly useful - its parent could however be used |
141 # as default for other and thus give a simple compare view | 141 # as default for other and thus give a simple compare view |
142 #other_rev = request.POST.get('rev_start') | 142 #other_rev = request.POST.get('rev_start') |
143 | 143 |
144 other_repos_info = {} | |
145 | |
146 c.org_repos = [] | 144 c.org_repos = [] |
147 c.org_repos.append((org_repo.repo_name, org_repo.repo_name)) | 145 c.org_repos.append((org_repo.repo_name, org_repo.repo_name)) |
148 c.default_org_repo = org_repo.repo_name | 146 c.default_org_repo = org_repo.repo_name |
149 c.org_refs, c.default_org_ref = self._get_repo_refs(org_repo.scm_instance, org_rev) | 147 c.org_refs, c.default_org_ref = self._get_repo_refs(org_repo.scm_instance, org_rev) |
150 | 148 |
151 c.other_repos = [] | 149 c.other_repos = [] |
152 # add org repo to other so we can open pull request against itself | 150 other_repos_info = {} |
153 c.other_repos.extend(c.org_repos) | 151 |
152 def add_other_repo(repo, branch_rev=None): | |
153 if repo.repo_name in other_repos_info: # shouldn't happen | |
154 return | |
155 c.other_repos.append((repo.repo_name, repo.repo_name)) | |
156 other_refs, selected_other_ref = self._get_repo_refs(repo.scm_instance, branch_rev=branch_rev) | |
157 other_repos_info[repo.repo_name] = { | |
158 'user': dict(user_id=repo.user.user_id, | |
159 username=repo.user.username, | |
160 firstname=repo.user.firstname, | |
161 lastname=repo.user.lastname, | |
162 gravatar_link=h.gravatar_url(repo.user.email, 14)), | |
163 'description': repo.description, | |
164 'revs': h.select('other_ref', selected_other_ref, other_refs, class_='refs') | |
165 } | |
166 | |
167 # add org repo to other so we can open pull request against peer branches on itself | |
168 add_other_repo(org_repo, branch_rev=org_rev) | |
154 c.default_other_repo = org_repo.repo_name | 169 c.default_other_repo = org_repo.repo_name |
155 other_refs, other_ref = self._get_repo_refs(org_repo.scm_instance, branch_rev=org_rev) | |
156 usr_data = lambda usr: dict(user_id=usr.user_id, | |
157 username=usr.username, | |
158 firstname=usr.firstname, | |
159 lastname=usr.lastname, | |
160 gravatar_link=h.gravatar_url(usr.email, 14)) | |
161 other_repos_info[org_repo.repo_name] = { | |
162 'user': usr_data(org_repo.user), | |
163 'description': org_repo.description, | |
164 'revs': h.select('other_ref', other_ref, other_refs, class_='refs') | |
165 } | |
166 | 170 |
167 # gather forks and add to this list ... even though it is rare to | 171 # gather forks and add to this list ... even though it is rare to |
168 # request forks to pull from their parent | 172 # request forks to pull from their parent |
169 for fork in org_repo.forks: | 173 for fork in org_repo.forks: |
170 c.other_repos.append((fork.repo_name, fork.repo_name)) | 174 add_other_repo(fork) |
171 refs, default_ref = self._get_repo_refs(fork.scm_instance) | |
172 other_repos_info[fork.repo_name] = { | |
173 'user': usr_data(fork.user), | |
174 'description': fork.description, | |
175 'revs': h.select('other_ref', default_ref, refs, class_='refs') | |
176 } | |
177 | 175 |
178 # add parents of this fork also, but only if it's not empty | 176 # add parents of this fork also, but only if it's not empty |
179 if org_repo.parent and org_repo.parent.scm_instance.revisions: | 177 if org_repo.parent and org_repo.parent.scm_instance.revisions: |
178 add_other_repo(org_repo.parent) | |
180 c.default_other_repo = org_repo.parent.repo_name | 179 c.default_other_repo = org_repo.parent.repo_name |
181 other_refs, other_ref = self._get_repo_refs(org_repo.parent.scm_instance) | |
182 c.other_repos.append((org_repo.parent.repo_name, org_repo.parent.repo_name)) | |
183 other_repos_info[org_repo.parent.repo_name] = { | |
184 'user': usr_data(org_repo.parent.user), | |
185 'description': org_repo.parent.description, | |
186 'revs': h.select('other_ref', other_ref, other_refs, class_='refs') | |
187 } | |
188 | 180 |
189 c.default_other_repo_info = other_repos_info[c.default_other_repo] | 181 c.default_other_repo_info = other_repos_info[c.default_other_repo] |
190 c.other_repos_info = json.dumps(other_repos_info) | 182 c.other_repos_info = json.dumps(other_repos_info) |
191 return render('/pullrequests/pullrequest.html') | 183 return render('/pullrequests/pullrequest.html') |
192 | 184 |