comparison rhodecode/controllers/pullrequests.py @ 3388:cb40b3f6428c beta

review members are dynamically changed based on selected other_repo owner - implemented pyroutes for smarter JS url handling - fixed some old style global var routing
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 20 Feb 2013 01:59:50 +0100
parents 674a8fad3abc
children fe2bb88bf7ac
comparison
equal deleted inserted replaced
3387:bd5420ea396b 3388:cb40b3f6428c
127 c.other_repos = [] 127 c.other_repos = []
128 # add org repo to other so we can open pull request against itself 128 # add org repo to other so we can open pull request against itself
129 c.other_repos.extend(c.org_repos) 129 c.other_repos.extend(c.org_repos)
130 c.default_other_repo = org_repo.repo_name 130 c.default_other_repo = org_repo.repo_name
131 c.default_other_refs, c.default_other_ref = self._get_repo_refs(org_repo.scm_instance) 131 c.default_other_refs, c.default_other_ref = self._get_repo_refs(org_repo.scm_instance)
132 usr_data = lambda usr: dict(user_id=usr.user_id,
133 username=usr.username,
134 firstname=usr.firstname,
135 lastname=usr.lastname,
136 gravatar_link=h.gravatar_url(usr.email, 14))
132 other_repos_info[org_repo.repo_name] = { 137 other_repos_info[org_repo.repo_name] = {
138 'user': usr_data(org_repo.user),
133 'description': org_repo.description, 139 'description': org_repo.description,
134 'revs': h.select('other_ref', c.default_other_ref, c.default_other_refs, class_='refs') 140 'revs': h.select('other_ref', c.default_other_ref,
141 c.default_other_refs, class_='refs')
135 } 142 }
136 143
137 # gather forks and add to this list ... even though it is rare to request forks to pull their parent 144 # gather forks and add to this list ... even though it is rare to
145 # request forks to pull their parent
138 for fork in org_repo.forks: 146 for fork in org_repo.forks:
139 c.other_repos.append((fork.repo_name, fork.repo_name)) 147 c.other_repos.append((fork.repo_name, fork.repo_name))
140 refs, default_ref = self._get_repo_refs(fork.scm_instance) 148 refs, default_ref = self._get_repo_refs(fork.scm_instance)
141 other_repos_info[fork.repo_name] = { 149 other_repos_info[fork.repo_name] = {
150 'user': usr_data(fork.user),
142 'description': fork.description, 151 'description': fork.description,
143 'revs': h.select('other_ref', default_ref, refs, class_='refs') 152 'revs': h.select('other_ref', default_ref, refs, class_='refs')
144 } 153 }
145 154
146 # add parents of this fork also, but only if it's not empty 155 # add parents of this fork also, but only if it's not empty
147 if org_repo.parent and org_repo.parent.scm_instance.revisions: 156 if org_repo.parent and org_repo.parent.scm_instance.revisions:
148 c.default_other_repo = org_repo.parent.repo_name 157 c.default_other_repo = org_repo.parent.repo_name
149 c.default_other_refs, c.default_other_ref = self._get_repo_refs(org_repo.parent.scm_instance) 158 c.default_other_refs, c.default_other_ref = self._get_repo_refs(org_repo.parent.scm_instance)
150 c.other_repos.append((org_repo.parent.repo_name, org_repo.parent.repo_name)) 159 c.other_repos.append((org_repo.parent.repo_name, org_repo.parent.repo_name))
151 other_repos_info[org_repo.parent.repo_name] = { 160 other_repos_info[org_repo.parent.repo_name] = {
161 'user': usr_data(org_repo.parent.user),
152 'description': org_repo.parent.description, 162 'description': org_repo.parent.description,
153 'revs': h.select('other_ref', c.default_other_ref, c.default_other_refs, class_='refs') 163 'revs': h.select('other_ref', c.default_other_ref,
164 c.default_other_refs, class_='refs')
154 } 165 }
155 166
156 c.other_repos_info = json.dumps(other_repos_info) 167 c.other_repos_info = json.dumps(other_repos_info)
157 c.review_members = [org_repo.user] 168 # other repo owner
169 c.review_members = []
158 return render('/pullrequests/pullrequest.html') 170 return render('/pullrequests/pullrequest.html')
159 171
160 @NotAnonymous() 172 @NotAnonymous()
161 def create(self, repo_name): 173 def create(self, repo_name):
162 repo = RepoModel()._get_repo(repo_name) 174 repo = RepoModel()._get_repo(repo_name)