Show More
@@ -1,7 +1,8 b'' | |||
|
1 | 1 | ## Render changelog table with id 'changesets' with the range of changesets, |
|
2 | 2 | ## statuses, and comments. |
|
3 | 3 | ## Optionally, pass a js snippet to run whenever a table resize is triggered. |
|
4 | <%def name="changelog(repo_name, cs_range, cs_statuses, cs_comments, show_checkbox=False, show_branch=True, resize_js='')"> | |
|
4 | <%def name="changelog(repo_name, cs_range, cs_statuses, cs_comments, show_checkbox=False, show_branch=True, show_index=False, resize_js='')"> | |
|
5 | <% num_cs = len(cs_range) %> | |
|
5 | 6 | <table class="table" id="changesets"> |
|
6 | 7 | <tbody> |
|
7 | 8 | %for cnt,cs in enumerate(cs_range): |
@@ -11,6 +12,22 b'' | |||
|
11 | 12 | ${h.checkbox(cs.raw_id,class_="changeset_range")} |
|
12 | 13 | </td> |
|
13 | 14 | %endif |
|
15 | %if show_index: | |
|
16 | <td class="changeset-logical-index"> | |
|
17 | <% | |
|
18 | index = num_cs - cnt | |
|
19 | if index == 1: | |
|
20 | title = _('First (oldest) changeset in this list') | |
|
21 | elif index == num_cs: | |
|
22 | title = _('Last (most recent) changeset in this list') | |
|
23 | else: | |
|
24 | title = _('Position in this list of changesets') | |
|
25 | %> | |
|
26 | <span data-toggle="tooltip" title="${title}"> | |
|
27 | ${index} | |
|
28 | </span> | |
|
29 | </td> | |
|
30 | %endif | |
|
14 | 31 | <td class="status"> |
|
15 | 32 | %if cs_statuses.get(cs.raw_id): |
|
16 | 33 | %if cs_statuses.get(cs.raw_id)[2]: |
@@ -1,4 +1,5 b'' | |||
|
1 |
## Changesets table |
|
|
1 | ## Changesets table with graph | |
|
2 | <%namespace name="changelog_table" file="/changelog/changelog_table.html"/> | |
|
2 | 3 | <div> |
|
3 | 4 | %if not c.cs_ranges: |
|
4 | 5 | <span class="empty_data">${_('No changesets')}</span> |
@@ -28,68 +29,9 b'' | |||
|
28 | 29 | </div> |
|
29 | 30 | |
|
30 | 31 | <div id="graph_content_pr"> |
|
31 | ||
|
32 | <table class="table compare_view_commits"> | |
|
33 | %for cnt, cs in enumerate(reversed(c.cs_ranges)): | |
|
34 | <tr id="chg_${cnt+1}" class="${'mergerow' if len(cs.parents) > 1 else ''}"> | |
|
35 | <td> | |
|
36 | %if cs.raw_id in c.cs_statuses: | |
|
37 | <i class="icon-circle changeset-status-${c.cs_statuses[cs.raw_id][0]}" title="${_('Changeset status: %s') % c.cs_statuses[cs.raw_id][1]}"></i> | |
|
38 | %endif | |
|
39 | %if c.cs_comments.get(cs.raw_id): | |
|
40 | <div class="comments-container"> | |
|
41 | <div class="comments-cnt" title="${_('Changeset has comments')}"> | |
|
42 | <a href="${c.cs_comments[cs.raw_id][0].url()}"> | |
|
43 | ${len(c.cs_comments[cs.raw_id])} | |
|
44 | <i class="icon-comment"></i> | |
|
45 | </a> | |
|
46 | </div> | |
|
47 | </div> | |
|
48 | %endif | |
|
49 | </td> | |
|
50 | <td class="changeset-logical-index"> | |
|
51 | <% | |
|
52 | num_cs = len(c.cs_ranges) | |
|
53 | index = num_cs - cnt | |
|
54 | if index == 1: | |
|
55 | title = _('First (oldest) changeset in this list') | |
|
56 | elif index == num_cs: | |
|
57 | title = _('Last (most recent) changeset in this list') | |
|
58 | else: | |
|
59 | title = _('Position in this list of changesets') | |
|
60 | %> | |
|
61 | <span data-toggle="tooltip" title="${title}"> | |
|
62 | ${index} | |
|
63 | </span> | |
|
64 | </td> | |
|
65 | <td><span data-toggle="tooltip" title="${h.age(cs.date)}">${cs.date}</span></td> | |
|
66 | <td class="author"> | |
|
67 | ${h.gravatar(h.email_or_none(cs.author), size=16)} | |
|
68 | <span data-toggle="tooltip" title="${cs.author}" class="user">${h.person(cs.author)}</span> | |
|
69 | </td> | |
|
70 | <td>${h.link_to(h.show_id(cs),h.url('changeset_home',repo_name=c.cs_repo.repo_name,revision=cs.raw_id), class_='changeset_hash')}</td> | |
|
71 | <td> | |
|
72 | %if cs.branch: | |
|
73 | <span class="branchtag">${h.link_to(cs.branch,h.url('changelog_home',repo_name=c.cs_repo.repo_name,branch=cs.branch))}</span> | |
|
74 | %endif | |
|
75 | </td> | |
|
76 | <td class="expand_commit" title="${_('Expand commit message')}"> | |
|
77 | <i class="icon-align-left"></i> | |
|
78 | </td> | |
|
79 | <td class="mid"> | |
|
80 | <div class="pull-right"> | |
|
81 | %for tag in cs.tags: | |
|
82 | <span class="tagtag" title="${_('Tag %s') % tag}"> | |
|
83 | ${h.link_to(tag,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))} | |
|
84 | </span> | |
|
85 | %endfor | |
|
86 | </div> | |
|
87 | <div class="message">${h.urlify_text(cs.message, c.repo_name)}</div> | |
|
88 | </td> | |
|
89 | </tr> | |
|
90 | %endfor | |
|
91 | </table> | |
|
92 | ||
|
32 | ${changelog_table.changelog(c.cs_repo.repo_name, list(reversed(c.cs_ranges)), c.cs_statuses, c.cs_comments, | |
|
33 | show_index=True, | |
|
34 | resize_js='graph.render(jsdata)')} | |
|
93 | 35 | </div> |
|
94 | 36 | |
|
95 | 37 | %if c.is_ajax_preview: |
@@ -6,8 +6,8 b' from kallithea.tests.fixture import Fixt' | |||
|
6 | 6 | |
|
7 | 7 | fixture = Fixture() |
|
8 | 8 | |
|
9 | def _commit_ref(sha, msg): | |
|
10 | return '''<div class="message">%s</div>''' % msg | |
|
9 | def _commit_ref(repo_name, sha, msg): | |
|
10 | return '''<div class="message-firstline"><a class="message-link" href="/%s/changeset/%s">%s</a></div>''' % (repo_name, sha, msg) | |
|
11 | 11 | |
|
12 | 12 | |
|
13 | 13 | class TestCompareController(TestController): |
@@ -65,8 +65,8 b' class TestCompareController(TestControll' | |||
|
65 | 65 | response.mustcontain("""Showing 2 commits""") |
|
66 | 66 | response.mustcontain("""1 file changed with 2 insertions and 0 deletions""") |
|
67 | 67 | |
|
68 | response.mustcontain(_commit_ref(cs1.raw_id, 'commit2')) | |
|
69 | response.mustcontain(_commit_ref(cs2.raw_id, 'commit3')) | |
|
68 | response.mustcontain(_commit_ref(repo2.repo_name, cs1.raw_id, 'commit2')) | |
|
69 | response.mustcontain(_commit_ref(repo2.repo_name, cs2.raw_id, 'commit3')) | |
|
70 | 70 | |
|
71 | 71 | response.mustcontain("""<a class="changeset_hash" href="/%s/changeset/%s">r1:%s</a>""" % (repo2.repo_name, cs1.raw_id, cs1.short_id)) |
|
72 | 72 | response.mustcontain("""<a class="changeset_hash" href="/%s/changeset/%s">r2:%s</a>""" % (repo2.repo_name, cs2.raw_id, cs2.short_id)) |
@@ -116,8 +116,8 b' class TestCompareController(TestControll' | |||
|
116 | 116 | response.mustcontain("""Showing 2 commits""") |
|
117 | 117 | response.mustcontain("""1 file changed with 2 insertions and 0 deletions""") |
|
118 | 118 | |
|
119 | response.mustcontain(_commit_ref(cs1.raw_id, 'commit2')) | |
|
120 | response.mustcontain(_commit_ref(cs2.raw_id, 'commit3')) | |
|
119 | response.mustcontain(_commit_ref(repo2.repo_name, cs1.raw_id, 'commit2')) | |
|
120 | response.mustcontain(_commit_ref(repo2.repo_name, cs2.raw_id, 'commit3')) | |
|
121 | 121 | |
|
122 | 122 | response.mustcontain("""<a class="changeset_hash" href="/%s/changeset/%s">r1:%s</a>""" % (repo2.repo_name, cs1.raw_id, cs1.short_id)) |
|
123 | 123 | response.mustcontain("""<a class="changeset_hash" href="/%s/changeset/%s">r2:%s</a>""" % (repo2.repo_name, cs2.raw_id, cs2.short_id)) |
@@ -175,8 +175,8 b' class TestCompareController(TestControll' | |||
|
175 | 175 | response.mustcontain("""Showing 2 commits""") |
|
176 | 176 | response.mustcontain("""1 file changed with 2 insertions and 0 deletions""") |
|
177 | 177 | |
|
178 | response.mustcontain(_commit_ref(cs1.raw_id, 'commit2')) | |
|
179 | response.mustcontain(_commit_ref(cs2.raw_id, 'commit3')) | |
|
178 | response.mustcontain(_commit_ref(repo2.repo_name, cs1.raw_id, 'commit2')) | |
|
179 | response.mustcontain(_commit_ref(repo2.repo_name, cs2.raw_id, 'commit3')) | |
|
180 | 180 | |
|
181 | 181 | response.mustcontain("""<a class="changeset_hash" href="/%s/changeset/%s">r1:%s</a>""" % (repo2.repo_name, cs1.raw_id, cs1.short_id)) |
|
182 | 182 | response.mustcontain("""<a class="changeset_hash" href="/%s/changeset/%s">r2:%s</a>""" % (repo2.repo_name, cs2.raw_id, cs2.short_id)) |
@@ -234,8 +234,8 b' class TestCompareController(TestControll' | |||
|
234 | 234 | response.mustcontain("""Showing 2 commits""") |
|
235 | 235 | response.mustcontain("""1 file changed with 2 insertions and 0 deletions""") |
|
236 | 236 | |
|
237 | response.mustcontain(_commit_ref(cs1.raw_id, 'commit2')) | |
|
238 | response.mustcontain(_commit_ref(cs2.raw_id, 'commit3')) | |
|
237 | response.mustcontain(_commit_ref(repo2.repo_name, cs1.raw_id, 'commit2')) | |
|
238 | response.mustcontain(_commit_ref(repo2.repo_name, cs2.raw_id, 'commit3')) | |
|
239 | 239 | |
|
240 | 240 | response.mustcontain("""<a class="changeset_hash" href="/%s/changeset/%s">r1:%s</a>""" % (repo2.repo_name, cs1.raw_id, cs1.short_id)) |
|
241 | 241 | response.mustcontain("""<a class="changeset_hash" href="/%s/changeset/%s">r2:%s</a>""" % (repo2.repo_name, cs2.raw_id, cs2.short_id)) |
@@ -302,9 +302,9 b' class TestCompareController(TestControll' | |||
|
302 | 302 | response.mustcontain("""Showing 3 commits""") |
|
303 | 303 | response.mustcontain("""1 file changed with 3 insertions and 0 deletions""") |
|
304 | 304 | |
|
305 | response.mustcontain(_commit_ref(cs2.raw_id, 'commit3')) | |
|
306 | response.mustcontain(_commit_ref(cs3.raw_id, 'commit4')) | |
|
307 | response.mustcontain(_commit_ref(cs4.raw_id, 'commit5')) | |
|
305 | response.mustcontain(_commit_ref(repo1.repo_name, cs2.raw_id, 'commit3')) | |
|
306 | response.mustcontain(_commit_ref(repo1.repo_name, cs3.raw_id, 'commit4')) | |
|
307 | response.mustcontain(_commit_ref(repo1.repo_name, cs4.raw_id, 'commit5')) | |
|
308 | 308 | |
|
309 | 309 | response.mustcontain("""<a class="changeset_hash" href="/%s/changeset/%s">r2:%s</a>""" % (repo1.repo_name, cs2.raw_id, cs2.short_id)) |
|
310 | 310 | response.mustcontain("""<a class="changeset_hash" href="/%s/changeset/%s">r3:%s</a>""" % (repo1.repo_name, cs3.raw_id, cs3.short_id)) |
@@ -368,9 +368,9 b' class TestCompareController(TestControll' | |||
|
368 | 368 | response.mustcontain("""Showing 3 commits""") |
|
369 | 369 | response.mustcontain("""1 file changed with 3 insertions and 0 deletions""") |
|
370 | 370 | |
|
371 | response.mustcontain(_commit_ref(cs3.raw_id, 'commit4')) | |
|
372 | response.mustcontain(_commit_ref(cs4.raw_id, 'commit5')) | |
|
373 | response.mustcontain(_commit_ref(cs5.raw_id, 'commit6')) | |
|
371 | response.mustcontain(_commit_ref(repo1.repo_name, cs3.raw_id, 'commit4')) | |
|
372 | response.mustcontain(_commit_ref(repo1.repo_name, cs4.raw_id, 'commit5')) | |
|
373 | response.mustcontain(_commit_ref(repo1.repo_name, cs5.raw_id, 'commit6')) | |
|
374 | 374 | |
|
375 | 375 | response.mustcontain("""<a class="changeset_hash" href="/%s/changeset/%s">r3:%s</a>""" % (repo1.repo_name, cs3.raw_id, cs3.short_id)) |
|
376 | 376 | response.mustcontain("""<a class="changeset_hash" href="/%s/changeset/%s">r4:%s</a>""" % (repo1.repo_name, cs4.raw_id, cs4.short_id)) |
General Comments 0
You need to be logged in to leave comments.
Login now