##// END OF EJS Templates
implements #195 added closed branches to detailed branches view
marcink -
r1440:b074dfa5 beta
parent child Browse files
Show More
@@ -26,11 +26,12 b''
26 26 import logging
27 27
28 28 from pylons import tmpl_context as c
29 import binascii
29 30
30 31 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
31 32 from rhodecode.lib.base import BaseRepoController, render
32 33 from rhodecode.lib.odict import OrderedDict
33
34 from rhodecode.lib import safe_unicode
34 35 log = logging.getLogger(__name__)
35 36
36 37
@@ -44,8 +45,34 b' class BranchesController(BaseRepoControl'
44 45
45 46 def index(self):
46 47
47 c.repo_branches = OrderedDict()
48 for name, hash_ in c.rhodecode_repo.branches.items():
49 c.repo_branches[name] = c.rhodecode_repo.get_changeset(hash_)
48 def _branchtags(localrepo):
49
50 bt = {}
51 bt_closed = {}
52
53 for bn, heads in localrepo.branchmap().iteritems():
54 tip = heads[-1]
55 if 'close' not in localrepo.changelog.read(tip)[5]:
56 bt[bn] = tip
57 else:
58 bt_closed[bn] = tip
59 return bt, bt_closed
60
61
62 bt, bt_closed = _branchtags(c.rhodecode_repo._repo)
63 cs_g = c.rhodecode_repo.get_changeset
64 _branches = [(safe_unicode(n), cs_g(binascii.hexlify(h)),) for n, h in
65 bt.items()]
66
67 _closed_branches = [(safe_unicode(n), cs_g(binascii.hexlify(h)),) for n, h in
68 bt_closed.items()]
69
70 c.repo_branches = OrderedDict(sorted(_branches,
71 key=lambda ctx: ctx[0],
72 reverse=False))
73 c.repo_closed_branches = OrderedDict(sorted(_closed_branches,
74 key=lambda ctx: ctx[0],
75 reverse=False))
76
50 77
51 78 return render('branches/branches.html')
@@ -9,8 +9,7 b''
9 9 </tr>
10 10 %for cnt,branch in enumerate(c.repo_branches.items()):
11 11 <tr class="parity${cnt%2}">
12 <td><span class="tooltip" title="${h.age(branch[1].date)}">
13 ${branch[1].date}</span>
12 <td><span class="tooltip" title="${h.age(branch[1].date)}">${branch[1].date}</span>
14 13 </td>
15 14 <td>
16 15 <span class="logtags">
@@ -27,8 +26,28 b''
27 26 </td>
28 27 </tr>
29 28 %endfor
29 % if hasattr(c,'repo_closed_branches') and c.repo_closed_branches:
30 %for cnt,branch in enumerate(c.repo_closed_branches.items()):
31 <tr class="parity${cnt%2}">
32 <td><span class="tooltip" title="${h.age(branch[1].date)}">${branch[1].date}</span>
33 </td>
34 <td>
35 <span class="logtags">
36 <span class="branchtag">${h.link_to(branch[0]+' [closed]',
37 h.url('changeset_home',repo_name=c.repo_name,revision=branch[1].raw_id))}</span>
38 </span>
39 </td>
40 <td title="${branch[1].author}">${h.person(branch[1].author)}</td>
41 <td>r${branch[1].revision}:${h.short_id(branch[1].raw_id)}</td>
42 <td class="nowrap">
43 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=branch[1].raw_id))}
44 |
45 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=branch[1].raw_id))}
46 </td>
47 </tr>
48 %endfor
49 %endif
30 50 </table>
31 51 %else:
32 ${_('There are no branches yet')}
33 %endif
34
52 ${_('There are no branches yet')}
53 %endif No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now