comparison rhodecode/controllers/pullrequests.py @ 2395:b262e349a7a5 codereview

created pull-request overview
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 06 Jun 2012 01:07:48 +0200
parents 77e376fdc4c6
children f29469677319
comparison
equal deleted inserted replaced
2394:6776f4e569d7 2395:b262e349a7a5
29 from pylons.controllers.util import abort, redirect 29 from pylons.controllers.util import abort, redirect
30 from pylons.i18n.translation import _ 30 from pylons.i18n.translation import _
31 31
32 from rhodecode.lib.base import BaseRepoController, render 32 from rhodecode.lib.base import BaseRepoController, render
33 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator 33 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
34 from webob.exc import HTTPNotFound 34 from rhodecode.model.db import User
35 35
36 log = logging.getLogger(__name__) 36 log = logging.getLogger(__name__)
37 37
38 38
39 class PullrequestsController(BaseRepoController): 39 class PullrequestsController(BaseRepoController):
42 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', 42 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
43 'repository.admin') 43 'repository.admin')
44 def __before__(self): 44 def __before__(self):
45 super(PullrequestsController, self).__before__() 45 super(PullrequestsController, self).__before__()
46 46
47 def _get_repo_refs(self,repo): 47 def _get_repo_refs(self, repo):
48 hist_l = [] 48 hist_l = []
49 49
50 branches_group = ([(k, k) for k in repo.branches.keys()], _("Branches")) 50 branches_group = ([('branch:' + k, k) for k in repo.branches.keys()],
51 bookmarks_group = ([(k, k) for k in repo.bookmarks.keys()], _("Bookmarks")) 51 _("Branches"))
52 tags_group = ([(k, k) for k in repo.tags.keys()], _("Tags")) 52 bookmarks_group = ([('book:' + k, k) for k in repo.bookmarks.keys()],
53 _("Bookmarks"))
54 tags_group = ([('tag:' + k, k) for k in repo.tags.keys()],
55 _("Tags"))
53 56
54 hist_l.append(bookmarks_group) 57 hist_l.append(bookmarks_group)
55 hist_l.append(branches_group) 58 hist_l.append(branches_group)
56 hist_l.append(tags_group) 59 hist_l.append(tags_group)
57 60
58 return hist_l 61 return hist_l
59 62
60 def index(self): 63 def index(self):
64 org_repo = c.rhodecode_db_repo
61 c.org_refs = self._get_repo_refs(c.rhodecode_repo) 65 c.org_refs = self._get_repo_refs(c.rhodecode_repo)
62 c.sources = [] 66 c.org_repos = []
63 c.sources.append('%s/%s' % (c.rhodecode_db_repo.user.username, 67 c.other_repos = []
64 c.repo_name)) 68 c.org_repos.append((org_repo.repo_name, '%s/%s' % (
69 org_repo.user.username, c.repo_name))
70 )
71
72 c.other_refs = c.org_refs
73 c.other_repos.extend(c.org_repos)
74
75 #gather forks and add to this list
76 for fork in org_repo.forks:
77 c.other_repos.append((fork.repo_name, '%s/%s' % (
78 fork.user.username, fork.repo_name))
79 )
80 #add parents of this fork also
81 c.other_repos.append((org_repo.parent.repo_name, '%s/%s' % (
82 org_repo.parent.user.username,
83 org_repo.parent.repo_name))
84 )
85
86 #TODO: maybe the owner should be default ?
87 c.review_members = []
88 c.available_members = [(x.user_id, x.username) for x in
89 User.query().filter(User.username != 'default').all()]
65 return render('/pullrequests/pullrequest.html') 90 return render('/pullrequests/pullrequest.html')