##// END OF EJS Templates
switched filters into webhelpers for easy of usage....
marcink -
r282:237470e6 default
parent child Browse files
Show More
@@ -0,0 +1,30 b''
1 % if c.repo_branches:
2 <table class="table_disp">
3 <tr class="header">
4 <td>${_('date')}</td>
5 <td>${_('revision')}</td>
6 <td>${_('name')}</td>
7 <td>${_('links')}</td>
8 </tr>
9 %for cnt,branch in enumerate(c.repo_branches.items()):
10 <tr class="parity${cnt%2}">
11 <td>${h.age(branch[1]._ctx.date())}</td>
12 <td>r${branch[1].revision}:${branch[1].raw_id}</td>
13 <td>
14 <span class="logtags">
15 <span class="branchtag">${h.link_to(branch[0],
16 h.url('changeset_home',repo_name=c.repo_name,revision=branch[1].raw_id))}</span>
17 </span>
18 </td>
19 <td class="nowrap">
20 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=branch[1].raw_id))}
21 |
22 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=branch[1].raw_id))}
23 </td>
24 </tr>
25 %endfor
26 </table>
27 %else:
28 ${_('There are no branches yet')}
29 %endif
30
@@ -0,0 +1,29 b''
1 %if c.repo_tags:
2 <table class="table_disp">
3 <tr class="header">
4 <td>${_('date')}</td>
5 <td>${_('revision')}</td>
6 <td>${_('name')}</td>
7 <td>${_('links')}</td>
8 </tr>
9 %for cnt,tag in enumerate(c.repo_tags.items()):
10 <tr class="parity${cnt%2}">
11 <td>${h.age(tag[1]._ctx.date())}</td>
12 <td>r${tag[1].revision}:${tag[1].raw_id}</td>
13 <td>
14 <span class="logtags">
15 <span class="tagtag">${h.link_to(tag[0],
16 h.url('changeset_home',repo_name=c.repo_name,revision=tag[1].raw_id))}</span>
17 </span>
18 </td>
19 <td class="nowrap">
20 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=tag[1].raw_id))}
21 |
22 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=tag[1].raw_id))}
23 </td>
24 </tr>
25 %endfor
26 </table>
27 %else:
28 ${_('There are no tags yet')}
29 %endif No newline at end of file
@@ -49,12 +49,13 b' class ChangelogController(BaseController'
49 49 session['changelog_size'] = c.size
50 50 session.save()
51 51 else:
52 c.size = session.get('changelog_size', default)
52 c.size = int(session.get('changelog_size', default))
53 53
54 54 changesets = HgModel().get_repo(c.repo_name)
55 55
56 56 p = int(request.params.get('page', 1))
57 c.pagination = Page(changesets, page=p, item_count=len(changesets),
57 c.total_cs = len(changesets)
58 c.pagination = Page(changesets, page=p, item_count=c.total_cs,
58 59 items_per_page=c.size)
59 60
60 61 #self._graph(c.repo, c.size,p)
@@ -25,9 +25,9 b' graph controller for pylons'
25 25 from mercurial.graphmod import revisions as graph_rev, colored, CHANGESET
26 26 from mercurial.node import short
27 27 from pylons import request, tmpl_context as c
28 import pylons_app.lib.helpers as h
28 29 from pylons_app.lib.auth import LoginRequired
29 30 from pylons_app.lib.base import BaseController, render
30 from pylons_app.lib.filters import age as _age, person
31 31 from pylons_app.model.hg_model import HgModel
32 32 from simplejson import dumps
33 33 from webhelpers.paginate import Page
@@ -74,9 +74,9 b' class GraphController(BaseController):'
74 74 if type != CHANGESET:
75 75 continue
76 76 node = short(ctx.node())
77 age = _age(ctx.date())
77 age = h.age(ctx.date())
78 78 desc = ctx.description()
79 user = person(ctx.user())
79 user = h.person(ctx.user())
80 80 branch = ctx.branch()
81 81 branch = branch, repo.repo.branchtags().get(branch) == ctx.node()
82 82 data.append((node, vtx, edges, desc, user, age, branch, ctx.tags()))
@@ -25,7 +25,8 b' summary controller for pylons'
25 25 from pylons import tmpl_context as c, request
26 26 from pylons_app.lib.auth import LoginRequired
27 27 from pylons_app.lib.base import BaseController, render
28 from pylons_app.model.hg_model import HgModel, _full_changelog_cached
28 from pylons_app.model.hg_model import HgModel
29 from webhelpers.paginate import Page
29 30 import logging
30 31
31 32 log = logging.getLogger(__name__)
@@ -39,7 +40,7 b' class SummaryController(BaseController):'
39 40 def index(self):
40 41 hg_model = HgModel()
41 42 c.repo_info = hg_model.get_repo(c.repo_name)
42 c.repo_changesets = _full_changelog_cached(c.repo_name)[:10]
43 c.repo_changesets = Page(list(c.repo_info[:10]), page=1, items_per_page=20)
43 44 e = request.environ
44 45 uri = u'%(protocol)s://%(user)s@%(host)s/%(repo_name)s' % {
45 46 'protocol': e.get('wsgi.url_scheme'),
@@ -203,3 +203,29 b' def repo_name_slug(value):'
203 203 return slug
204 204
205 205 flash = _Flash()
206
207
208 #===============================================================================
209 # MERCURIAL FILTERS available via h.
210 #===============================================================================
211
212
213 from mercurial import util
214 from mercurial.templatefilters import age as _age, person as _person
215
216 age = lambda x:_age(x)
217 capitalize = lambda x: x.capitalize()
218 date = lambda x: util.datestr(x)
219 email = util.email
220 person = lambda x: _person(x)
221 hgdate = lambda x: "%d %d" % x
222 isodate = lambda x: util.datestr(x, '%Y-%m-%d %H:%M %1%2')
223 isodatesec = lambda x: util.datestr(x, '%Y-%m-%d %H:%M:%S %1%2')
224 localdate = lambda x: (x[0], util.makedate()[1])
225 rfc822date = lambda x: util.datestr(x, "%a, %d %b %Y %H:%M:%S %1%2")
226 rfc3339date = lambda x: util.datestr(x, "%Y-%m-%dT%H:%M:%S%1:%2")
227 time_ago = lambda x: util.datestr(_age(x), "%a, %d %b %Y %H:%M:%S %1%2")
228
229
230
231
@@ -1,5 +1,4 b''
1 1 <%inherit file="/base/base.html"/>
2 <%! from pylons_app.lib import filters %>
3 2 <%def name="title()">
4 3 ${_('Branches')}
5 4 </%def>
@@ -14,33 +13,6 b''
14 13 ${self.menu('branches')}
15 14 </%def>
16 15 <%def name="main()">
17
18 16 <h2 class="no-link no-border">${_('Branches')}</h2>
19
20 <table class="table_disp">
21 <tr class="header">
22 <td>${_('date')}</td>
23 <td>${_('revision')}</td>
24 <td>${_('name')}</td>
25 <td>${_('links')}</td>
26 </tr>
27 %for cnt,branch in enumerate(c.repo_branches.items()):
28 <tr class="parity${cnt%2}">
29 <td>${branch[1]._ctx.date()|n,filters.age}</td>
30 <td>r${branch[1].revision}:${branch[1].raw_id}</td>
31 <td>
32 <span class="logtags">
33 <span class="branchtag">${h.link_to(branch[0],
34 h.url('changeset_home',repo_name=c.repo_name,revision=branch[1].raw_id))}</span>
35 </span>
36 </td>
37 <td class="nowrap">
38 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=branch[1].raw_id))}
39 |
40 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=branch[1].raw_id))}
41 </td>
42 </tr>
43 %endfor
44 </table>
45
17 <%include file='branches_data.html'/>
46 18 </%def> No newline at end of file
@@ -1,6 +1,3 b''
1 <%!
2 from pylons_app.lib import filters
3 %>
4 1 <%inherit file="/base/base.html"/>
5 2
6 3 <%def name="title()">
@@ -19,8 +16,12 b' from pylons_app.lib import filters'
19 16
20 17 <%def name="main()">
21 18
22 <h2 class="no-link no-border">${_('Changelog')} - ${_('showing last ')} ${c.size} ${_('revisions')}</h2>
19 <h2 class="no-link no-border">${_('Changelog')} - ${_('showing ')}
20 ${c.size if c.size <= c.total_cs else c.total_cs}
21 ${_('out of')} ${c.total_cs} ${_('revisions')}
22 </h2>
23 23 <noscript>${_('The revision graph only works with JavaScript-enabled browsers.')}</noscript>
24 % if c.pagination:
24 25
25 26 <div id="graph">
26 27 ##<div id="graph_nodes" style="height:1000px">
@@ -89,4 +90,7 b' from pylons_app.lib import filters'
89 90 <div>
90 91 <h2>${c.pagination.pager('$link_previous ~2~ $link_next')}</h2>
91 92 </div>
93 %else:
94 ${_('There are no changes yet')}
95 %endif
92 96 </%def> No newline at end of file
@@ -1,6 +1,3 b''
1 <%!
2 from pylons_app.lib import filters
3 %>
4 1 <%inherit file="/base/base.html"/>
5 2
6 3 <%def name="title()">
@@ -1,7 +1,4 b''
1 1 ## -*- coding: utf-8 -*-
2 <%!
3 from pylons_app.lib import filters
4 %>
5 2 <%inherit file="./../base/base.html"/>
6 3
7 4 <%def name="title()">
@@ -1,7 +1,4 b''
1 1 ## -*- coding: utf-8 -*-
2 <%!
3 from pylons_app.lib import filters
4 %>
5 2 <%inherit file="base/base.html"/>
6 3 <%def name="title()">
7 4 ${c.repos_prefix} Mercurial Repositories
@@ -38,12 +35,12 b' from pylons_app.lib import filters'
38 35 <td>${h.link_to(repo['name'],
39 36 h.url('summary_home',repo_name=repo['name']))}</td>
40 37 <td title="${repo['description']}">${h.truncate(repo['description'],60)}</td>
41 <td>${repo['last_change']|n,filters.age}</td>
38 <td>${h.age(repo['last_change'])}</td>
42 39 <td>${h.link_to('r%s:%s' % (repo['rev'],repo['tip']),
43 40 h.url('changeset_home',repo_name=repo['name'],revision=repo['tip']),
44 41 class_="tooltip",
45 42 tooltip_title=h.tooltip(repo['last_msg']))}</td>
46 <td title="${repo['contact']}">${repo['contact']|n,filters.person}</td>
43 <td title="${repo['contact']}">${h.person(repo['contact'])}</td>
47 44 <td>
48 45 <a title="${_('Subscribe to %s rss feed')%repo['name']}" class="rss_logo" href="${h.url('rss_feed_home',repo_name=repo['name'])}"></a>
49 46 </td>
@@ -1,7 +1,4 b''
1 1 ## -*- coding: utf-8 -*-
2 <%!
3 from pylons_app.lib import filters
4 %>
5 2 <%inherit file="base/base.html"/>
6 3 <%def name="title()">
7 4 ${c.repos_prefix} Mercurial Repositories
@@ -1,7 +1,6 b''
1 1 ## -*- coding: utf-8 -*-
2 <%!
3 from pylons_app.lib import filters
4 %>
2 % if c.repo_changesets:
3
5 4 <table class="table_disp">
6 5 <tr class="header">
7 6 <td>${_('date')}</td>
@@ -15,8 +14,8 b' from pylons_app.lib import filters'
15 14 </tr>
16 15 %for cnt,cs in enumerate(c.repo_changesets):
17 16 <tr class="parity${cnt%2}">
18 <td>${cs._ctx.date()|n,filters.age}</td>
19 <td title="${cs.author}">${cs.author|n,filters.person}</td>
17 <td>${h.age(cs._ctx.date())}</td>
18 <td title="${cs.author}">${h.person(cs.author)}</td>
20 19 <td>r${cs.revision}:${cs.raw_id}</td>
21 20 <td>
22 21 ${h.link_to(h.truncate(cs.message,60),
@@ -59,4 +58,7 b' from pylons_app.lib import filters'
59 58 YAHOO.util.Dom.setStyle(data_div,'opacity','0.3');});
60 59 YAHOO.util.Dom.setStyle(data_div,'opacity','1');}},null); return false;""")}
61 60 </h2>
62 </div> No newline at end of file
61 </div>
62 %else:
63 ${_('There are no commits yet')}
64 %endif No newline at end of file
@@ -1,7 +1,4 b''
1 1 <%inherit file="/base/base.html"/>
2 <%!
3 from pylons_app.lib import filters
4 %>
5 2 <%def name="title()">
6 3 ${_('Repository managment')}
7 4 </%def>
@@ -41,7 +38,7 b' E.onDOMReady(function(e){'
41 38 <dt>${_('contact')}</dt>
42 39 <dd>${c.repo_info.contact}</dd>
43 40 <dt>${_('last change')}</dt>
44 <dd>${c.repo_info.last_change|n,filters.age} - ${c.repo_info.last_change|n,filters.rfc822date}</dd>
41 <dd>${h.age(c.repo_info.last_change)} - ${h.rfc822date(c.repo_info.last_change)}</dd>
45 42 <dt>${_('clone url')}</dt>
46 43 <dd><input type="text" id="clone_url" readonly="readonly" value="hg clone ${c.clone_repo_url}" size="70"/></dd>
47 44 <dt>${_('download')}</dt>
@@ -63,100 +60,12 b' E.onDOMReady(function(e){'
63 60 </dl>
64 61
65 62 <h2>${h.link_to(_('Last ten changes'),h.url('changelog_home',repo_name=c.repo_name))}</h2>
66 <table class="table_disp">
67 <tr class="header">
68 <td>${_('date')}</td>
69 <td>${_('author')}</td>
70 <td>${_('revision')}</td>
71 <td>${_('commit message')}</td>
72 <td>${_('branch')}</td>
73 <td>${_('tags')}</td>
74 <td>${_('links')}</td>
75
76 </tr>
77 %for cnt,cs in enumerate(c.repo_changesets):
78 <tr class="parity${cnt%2}">
79 <td>${cs._ctx.date()|n,filters.age}</td>
80 <td>${cs.author|n,filters.person}</td>
81 <td>r${cs.revision}:${cs.raw_id}</td>
82 <td>
83 ${h.link_to(h.truncate(cs.message,60),
84 h.url('changeset_home',repo_name=c.repo_name,revision=cs._short),
85 title=cs.message)}
86 </td>
87 <td>
88 <span class="logtags">
89 <span class="branchtag">${cs.branch}</span>
90 </span>
91 </td>
92 <td>
93 <span class="logtags">
94 %for tag in cs.tags:
95 <span class="tagtag">${tag}</span>
96 %endfor
97 </span>
98 </td>
99 <td class="nowrap">
100 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=cs._short))}
101 |
102 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=cs._short))}
103 </td>
104 </tr>
105 %endfor
106 </table>
63 <%include file='../shortlog/shortlog_data.html'/>
107 64
108 65 <h2>${h.link_to(_('Last ten tags'),h.url('tags_home',repo_name=c.repo_name))}</h2>
109 <table class="table_disp">
110 <tr class="header">
111 <td>${_('date')}</td>
112 <td>${_('revision')}</td>
113 <td>${_('name')}</td>
114 <td>${_('links')}</td>
115 </tr>
116 %for cnt,tag in enumerate(c.repo_tags.items()):
117 <tr class="parity${cnt%2}">
118 <td>${tag[1]._ctx.date()|n,filters.age}</td>
119 <td>r${tag[1].revision}:${tag[1].raw_id}</td>
120 <td>
121 <span class="logtags">
122 <span class="tagtag">${h.link_to(tag[0],
123 h.url('changeset_home',repo_name=c.repo_name,revision=tag[1].raw_id))}</span>
124 </span>
125 </td>
126 <td class="nowrap">
127 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=tag[1].raw_id))}
128 |
129 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=tag[1].raw_id))}
130 </td>
131 </tr>
132 %endfor
133 </table>
66 <%include file='../tags/tags_data.html'/>
134 67
135 68 <h2>${h.link_to(_('Last ten branches'),h.url('branches_home',repo_name=c.repo_name))}</h2>
136 <table class="table_disp">
137 <tr class="header">
138 <td>${_('date')}</td>
139 <td>${_('revision')}</td>
140 <td>${_('name')}</td>
141 <td>${_('links')}</td>
142 </tr>
143 %for cnt,branch in enumerate(c.repo_branches.items()):
144 <tr class="parity${cnt%2}">
145 <td>${branch[1]._ctx.date()|n,filters.age}</td>
146 <td>r${branch[1].revision}:${branch[1].raw_id}</td>
147 <td>
148 <span class="logtags">
149 <span class="branchtag">${h.link_to(branch[0],
150 h.url('changeset_home',repo_name=c.repo_name,revision=branch[1].raw_id))}</span>
151 </span>
152 </td>
153 <td class="nowrap">
154 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=branch[1].raw_id))}
155 |
156 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=branch[1].raw_id))}
157 </td>
158 </tr>
159 %endfor
160 </table>
69 <%include file='../branches/branches_data.html'/>
161 70
162 71 </%def> No newline at end of file
@@ -1,7 +1,4 b''
1 1 <%inherit file="/base/base.html"/>
2 <%!
3 from pylons_app.lib import filters
4 %>
5 2 <%def name="title()">
6 3 ${_('Tags')}
7 4 </%def>
@@ -18,30 +15,6 b' from pylons_app.lib import filters'
18 15 <%def name="main()">
19 16
20 17 <h2 class="no-link no-border">${_('Tags')}</h2>
21 <table class="table_disp">
22 <tr class="header">
23 <td>${_('date')}</td>
24 <td>${_('revision')}</td>
25 <td>${_('name')}</td>
26 <td>${_('links')}</td>
27 </tr>
28 %for cnt,tag in enumerate(c.repo_tags.items()):
29 <tr class="parity${cnt%2}">
30 <td>${tag[1]._ctx.date()|n,filters.age}</td>
31 <td>r${tag[1].revision}:${tag[1].raw_id}</td>
32 <td>
33 <span class="logtags">
34 <span class="tagtag">${h.link_to(tag[0],
35 h.url('changeset_home',repo_name=c.repo_name,revision=tag[1].raw_id))}</span>
36 </span>
37 </td>
38 <td class="nowrap">
39 ${h.link_to(_('changeset'),h.url('changeset_home',repo_name=c.repo_name,revision=tag[1].raw_id))}
40 |
41 ${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name,revision=tag[1].raw_id))}
42 </td>
43 </tr>
44 %endfor
45 </table>
18 <%include file='tags_data.html'/>
46 19
47 20 </%def> No newline at end of file
1 NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now