Show More
@@ -1,144 +1,144 b'' | |||||
1 | ## small box that displays changed/added/removed details fetched by AJAX |
|
1 | ## small box that displays changed/added/removed details fetched by AJAX | |
2 | <%namespace name="base" file="/base/base.mako"/> |
|
2 | <%namespace name="base" file="/base/base.mako"/> | |
3 |
|
3 | |||
4 |
|
4 | |||
5 | % if c.prev_page: |
|
5 | % if c.prev_page: | |
6 | <tr> |
|
6 | <tr> | |
7 | <td colspan="9" class="load-more-commits"> |
|
7 | <td colspan="9" class="load-more-commits"> | |
8 | <a class="prev-commits" href="#loadPrevCommits" onclick="commitsController.loadPrev(this, ${c.prev_page}, '${c.branch_name}');return false"> |
|
8 | <a class="prev-commits" href="#loadPrevCommits" onclick="commitsController.loadPrev(this, ${c.prev_page}, '${c.branch_name}');return false"> | |
9 | ${_('load previous')} |
|
9 | ${_('load previous')} | |
10 | </a> |
|
10 | </a> | |
11 | </td> |
|
11 | </td> | |
12 | </tr> |
|
12 | </tr> | |
13 | % endif |
|
13 | % endif | |
14 |
|
14 | |||
15 | % for cnt,commit in enumerate(c.pagination): |
|
15 | % for cnt,commit in enumerate(c.pagination): | |
16 | <tr id="sha_${commit.raw_id}" class="changelogRow container ${'tablerow%s' % (cnt%2)}"> |
|
16 | <tr id="sha_${commit.raw_id}" class="changelogRow container ${'tablerow%s' % (cnt%2)}"> | |
17 |
|
17 | |||
18 | <td class="td-checkbox"> |
|
18 | <td class="td-checkbox"> | |
19 | ${h.checkbox(commit.raw_id,class_="commit-range")} |
|
19 | ${h.checkbox(commit.raw_id,class_="commit-range")} | |
20 | </td> |
|
20 | </td> | |
21 | <td class="td-status"> |
|
21 | <td class="td-status"> | |
22 |
|
22 | |||
23 | %if c.statuses.get(commit.raw_id): |
|
23 | %if c.statuses.get(commit.raw_id): | |
24 | <div class="changeset-status-ico"> |
|
24 | <div class="changeset-status-ico"> | |
25 | %if c.statuses.get(commit.raw_id)[2]: |
|
25 | %if c.statuses.get(commit.raw_id)[2]: | |
26 | <a class="tooltip" title="${_('Commit status: %s\nClick to open associated pull request #%s') % (h.commit_status_lbl(c.statuses.get(commit.raw_id)[0]), c.statuses.get(commit.raw_id)[2])}" href="${h.route_path('pullrequest_show',repo_name=c.statuses.get(commit.raw_id)[3],pull_request_id=c.statuses.get(commit.raw_id)[2])}"> |
|
26 | <a class="tooltip" title="${_('Commit status: %s\nClick to open associated pull request #%s') % (h.commit_status_lbl(c.statuses.get(commit.raw_id)[0]), c.statuses.get(commit.raw_id)[2])}" href="${h.route_path('pullrequest_show',repo_name=c.statuses.get(commit.raw_id)[3],pull_request_id=c.statuses.get(commit.raw_id)[2])}"> | |
27 | <div class="${'flag_status %s' % c.statuses.get(commit.raw_id)[0]}"></div> |
|
27 | <div class="${'flag_status %s' % c.statuses.get(commit.raw_id)[0]}"></div> | |
28 | </a> |
|
28 | </a> | |
29 | %else: |
|
29 | %else: | |
30 | <a class="tooltip" title="${_('Commit status: %s') % h.commit_status_lbl(c.statuses.get(commit.raw_id)[0])}" href="${h.url('changeset_home',repo_name=c.repo_name,revision=commit.raw_id,anchor='comment-%s' % c.comments[commit.raw_id][0].comment_id)}"> |
|
30 | <a class="tooltip" title="${_('Commit status: %s') % h.commit_status_lbl(c.statuses.get(commit.raw_id)[0])}" href="${h.url('changeset_home',repo_name=c.repo_name,revision=commit.raw_id,anchor='comment-%s' % c.comments[commit.raw_id][0].comment_id)}"> | |
31 | <div class="${'flag_status %s' % c.statuses.get(commit.raw_id)[0]}"></div> |
|
31 | <div class="${'flag_status %s' % c.statuses.get(commit.raw_id)[0]}"></div> | |
32 | </a> |
|
32 | </a> | |
33 | %endif |
|
33 | %endif | |
34 | </div> |
|
34 | </div> | |
35 | %else: |
|
35 | %else: | |
36 | <div class="tooltip flag_status not_reviewed" title="${_('Commit status: Not Reviewed')}"></div> |
|
36 | <div class="tooltip flag_status not_reviewed" title="${_('Commit status: Not Reviewed')}"></div> | |
37 | %endif |
|
37 | %endif | |
38 | </td> |
|
38 | </td> | |
39 | <td class="td-comments comments-col"> |
|
39 | <td class="td-comments comments-col"> | |
40 | %if c.comments.get(commit.raw_id): |
|
40 | %if c.comments.get(commit.raw_id): | |
41 | <a title="${_('Commit has comments')}" href="${h.url('changeset_home',repo_name=c.repo_name,revision=commit.raw_id,anchor='comment-%s' % c.comments[commit.raw_id][0].comment_id)}"> |
|
41 | <a title="${_('Commit has comments')}" href="${h.url('changeset_home',repo_name=c.repo_name,revision=commit.raw_id,anchor='comment-%s' % c.comments[commit.raw_id][0].comment_id)}"> | |
42 | <i class="icon-comment"></i> ${len(c.comments[commit.raw_id])} |
|
42 | <i class="icon-comment"></i> ${len(c.comments[commit.raw_id])} | |
43 | </a> |
|
43 | </a> | |
44 | %endif |
|
44 | %endif | |
45 | </td> |
|
45 | </td> | |
46 | <td class="td-hash"> |
|
46 | <td class="td-hash"> | |
47 | <code> |
|
47 | <code> | |
48 | <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${commit.raw_id}" title="${_('Copy the full commit id')}"></i> |
|
|||
49 |
|
48 | |||
50 | <a href="${h.url('changeset_home',repo_name=c.repo_name,revision=commit.raw_id)}"> |
|
49 | <a href="${h.url('changeset_home',repo_name=c.repo_name,revision=commit.raw_id)}"> | |
51 | <span class="${'commit_hash obsolete' if getattr(commit, 'obsolete', None) else 'commit_hash'}">${h.show_id(commit)}</span> |
|
50 | <span class="${'commit_hash obsolete' if getattr(commit, 'obsolete', None) else 'commit_hash'}">${h.show_id(commit)}</span> | |
52 | </a> |
|
51 | </a> | |
|
52 | <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${commit.raw_id}" title="${_('Copy the full commit id')}"></i> | |||
53 | % if hasattr(commit, 'phase'): |
|
53 | % if hasattr(commit, 'phase'): | |
54 | % if commit.phase != 'public': |
|
54 | % if commit.phase != 'public': | |
55 | <span class="tag phase-${commit.phase} tooltip" title="${_('Commit phase')}">${commit.phase}</span> |
|
55 | <span class="tag phase-${commit.phase} tooltip" title="${_('Commit phase')}">${commit.phase}</span> | |
56 | % endif |
|
56 | % endif | |
57 | % endif |
|
57 | % endif | |
58 |
|
58 | |||
59 | ## obsolete commits |
|
59 | ## obsolete commits | |
60 | % if hasattr(commit, 'obsolete'): |
|
60 | % if hasattr(commit, 'obsolete'): | |
61 | % if commit.obsolete: |
|
61 | % if commit.obsolete: | |
62 | <span class="tag obsolete-${commit.obsolete} tooltip" title="${_('Evolve State')}">${_('obsolete')}</span> |
|
62 | <span class="tag obsolete-${commit.obsolete} tooltip" title="${_('Evolve State')}">${_('obsolete')}</span> | |
63 | % endif |
|
63 | % endif | |
64 | % endif |
|
64 | % endif | |
65 |
|
65 | |||
66 | ## hidden commits |
|
66 | ## hidden commits | |
67 | % if hasattr(commit, 'hidden'): |
|
67 | % if hasattr(commit, 'hidden'): | |
68 | % if commit.hidden: |
|
68 | % if commit.hidden: | |
69 | <span class="tag obsolete-${commit.hidden} tooltip" title="${_('Evolve State')}">${_('hidden')}</span> |
|
69 | <span class="tag obsolete-${commit.hidden} tooltip" title="${_('Evolve State')}">${_('hidden')}</span> | |
70 | % endif |
|
70 | % endif | |
71 | % endif |
|
71 | % endif | |
72 |
|
72 | |||
73 | </code> |
|
73 | </code> | |
74 | </td> |
|
74 | </td> | |
75 | <td class="td-message expand_commit" data-commit-id="${commit.raw_id}" title="${_('Expand commit message')}" onclick="commitsController.expandCommit(this); return false"> |
|
75 | <td class="td-message expand_commit" data-commit-id="${commit.raw_id}" title="${_('Expand commit message')}" onclick="commitsController.expandCommit(this); return false"> | |
76 | <div class="show_more_col"> |
|
76 | <div class="show_more_col"> | |
77 | <i class="show_more"></i> |
|
77 | <i class="show_more"></i> | |
78 | </div> |
|
78 | </div> | |
79 | </td> |
|
79 | </td> | |
80 | <td class="td-description mid"> |
|
80 | <td class="td-description mid"> | |
81 | <div class="log-container truncate-wrap"> |
|
81 | <div class="log-container truncate-wrap"> | |
82 | <div class="message truncate" id="c-${commit.raw_id}">${h.urlify_commit_message(commit.message, c.repo_name)}</div> |
|
82 | <div class="message truncate" id="c-${commit.raw_id}">${h.urlify_commit_message(commit.message, c.repo_name)}</div> | |
83 | </div> |
|
83 | </div> | |
84 | </td> |
|
84 | </td> | |
85 |
|
85 | |||
86 | <td class="td-time"> |
|
86 | <td class="td-time"> | |
87 | ${h.age_component(commit.date)} |
|
87 | ${h.age_component(commit.date)} | |
88 | </td> |
|
88 | </td> | |
89 | <td class="td-user"> |
|
89 | <td class="td-user"> | |
90 | ${base.gravatar_with_user(commit.author)} |
|
90 | ${base.gravatar_with_user(commit.author)} | |
91 | </td> |
|
91 | </td> | |
92 |
|
92 | |||
93 | <td class="td-tags tags-col"> |
|
93 | <td class="td-tags tags-col"> | |
94 | <div id="t-${commit.raw_id}"> |
|
94 | <div id="t-${commit.raw_id}"> | |
95 |
|
95 | |||
96 | ## merge |
|
96 | ## merge | |
97 | %if commit.merge: |
|
97 | %if commit.merge: | |
98 | <span class="tag mergetag"> |
|
98 | <span class="tag mergetag"> | |
99 | <i class="icon-merge"></i>${_('merge')} |
|
99 | <i class="icon-merge"></i>${_('merge')} | |
100 | </span> |
|
100 | </span> | |
101 | %endif |
|
101 | %endif | |
102 |
|
102 | |||
103 | ## branch |
|
103 | ## branch | |
104 | %if commit.branch: |
|
104 | %if commit.branch: | |
105 | <span class="tag branchtag" title="${h.tooltip(_('Branch %s') % commit.branch)}"> |
|
105 | <span class="tag branchtag" title="${h.tooltip(_('Branch %s') % commit.branch)}"> | |
106 | <a href="${h.route_path('repo_changelog',repo_name=c.repo_name,_query=dict(branch=commit.branch))}"><i class="icon-code-fork"></i>${h.shorter(commit.branch)}</a> |
|
106 | <a href="${h.route_path('repo_changelog',repo_name=c.repo_name,_query=dict(branch=commit.branch))}"><i class="icon-code-fork"></i>${h.shorter(commit.branch)}</a> | |
107 | </span> |
|
107 | </span> | |
108 | %endif |
|
108 | %endif | |
109 |
|
109 | |||
110 | ## bookmarks |
|
110 | ## bookmarks | |
111 | %if h.is_hg(c.rhodecode_repo): |
|
111 | %if h.is_hg(c.rhodecode_repo): | |
112 | %for book in commit.bookmarks: |
|
112 | %for book in commit.bookmarks: | |
113 | <span class="tag booktag" title="${h.tooltip(_('Bookmark %s') % book)}"> |
|
113 | <span class="tag booktag" title="${h.tooltip(_('Bookmark %s') % book)}"> | |
114 | <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=commit.raw_id, _query=dict(at=book))}"><i class="icon-bookmark"></i>${h.shorter(book)}</a> |
|
114 | <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=commit.raw_id, _query=dict(at=book))}"><i class="icon-bookmark"></i>${h.shorter(book)}</a> | |
115 | </span> |
|
115 | </span> | |
116 | %endfor |
|
116 | %endfor | |
117 | %endif |
|
117 | %endif | |
118 |
|
118 | |||
119 | ## tags |
|
119 | ## tags | |
120 | %for tag in commit.tags: |
|
120 | %for tag in commit.tags: | |
121 | <span class="tag tagtag" title="${h.tooltip(_('Tag %s') % tag)}"> |
|
121 | <span class="tag tagtag" title="${h.tooltip(_('Tag %s') % tag)}"> | |
122 | <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=commit.raw_id, _query=dict(at=tag))}"><i class="icon-tag"></i>${h.shorter(tag)}</a> |
|
122 | <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=commit.raw_id, _query=dict(at=tag))}"><i class="icon-tag"></i>${h.shorter(tag)}</a> | |
123 | </span> |
|
123 | </span> | |
124 | %endfor |
|
124 | %endfor | |
125 |
|
125 | |||
126 | </div> |
|
126 | </div> | |
127 | </td> |
|
127 | </td> | |
128 | </tr> |
|
128 | </tr> | |
129 | % endfor |
|
129 | % endfor | |
130 |
|
130 | |||
131 | % if c.next_page: |
|
131 | % if c.next_page: | |
132 | <tr> |
|
132 | <tr> | |
133 | <td colspan="9" class="load-more-commits"> |
|
133 | <td colspan="9" class="load-more-commits"> | |
134 | <a class="next-commits" href="#loadNextCommits" onclick="commitsController.loadNext(this, ${c.next_page}, '${c.branch_name}');return false"> |
|
134 | <a class="next-commits" href="#loadNextCommits" onclick="commitsController.loadNext(this, ${c.next_page}, '${c.branch_name}');return false"> | |
135 | ${_('load next')} |
|
135 | ${_('load next')} | |
136 | </a> |
|
136 | </a> | |
137 | </td> |
|
137 | </td> | |
138 | </tr> |
|
138 | </tr> | |
139 | % endif |
|
139 | % endif | |
140 | <tr class="chunk-graph-data" style="display:none" |
|
140 | <tr class="chunk-graph-data" style="display:none" | |
141 | data-graph='${c.graph_data|n}' |
|
141 | data-graph='${c.graph_data|n}' | |
142 | data-node='${c.prev_page}:${c.next_page}' |
|
142 | data-node='${c.prev_page}:${c.next_page}' | |
143 | data-commits='${c.graph_commits|n}'> |
|
143 | data-commits='${c.graph_commits|n}'> | |
144 | </tr> No newline at end of file |
|
144 | </tr> |
@@ -1,352 +1,352 b'' | |||||
1 | ## -*- coding: utf-8 -*- |
|
1 | ## -*- coding: utf-8 -*- | |
2 |
|
2 | |||
3 | <%inherit file="/base/base.mako"/> |
|
3 | <%inherit file="/base/base.mako"/> | |
4 | <%namespace name="diff_block" file="/changeset/diff_block.mako"/> |
|
4 | <%namespace name="diff_block" file="/changeset/diff_block.mako"/> | |
5 |
|
5 | |||
6 | <%def name="title()"> |
|
6 | <%def name="title()"> | |
7 | ${_('%s Commit') % c.repo_name} - ${h.show_id(c.commit)} |
|
7 | ${_('%s Commit') % c.repo_name} - ${h.show_id(c.commit)} | |
8 | %if c.rhodecode_name: |
|
8 | %if c.rhodecode_name: | |
9 | · ${h.branding(c.rhodecode_name)} |
|
9 | · ${h.branding(c.rhodecode_name)} | |
10 | %endif |
|
10 | %endif | |
11 | </%def> |
|
11 | </%def> | |
12 |
|
12 | |||
13 | <%def name="menu_bar_nav()"> |
|
13 | <%def name="menu_bar_nav()"> | |
14 | ${self.menu_items(active='repositories')} |
|
14 | ${self.menu_items(active='repositories')} | |
15 | </%def> |
|
15 | </%def> | |
16 |
|
16 | |||
17 | <%def name="menu_bar_subnav()"> |
|
17 | <%def name="menu_bar_subnav()"> | |
18 | ${self.repo_menu(active='changelog')} |
|
18 | ${self.repo_menu(active='changelog')} | |
19 | </%def> |
|
19 | </%def> | |
20 |
|
20 | |||
21 | <%def name="main()"> |
|
21 | <%def name="main()"> | |
22 | <script> |
|
22 | <script> | |
23 | // TODO: marcink switch this to pyroutes |
|
23 | // TODO: marcink switch this to pyroutes | |
24 | AJAX_COMMENT_DELETE_URL = "${h.url('changeset_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}"; |
|
24 | AJAX_COMMENT_DELETE_URL = "${h.url('changeset_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}"; | |
25 | templateContext.commit_data.commit_id = "${c.commit.raw_id}"; |
|
25 | templateContext.commit_data.commit_id = "${c.commit.raw_id}"; | |
26 | </script> |
|
26 | </script> | |
27 | <div class="box"> |
|
27 | <div class="box"> | |
28 | <div class="title"> |
|
28 | <div class="title"> | |
29 | ${self.repo_page_title(c.rhodecode_db_repo)} |
|
29 | ${self.repo_page_title(c.rhodecode_db_repo)} | |
30 | </div> |
|
30 | </div> | |
31 |
|
31 | |||
32 | <div id="changeset_compare_view_content" class="summary changeset"> |
|
32 | <div id="changeset_compare_view_content" class="summary changeset"> | |
33 | <div class="summary-detail"> |
|
33 | <div class="summary-detail"> | |
34 | <div class="summary-detail-header"> |
|
34 | <div class="summary-detail-header"> | |
35 | <span class="breadcrumbs files_location"> |
|
35 | <span class="breadcrumbs files_location"> | |
36 | <h4>${_('Commit')} |
|
36 | <h4>${_('Commit')} | |
37 | <code> |
|
37 | <code> | |
|
38 | ${h.show_id(c.commit)} | |||
38 | <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.commit.raw_id}" title="${_('Copy the full commit id')}"></i> |
|
39 | <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.commit.raw_id}" title="${_('Copy the full commit id')}"></i> | |
39 | ${h.show_id(c.commit)} |
|
|||
40 | % if hasattr(c.commit, 'phase'): |
|
40 | % if hasattr(c.commit, 'phase'): | |
41 | <span class="tag phase-${c.commit.phase} tooltip" title="${_('Commit phase')}">${c.commit.phase}</span> |
|
41 | <span class="tag phase-${c.commit.phase} tooltip" title="${_('Commit phase')}">${c.commit.phase}</span> | |
42 | % endif |
|
42 | % endif | |
43 |
|
43 | |||
44 | ## obsolete commits |
|
44 | ## obsolete commits | |
45 | % if hasattr(c.commit, 'obsolete'): |
|
45 | % if hasattr(c.commit, 'obsolete'): | |
46 | % if c.commit.obsolete: |
|
46 | % if c.commit.obsolete: | |
47 | <span class="tag obsolete-${c.commit.obsolete} tooltip" title="${_('Evolve State')}">${_('obsolete')}</span> |
|
47 | <span class="tag obsolete-${c.commit.obsolete} tooltip" title="${_('Evolve State')}">${_('obsolete')}</span> | |
48 | % endif |
|
48 | % endif | |
49 | % endif |
|
49 | % endif | |
50 |
|
50 | |||
51 | ## hidden commits |
|
51 | ## hidden commits | |
52 | % if hasattr(c.commit, 'hidden'): |
|
52 | % if hasattr(c.commit, 'hidden'): | |
53 | % if c.commit.hidden: |
|
53 | % if c.commit.hidden: | |
54 | <span class="tag hidden-${c.commit.hidden} tooltip" title="${_('Evolve State')}">${_('hidden')}</span> |
|
54 | <span class="tag hidden-${c.commit.hidden} tooltip" title="${_('Evolve State')}">${_('hidden')}</span> | |
55 | % endif |
|
55 | % endif | |
56 | % endif |
|
56 | % endif | |
57 |
|
57 | |||
58 | </code> |
|
58 | </code> | |
59 | </h4> |
|
59 | </h4> | |
60 | </span> |
|
60 | </span> | |
61 | <div class="pull-right"> |
|
61 | <div class="pull-right"> | |
62 | <span id="parent_link"> |
|
62 | <span id="parent_link"> | |
63 | <a href="#" title="${_('Parent Commit')}">${_('Parent')}</a> |
|
63 | <a href="#" title="${_('Parent Commit')}">${_('Parent')}</a> | |
64 | </span> |
|
64 | </span> | |
65 | | |
|
65 | | | |
66 | <span id="child_link"> |
|
66 | <span id="child_link"> | |
67 | <a href="#" title="${_('Child Commit')}">${_('Child')}</a> |
|
67 | <a href="#" title="${_('Child Commit')}">${_('Child')}</a> | |
68 | </span> |
|
68 | </span> | |
69 | </div> |
|
69 | </div> | |
70 | </div> |
|
70 | </div> | |
71 |
|
71 | |||
72 | <div class="fieldset"> |
|
72 | <div class="fieldset"> | |
73 | <div class="left-label"> |
|
73 | <div class="left-label"> | |
74 | ${_('Description')}: |
|
74 | ${_('Description')}: | |
75 | </div> |
|
75 | </div> | |
76 | <div class="right-content"> |
|
76 | <div class="right-content"> | |
77 | <div id="trimmed_message_box" class="commit">${h.urlify_commit_message(c.commit.message,c.repo_name)}</div> |
|
77 | <div id="trimmed_message_box" class="commit">${h.urlify_commit_message(c.commit.message,c.repo_name)}</div> | |
78 | <div id="message_expand" style="display:none;"> |
|
78 | <div id="message_expand" style="display:none;"> | |
79 | ${_('Expand')} |
|
79 | ${_('Expand')} | |
80 | </div> |
|
80 | </div> | |
81 | </div> |
|
81 | </div> | |
82 | </div> |
|
82 | </div> | |
83 |
|
83 | |||
84 | %if c.statuses: |
|
84 | %if c.statuses: | |
85 | <div class="fieldset"> |
|
85 | <div class="fieldset"> | |
86 | <div class="left-label"> |
|
86 | <div class="left-label"> | |
87 | ${_('Commit status')}: |
|
87 | ${_('Commit status')}: | |
88 | </div> |
|
88 | </div> | |
89 | <div class="right-content"> |
|
89 | <div class="right-content"> | |
90 | <div class="changeset-status-ico"> |
|
90 | <div class="changeset-status-ico"> | |
91 | <div class="${'flag_status %s' % c.statuses[0]} pull-left"></div> |
|
91 | <div class="${'flag_status %s' % c.statuses[0]} pull-left"></div> | |
92 | </div> |
|
92 | </div> | |
93 | <div title="${_('Commit status')}" class="changeset-status-lbl">[${h.commit_status_lbl(c.statuses[0])}]</div> |
|
93 | <div title="${_('Commit status')}" class="changeset-status-lbl">[${h.commit_status_lbl(c.statuses[0])}]</div> | |
94 | </div> |
|
94 | </div> | |
95 | </div> |
|
95 | </div> | |
96 | %endif |
|
96 | %endif | |
97 |
|
97 | |||
98 | <div class="fieldset"> |
|
98 | <div class="fieldset"> | |
99 | <div class="left-label"> |
|
99 | <div class="left-label"> | |
100 | ${_('References')}: |
|
100 | ${_('References')}: | |
101 | </div> |
|
101 | </div> | |
102 | <div class="right-content"> |
|
102 | <div class="right-content"> | |
103 | <div class="tags"> |
|
103 | <div class="tags"> | |
104 |
|
104 | |||
105 | %if c.commit.merge: |
|
105 | %if c.commit.merge: | |
106 | <span class="mergetag tag"> |
|
106 | <span class="mergetag tag"> | |
107 | <i class="icon-merge"></i>${_('merge')} |
|
107 | <i class="icon-merge"></i>${_('merge')} | |
108 | </span> |
|
108 | </span> | |
109 | %endif |
|
109 | %endif | |
110 |
|
110 | |||
111 | %if h.is_hg(c.rhodecode_repo): |
|
111 | %if h.is_hg(c.rhodecode_repo): | |
112 | %for book in c.commit.bookmarks: |
|
112 | %for book in c.commit.bookmarks: | |
113 | <span class="booktag tag" title="${h.tooltip(_('Bookmark %s') % book)}"> |
|
113 | <span class="booktag tag" title="${h.tooltip(_('Bookmark %s') % book)}"> | |
114 | <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(at=book))}"><i class="icon-bookmark"></i>${h.shorter(book)}</a> |
|
114 | <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(at=book))}"><i class="icon-bookmark"></i>${h.shorter(book)}</a> | |
115 | </span> |
|
115 | </span> | |
116 | %endfor |
|
116 | %endfor | |
117 | %endif |
|
117 | %endif | |
118 |
|
118 | |||
119 | %for tag in c.commit.tags: |
|
119 | %for tag in c.commit.tags: | |
120 | <span class="tagtag tag" title="${h.tooltip(_('Tag %s') % tag)}"> |
|
120 | <span class="tagtag tag" title="${h.tooltip(_('Tag %s') % tag)}"> | |
121 | <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(at=tag))}"><i class="icon-tag"></i>${tag}</a> |
|
121 | <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(at=tag))}"><i class="icon-tag"></i>${tag}</a> | |
122 | </span> |
|
122 | </span> | |
123 | %endfor |
|
123 | %endfor | |
124 |
|
124 | |||
125 | %if c.commit.branch: |
|
125 | %if c.commit.branch: | |
126 | <span class="branchtag tag" title="${h.tooltip(_('Branch %s') % c.commit.branch)}"> |
|
126 | <span class="branchtag tag" title="${h.tooltip(_('Branch %s') % c.commit.branch)}"> | |
127 | <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(at=c.commit.branch))}"><i class="icon-code-fork"></i>${h.shorter(c.commit.branch)}</a> |
|
127 | <a href="${h.route_path('repo_files:default_path',repo_name=c.repo_name,commit_id=c.commit.raw_id,_query=dict(at=c.commit.branch))}"><i class="icon-code-fork"></i>${h.shorter(c.commit.branch)}</a> | |
128 | </span> |
|
128 | </span> | |
129 | %endif |
|
129 | %endif | |
130 | </div> |
|
130 | </div> | |
131 | </div> |
|
131 | </div> | |
132 | </div> |
|
132 | </div> | |
133 |
|
133 | |||
134 | <div class="fieldset"> |
|
134 | <div class="fieldset"> | |
135 | <div class="left-label"> |
|
135 | <div class="left-label"> | |
136 | ${_('Diff options')}: |
|
136 | ${_('Diff options')}: | |
137 | </div> |
|
137 | </div> | |
138 | <div class="right-content"> |
|
138 | <div class="right-content"> | |
139 | <div class="diff-actions"> |
|
139 | <div class="diff-actions"> | |
140 | <a href="${h.url('changeset_raw_home',repo_name=c.repo_name,revision=c.commit.raw_id)}" class="tooltip" title="${h.tooltip(_('Raw diff'))}"> |
|
140 | <a href="${h.url('changeset_raw_home',repo_name=c.repo_name,revision=c.commit.raw_id)}" class="tooltip" title="${h.tooltip(_('Raw diff'))}"> | |
141 | ${_('Raw Diff')} |
|
141 | ${_('Raw Diff')} | |
142 | </a> |
|
142 | </a> | |
143 | | |
|
143 | | | |
144 | <a href="${h.url('changeset_patch_home',repo_name=c.repo_name,revision=c.commit.raw_id)}" class="tooltip" title="${h.tooltip(_('Patch diff'))}"> |
|
144 | <a href="${h.url('changeset_patch_home',repo_name=c.repo_name,revision=c.commit.raw_id)}" class="tooltip" title="${h.tooltip(_('Patch diff'))}"> | |
145 | ${_('Patch Diff')} |
|
145 | ${_('Patch Diff')} | |
146 | </a> |
|
146 | </a> | |
147 | | |
|
147 | | | |
148 | <a href="${h.url('changeset_download_home',repo_name=c.repo_name,revision=c.commit.raw_id,diff='download')}" class="tooltip" title="${h.tooltip(_('Download diff'))}"> |
|
148 | <a href="${h.url('changeset_download_home',repo_name=c.repo_name,revision=c.commit.raw_id,diff='download')}" class="tooltip" title="${h.tooltip(_('Download diff'))}"> | |
149 | ${_('Download Diff')} |
|
149 | ${_('Download Diff')} | |
150 | </a> |
|
150 | </a> | |
151 | | |
|
151 | | | |
152 | ${c.ignorews_url(request.GET)} |
|
152 | ${c.ignorews_url(request.GET)} | |
153 | | |
|
153 | | | |
154 | ${c.context_url(request.GET)} |
|
154 | ${c.context_url(request.GET)} | |
155 | </div> |
|
155 | </div> | |
156 | </div> |
|
156 | </div> | |
157 | </div> |
|
157 | </div> | |
158 |
|
158 | |||
159 | <div class="fieldset"> |
|
159 | <div class="fieldset"> | |
160 | <div class="left-label"> |
|
160 | <div class="left-label"> | |
161 | ${_('Comments')}: |
|
161 | ${_('Comments')}: | |
162 | </div> |
|
162 | </div> | |
163 | <div class="right-content"> |
|
163 | <div class="right-content"> | |
164 | <div class="comments-number"> |
|
164 | <div class="comments-number"> | |
165 | %if c.comments: |
|
165 | %if c.comments: | |
166 | <a href="#comments">${ungettext("%d Commit comment", "%d Commit comments", len(c.comments)) % len(c.comments)}</a>, |
|
166 | <a href="#comments">${ungettext("%d Commit comment", "%d Commit comments", len(c.comments)) % len(c.comments)}</a>, | |
167 | %else: |
|
167 | %else: | |
168 | ${ungettext("%d Commit comment", "%d Commit comments", len(c.comments)) % len(c.comments)} |
|
168 | ${ungettext("%d Commit comment", "%d Commit comments", len(c.comments)) % len(c.comments)} | |
169 | %endif |
|
169 | %endif | |
170 | %if c.inline_cnt: |
|
170 | %if c.inline_cnt: | |
171 | <a href="#" onclick="return Rhodecode.comments.nextComment();" id="inline-comments-counter">${ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt}</a> |
|
171 | <a href="#" onclick="return Rhodecode.comments.nextComment();" id="inline-comments-counter">${ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt}</a> | |
172 | %else: |
|
172 | %else: | |
173 | ${ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt} |
|
173 | ${ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt} | |
174 | %endif |
|
174 | %endif | |
175 | </div> |
|
175 | </div> | |
176 | </div> |
|
176 | </div> | |
177 | </div> |
|
177 | </div> | |
178 |
|
178 | |||
179 | <div class="fieldset"> |
|
179 | <div class="fieldset"> | |
180 | <div class="left-label"> |
|
180 | <div class="left-label"> | |
181 | ${_('Unresolved TODOs')}: |
|
181 | ${_('Unresolved TODOs')}: | |
182 | </div> |
|
182 | </div> | |
183 | <div class="right-content"> |
|
183 | <div class="right-content"> | |
184 | <div class="comments-number"> |
|
184 | <div class="comments-number"> | |
185 | % if c.unresolved_comments: |
|
185 | % if c.unresolved_comments: | |
186 | % for co in c.unresolved_comments: |
|
186 | % for co in c.unresolved_comments: | |
187 | <a class="permalink" href="#comment-${co.comment_id}" onclick="Rhodecode.comments.scrollToComment($('#comment-${co.comment_id}'))"> #${co.comment_id}</a>${'' if loop.last else ','} |
|
187 | <a class="permalink" href="#comment-${co.comment_id}" onclick="Rhodecode.comments.scrollToComment($('#comment-${co.comment_id}'))"> #${co.comment_id}</a>${'' if loop.last else ','} | |
188 | % endfor |
|
188 | % endfor | |
189 | % else: |
|
189 | % else: | |
190 | ${_('There are no unresolved TODOs')} |
|
190 | ${_('There are no unresolved TODOs')} | |
191 | % endif |
|
191 | % endif | |
192 | </div> |
|
192 | </div> | |
193 | </div> |
|
193 | </div> | |
194 | </div> |
|
194 | </div> | |
195 |
|
195 | |||
196 | </div> <!-- end summary-detail --> |
|
196 | </div> <!-- end summary-detail --> | |
197 |
|
197 | |||
198 | <div id="commit-stats" class="sidebar-right"> |
|
198 | <div id="commit-stats" class="sidebar-right"> | |
199 | <div class="summary-detail-header"> |
|
199 | <div class="summary-detail-header"> | |
200 | <h4 class="item"> |
|
200 | <h4 class="item"> | |
201 | ${_('Author')} |
|
201 | ${_('Author')} | |
202 | </h4> |
|
202 | </h4> | |
203 | </div> |
|
203 | </div> | |
204 | <div class="sidebar-right-content"> |
|
204 | <div class="sidebar-right-content"> | |
205 | ${self.gravatar_with_user(c.commit.author)} |
|
205 | ${self.gravatar_with_user(c.commit.author)} | |
206 | <div class="user-inline-data">- ${h.age_component(c.commit.date)}</div> |
|
206 | <div class="user-inline-data">- ${h.age_component(c.commit.date)}</div> | |
207 | </div> |
|
207 | </div> | |
208 | </div><!-- end sidebar --> |
|
208 | </div><!-- end sidebar --> | |
209 | </div> <!-- end summary --> |
|
209 | </div> <!-- end summary --> | |
210 | <div class="cs_files"> |
|
210 | <div class="cs_files"> | |
211 | <%namespace name="cbdiffs" file="/codeblocks/diffs.mako"/> |
|
211 | <%namespace name="cbdiffs" file="/codeblocks/diffs.mako"/> | |
212 | ${cbdiffs.render_diffset_menu()} |
|
212 | ${cbdiffs.render_diffset_menu()} | |
213 | ${cbdiffs.render_diffset( |
|
213 | ${cbdiffs.render_diffset( | |
214 | c.changes[c.commit.raw_id], commit=c.commit, use_comments=True)} |
|
214 | c.changes[c.commit.raw_id], commit=c.commit, use_comments=True)} | |
215 | </div> |
|
215 | </div> | |
216 |
|
216 | |||
217 | ## template for inline comment form |
|
217 | ## template for inline comment form | |
218 | <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/> |
|
218 | <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/> | |
219 |
|
219 | |||
220 | ## render comments |
|
220 | ## render comments | |
221 | ${comment.generate_comments(c.comments)} |
|
221 | ${comment.generate_comments(c.comments)} | |
222 |
|
222 | |||
223 | ## main comment form and it status |
|
223 | ## main comment form and it status | |
224 | ${comment.comments(h.url('changeset_comment', repo_name=c.repo_name, revision=c.commit.raw_id), |
|
224 | ${comment.comments(h.url('changeset_comment', repo_name=c.repo_name, revision=c.commit.raw_id), | |
225 | h.commit_status(c.rhodecode_db_repo, c.commit.raw_id))} |
|
225 | h.commit_status(c.rhodecode_db_repo, c.commit.raw_id))} | |
226 | </div> |
|
226 | </div> | |
227 |
|
227 | |||
228 | ## FORM FOR MAKING JS ACTION AS CHANGESET COMMENTS |
|
228 | ## FORM FOR MAKING JS ACTION AS CHANGESET COMMENTS | |
229 | <script type="text/javascript"> |
|
229 | <script type="text/javascript"> | |
230 |
|
230 | |||
231 | $(document).ready(function() { |
|
231 | $(document).ready(function() { | |
232 |
|
232 | |||
233 | var boxmax = parseInt($('#trimmed_message_box').css('max-height'), 10); |
|
233 | var boxmax = parseInt($('#trimmed_message_box').css('max-height'), 10); | |
234 | if($('#trimmed_message_box').height() === boxmax){ |
|
234 | if($('#trimmed_message_box').height() === boxmax){ | |
235 | $('#message_expand').show(); |
|
235 | $('#message_expand').show(); | |
236 | } |
|
236 | } | |
237 |
|
237 | |||
238 | $('#message_expand').on('click', function(e){ |
|
238 | $('#message_expand').on('click', function(e){ | |
239 | $('#trimmed_message_box').css('max-height', 'none'); |
|
239 | $('#trimmed_message_box').css('max-height', 'none'); | |
240 | $(this).hide(); |
|
240 | $(this).hide(); | |
241 | }); |
|
241 | }); | |
242 |
|
242 | |||
243 | $('.show-inline-comments').on('click', function(e){ |
|
243 | $('.show-inline-comments').on('click', function(e){ | |
244 | var boxid = $(this).attr('data-comment-id'); |
|
244 | var boxid = $(this).attr('data-comment-id'); | |
245 | var button = $(this); |
|
245 | var button = $(this); | |
246 |
|
246 | |||
247 | if(button.hasClass("comments-visible")) { |
|
247 | if(button.hasClass("comments-visible")) { | |
248 | $('#{0} .inline-comments'.format(boxid)).each(function(index){ |
|
248 | $('#{0} .inline-comments'.format(boxid)).each(function(index){ | |
249 | $(this).hide(); |
|
249 | $(this).hide(); | |
250 | }); |
|
250 | }); | |
251 | button.removeClass("comments-visible"); |
|
251 | button.removeClass("comments-visible"); | |
252 | } else { |
|
252 | } else { | |
253 | $('#{0} .inline-comments'.format(boxid)).each(function(index){ |
|
253 | $('#{0} .inline-comments'.format(boxid)).each(function(index){ | |
254 | $(this).show(); |
|
254 | $(this).show(); | |
255 | }); |
|
255 | }); | |
256 | button.addClass("comments-visible"); |
|
256 | button.addClass("comments-visible"); | |
257 | } |
|
257 | } | |
258 | }); |
|
258 | }); | |
259 |
|
259 | |||
260 |
|
260 | |||
261 | // next links |
|
261 | // next links | |
262 | $('#child_link').on('click', function(e){ |
|
262 | $('#child_link').on('click', function(e){ | |
263 | // fetch via ajax what is going to be the next link, if we have |
|
263 | // fetch via ajax what is going to be the next link, if we have | |
264 | // >1 links show them to user to choose |
|
264 | // >1 links show them to user to choose | |
265 | if(!$('#child_link').hasClass('disabled')){ |
|
265 | if(!$('#child_link').hasClass('disabled')){ | |
266 | $.ajax({ |
|
266 | $.ajax({ | |
267 | url: '${h.url('changeset_children',repo_name=c.repo_name, revision=c.commit.raw_id)}', |
|
267 | url: '${h.url('changeset_children',repo_name=c.repo_name, revision=c.commit.raw_id)}', | |
268 | success: function(data) { |
|
268 | success: function(data) { | |
269 | if(data.results.length === 0){ |
|
269 | if(data.results.length === 0){ | |
270 | $('#child_link').html("${_('No Child Commits')}").addClass('disabled'); |
|
270 | $('#child_link').html("${_('No Child Commits')}").addClass('disabled'); | |
271 | } |
|
271 | } | |
272 | if(data.results.length === 1){ |
|
272 | if(data.results.length === 1){ | |
273 | var commit = data.results[0]; |
|
273 | var commit = data.results[0]; | |
274 | window.location = pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': commit.raw_id}); |
|
274 | window.location = pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': commit.raw_id}); | |
275 | } |
|
275 | } | |
276 | else if(data.results.length === 2){ |
|
276 | else if(data.results.length === 2){ | |
277 | $('#child_link').addClass('disabled'); |
|
277 | $('#child_link').addClass('disabled'); | |
278 | $('#child_link').addClass('double'); |
|
278 | $('#child_link').addClass('double'); | |
279 | var _html = ''; |
|
279 | var _html = ''; | |
280 | _html +='<a title="__title__" href="__url__">__rev__</a> ' |
|
280 | _html +='<a title="__title__" href="__url__">__rev__</a> ' | |
281 | .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6))) |
|
281 | .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6))) | |
282 | .replace('__title__', data.results[0].message) |
|
282 | .replace('__title__', data.results[0].message) | |
283 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': data.results[0].raw_id})); |
|
283 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': data.results[0].raw_id})); | |
284 | _html +=' | '; |
|
284 | _html +=' | '; | |
285 | _html +='<a title="__title__" href="__url__">__rev__</a> ' |
|
285 | _html +='<a title="__title__" href="__url__">__rev__</a> ' | |
286 | .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6))) |
|
286 | .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6))) | |
287 | .replace('__title__', data.results[1].message) |
|
287 | .replace('__title__', data.results[1].message) | |
288 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': data.results[1].raw_id})); |
|
288 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': data.results[1].raw_id})); | |
289 | $('#child_link').html(_html); |
|
289 | $('#child_link').html(_html); | |
290 | } |
|
290 | } | |
291 | } |
|
291 | } | |
292 | }); |
|
292 | }); | |
293 | e.preventDefault(); |
|
293 | e.preventDefault(); | |
294 | } |
|
294 | } | |
295 | }); |
|
295 | }); | |
296 |
|
296 | |||
297 | // prev links |
|
297 | // prev links | |
298 | $('#parent_link').on('click', function(e){ |
|
298 | $('#parent_link').on('click', function(e){ | |
299 | // fetch via ajax what is going to be the next link, if we have |
|
299 | // fetch via ajax what is going to be the next link, if we have | |
300 | // >1 links show them to user to choose |
|
300 | // >1 links show them to user to choose | |
301 | if(!$('#parent_link').hasClass('disabled')){ |
|
301 | if(!$('#parent_link').hasClass('disabled')){ | |
302 | $.ajax({ |
|
302 | $.ajax({ | |
303 | url: '${h.url("changeset_parents",repo_name=c.repo_name, revision=c.commit.raw_id)}', |
|
303 | url: '${h.url("changeset_parents",repo_name=c.repo_name, revision=c.commit.raw_id)}', | |
304 | success: function(data) { |
|
304 | success: function(data) { | |
305 | if(data.results.length === 0){ |
|
305 | if(data.results.length === 0){ | |
306 | $('#parent_link').html('${_('No Parent Commits')}').addClass('disabled'); |
|
306 | $('#parent_link').html('${_('No Parent Commits')}').addClass('disabled'); | |
307 | } |
|
307 | } | |
308 | if(data.results.length === 1){ |
|
308 | if(data.results.length === 1){ | |
309 | var commit = data.results[0]; |
|
309 | var commit = data.results[0]; | |
310 | window.location = pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': commit.raw_id}); |
|
310 | window.location = pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': commit.raw_id}); | |
311 | } |
|
311 | } | |
312 | else if(data.results.length === 2){ |
|
312 | else if(data.results.length === 2){ | |
313 | $('#parent_link').addClass('disabled'); |
|
313 | $('#parent_link').addClass('disabled'); | |
314 | $('#parent_link').addClass('double'); |
|
314 | $('#parent_link').addClass('double'); | |
315 | var _html = ''; |
|
315 | var _html = ''; | |
316 | _html +='<a title="__title__" href="__url__">Parent __rev__</a>' |
|
316 | _html +='<a title="__title__" href="__url__">Parent __rev__</a>' | |
317 | .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6))) |
|
317 | .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6))) | |
318 | .replace('__title__', data.results[0].message) |
|
318 | .replace('__title__', data.results[0].message) | |
319 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': data.results[0].raw_id})); |
|
319 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': data.results[0].raw_id})); | |
320 | _html +=' | '; |
|
320 | _html +=' | '; | |
321 | _html +='<a title="__title__" href="__url__">Parent __rev__</a>' |
|
321 | _html +='<a title="__title__" href="__url__">Parent __rev__</a>' | |
322 | .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6))) |
|
322 | .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6))) | |
323 | .replace('__title__', data.results[1].message) |
|
323 | .replace('__title__', data.results[1].message) | |
324 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': data.results[1].raw_id})); |
|
324 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': data.results[1].raw_id})); | |
325 | $('#parent_link').html(_html); |
|
325 | $('#parent_link').html(_html); | |
326 | } |
|
326 | } | |
327 | } |
|
327 | } | |
328 | }); |
|
328 | }); | |
329 | e.preventDefault(); |
|
329 | e.preventDefault(); | |
330 | } |
|
330 | } | |
331 | }); |
|
331 | }); | |
332 |
|
332 | |||
333 | if (location.hash) { |
|
333 | if (location.hash) { | |
334 | var result = splitDelimitedHash(location.hash); |
|
334 | var result = splitDelimitedHash(location.hash); | |
335 | var line = $('html').find(result.loc); |
|
335 | var line = $('html').find(result.loc); | |
336 | if (line.length > 0){ |
|
336 | if (line.length > 0){ | |
337 | offsetScroll(line, 70); |
|
337 | offsetScroll(line, 70); | |
338 | } |
|
338 | } | |
339 | } |
|
339 | } | |
340 |
|
340 | |||
341 | // browse tree @ revision |
|
341 | // browse tree @ revision | |
342 | $('#files_link').on('click', function(e){ |
|
342 | $('#files_link').on('click', function(e){ | |
343 | window.location = '${h.route_path('repo_files:default_path',repo_name=c.repo_name, commit_id=c.commit.raw_id)}'; |
|
343 | window.location = '${h.route_path('repo_files:default_path',repo_name=c.repo_name, commit_id=c.commit.raw_id)}'; | |
344 | e.preventDefault(); |
|
344 | e.preventDefault(); | |
345 | }); |
|
345 | }); | |
346 |
|
346 | |||
347 | // inject comments into their proper positions |
|
347 | // inject comments into their proper positions | |
348 | var file_comments = $('.inline-comment-placeholder'); |
|
348 | var file_comments = $('.inline-comment-placeholder'); | |
349 | }) |
|
349 | }) | |
350 | </script> |
|
350 | </script> | |
351 |
|
351 | |||
352 | </%def> |
|
352 | </%def> |
@@ -1,49 +1,49 b'' | |||||
1 |
|
1 | |||
2 | <div id="codeblock" class="browserblock"> |
|
2 | <div id="codeblock" class="browserblock"> | |
3 | <div class="browser-header"> |
|
3 | <div class="browser-header"> | |
4 | <div class="browser-nav"> |
|
4 | <div class="browser-nav"> | |
5 | ${h.form(h.url.current(), method='GET', id='at_rev_form')} |
|
5 | ${h.form(h.url.current(), method='GET', id='at_rev_form')} | |
6 | <div class="info_box"> |
|
6 | <div class="info_box"> | |
7 | ${h.hidden('refs_filter')} |
|
7 | ${h.hidden('refs_filter')} | |
8 | <div class="info_box_elem previous"> |
|
8 | <div class="info_box_elem previous"> | |
9 |
<a id="prev_commit_link" data-commit-id="${c.prev_commit.raw_id}" class="pjax-link ${'disabled' if c.url_prev == '#' else ''}" href="${c.url_prev}" title="${_('Previous commit')}"><i class="icon- |
|
9 | <a id="prev_commit_link" data-commit-id="${c.prev_commit.raw_id}" class="pjax-link ${'disabled' if c.url_prev == '#' else ''}" href="${c.url_prev}" title="${_('Previous commit')}"><i class="icon-left"></i></a> | |
10 | </div> |
|
10 | </div> | |
11 | <div class="info_box_elem">${h.text('at_rev',value=c.commit.revision)}</div> |
|
11 | <div class="info_box_elem">${h.text('at_rev',value=c.commit.revision)}</div> | |
12 | <div class="info_box_elem next"> |
|
12 | <div class="info_box_elem next"> | |
13 |
<a id="next_commit_link" data-commit-id="${c.next_commit.raw_id}" class="pjax-link ${'disabled' if c.url_next == '#' else ''}" href="${c.url_next}" title="${_('Next commit')}"><i class="icon- |
|
13 | <a id="next_commit_link" data-commit-id="${c.next_commit.raw_id}" class="pjax-link ${'disabled' if c.url_next == '#' else ''}" href="${c.url_next}" title="${_('Next commit')}"><i class="icon-right"></i></a> | |
14 | </div> |
|
14 | </div> | |
15 | </div> |
|
15 | </div> | |
16 | ${h.end_form()} |
|
16 | ${h.end_form()} | |
17 |
|
17 | |||
18 | <div id="search_activate_id" class="search_activate"> |
|
18 | <div id="search_activate_id" class="search_activate"> | |
19 | <a class="btn btn-default" id="filter_activate" href="javascript:void(0)">${_('Search File List')}</a> |
|
19 | <a class="btn btn-default" id="filter_activate" href="javascript:void(0)">${_('Search File List')}</a> | |
20 | </div> |
|
20 | </div> | |
21 | <div id="search_deactivate_id" class="search_activate hidden"> |
|
21 | <div id="search_deactivate_id" class="search_activate hidden"> | |
22 | <a class="btn btn-default" id="filter_deactivate" href="javascript:void(0)">${_('Close File List')}</a> |
|
22 | <a class="btn btn-default" id="filter_deactivate" href="javascript:void(0)">${_('Close File List')}</a> | |
23 | </div> |
|
23 | </div> | |
24 | % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name): |
|
24 | % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name): | |
25 | <div title="${_('Add New File')}" class="btn btn-primary new-file"> |
|
25 | <div title="${_('Add New File')}" class="btn btn-primary new-file"> | |
26 | <a href="${h.route_path('repo_files_add_file',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path, _anchor='edit')}"> |
|
26 | <a href="${h.route_path('repo_files_add_file',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path, _anchor='edit')}"> | |
27 | ${_('Add File')}</a> |
|
27 | ${_('Add File')}</a> | |
28 | </div> |
|
28 | </div> | |
29 | % endif |
|
29 | % endif | |
30 | </div> |
|
30 | </div> | |
31 |
|
31 | |||
32 | <div class="browser-search"> |
|
32 | <div class="browser-search"> | |
33 | <div class="node-filter"> |
|
33 | <div class="node-filter"> | |
34 | <div class="node_filter_box hidden" id="node_filter_box_loading" >${_('Loading file list...')}</div> |
|
34 | <div class="node_filter_box hidden" id="node_filter_box_loading" >${_('Loading file list...')}</div> | |
35 | <div class="node_filter_box hidden" id="node_filter_box" > |
|
35 | <div class="node_filter_box hidden" id="node_filter_box" > | |
36 | <div class="node-filter-path">${h.get_last_path_part(c.file)}/</div> |
|
36 | <div class="node-filter-path">${h.get_last_path_part(c.file)}/</div> | |
37 | <div class="node-filter-input"> |
|
37 | <div class="node-filter-input"> | |
38 | <input class="init" type="text" name="filter" size="25" id="node_filter" autocomplete="off"> |
|
38 | <input class="init" type="text" name="filter" size="25" id="node_filter" autocomplete="off"> | |
39 | </div> |
|
39 | </div> | |
40 | </div> |
|
40 | </div> | |
41 | </div> |
|
41 | </div> | |
42 | </div> |
|
42 | </div> | |
43 | </div> |
|
43 | </div> | |
44 | ## file tree is computed from caches, and filled in |
|
44 | ## file tree is computed from caches, and filled in | |
45 | <div id="file-tree"> |
|
45 | <div id="file-tree"> | |
46 | ${c.file_tree |n} |
|
46 | ${c.file_tree |n} | |
47 | </div> |
|
47 | </div> | |
48 |
|
48 | |||
49 | </div> |
|
49 | </div> |
@@ -1,82 +1,82 b'' | |||||
1 | <div id="file-tree-wrapper" class="browser-body ${'full-load' if c.full_load else ''}"> |
|
1 | <div id="file-tree-wrapper" class="browser-body ${'full-load' if c.full_load else ''}"> | |
2 | <table class="code-browser rctable"> |
|
2 | <table class="code-browser rctable"> | |
3 | <thead> |
|
3 | <thead> | |
4 | <tr> |
|
4 | <tr> | |
5 | <th>${_('Name')}</th> |
|
5 | <th>${_('Name')}</th> | |
6 | <th>${_('Size')}</th> |
|
6 | <th>${_('Size')}</th> | |
7 | <th>${_('Modified')}</th> |
|
7 | <th>${_('Modified')}</th> | |
8 | <th>${_('Last Commit')}</th> |
|
8 | <th>${_('Last Commit')}</th> | |
9 | <th>${_('Author')}</th> |
|
9 | <th>${_('Author')}</th> | |
10 | </tr> |
|
10 | </tr> | |
11 | </thead> |
|
11 | </thead> | |
12 |
|
12 | |||
13 | <tbody id="tbody"> |
|
13 | <tbody id="tbody"> | |
14 | %if c.file.parent: |
|
14 | %if c.file.parent: | |
15 | <tr class="parity0"> |
|
15 | <tr class="parity0"> | |
16 | <td class="td-componentname"> |
|
16 | <td class="td-componentname"> | |
17 | <a href="${h.route_path('repo_files',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.file.parent.path)}" class="pjax-link"> |
|
17 | <a href="${h.route_path('repo_files',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.file.parent.path)}" class="pjax-link"> | |
18 |
<i class="icon- |
|
18 | <i class="icon-directory"></i>.. | |
19 | </a> |
|
19 | </a> | |
20 | </td> |
|
20 | </td> | |
21 | <td></td> |
|
21 | <td></td> | |
22 | <td></td> |
|
22 | <td></td> | |
23 | <td></td> |
|
23 | <td></td> | |
24 | <td></td> |
|
24 | <td></td> | |
25 | </tr> |
|
25 | </tr> | |
26 | %endif |
|
26 | %endif | |
27 | %for cnt,node in enumerate(c.file): |
|
27 | %for cnt,node in enumerate(c.file): | |
28 | <tr class="parity${cnt%2}"> |
|
28 | <tr class="parity${cnt%2}"> | |
29 | <td class="td-componentname"> |
|
29 | <td class="td-componentname"> | |
30 | % if node.is_submodule(): |
|
30 | % if node.is_submodule(): | |
31 | <span class="submodule-dir"> |
|
31 | <span class="submodule-dir"> | |
32 | % if node.url.startswith('http://') or node.url.startswith('https://'): |
|
32 | % if node.url.startswith('http://') or node.url.startswith('https://'): | |
33 | <a href="${node.url}"> |
|
33 | <a href="${node.url}"> | |
34 |
<i class="icon- |
|
34 | <i class="icon-directory browser-dir"></i>${node.name} | |
35 | </a> |
|
35 | </a> | |
36 | % else: |
|
36 | % else: | |
37 |
<i class="icon- |
|
37 | <i class="icon-directory browser-dir"></i>${node.name} | |
38 | % endif |
|
38 | % endif | |
39 | </span> |
|
39 | </span> | |
40 | % else: |
|
40 | % else: | |
41 | <a href="${h.route_path('repo_files',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=h.safe_unicode(node.path))}" class="pjax-link"> |
|
41 | <a href="${h.route_path('repo_files',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=h.safe_unicode(node.path))}" class="pjax-link"> | |
42 |
<i class="${'icon-file browser-file' if node.is_file() else 'icon- |
|
42 | <i class="${'icon-file-text browser-file' if node.is_file() else 'icon-directory browser-dir'}"></i>${node.name} | |
43 | </a> |
|
43 | </a> | |
44 | % endif |
|
44 | % endif | |
45 | </td> |
|
45 | </td> | |
46 | %if node.is_file(): |
|
46 | %if node.is_file(): | |
47 | <td class="td-size" data-attr-name="size"> |
|
47 | <td class="td-size" data-attr-name="size"> | |
48 | % if c.full_load: |
|
48 | % if c.full_load: | |
49 | <span data-size="${node.size}">${h.format_byte_size_binary(node.size)}</span> |
|
49 | <span data-size="${node.size}">${h.format_byte_size_binary(node.size)}</span> | |
50 | % else: |
|
50 | % else: | |
51 | ${_('Loading ...')} |
|
51 | ${_('Loading ...')} | |
52 | % endif |
|
52 | % endif | |
53 | </td> |
|
53 | </td> | |
54 | <td class="td-time" data-attr-name="modified_at"> |
|
54 | <td class="td-time" data-attr-name="modified_at"> | |
55 | % if c.full_load: |
|
55 | % if c.full_load: | |
56 | <span data-date="${node.last_commit.date}">${h.age_component(node.last_commit.date)}</span> |
|
56 | <span data-date="${node.last_commit.date}">${h.age_component(node.last_commit.date)}</span> | |
57 | % endif |
|
57 | % endif | |
58 | </td> |
|
58 | </td> | |
59 | <td class="td-hash" data-attr-name="commit_id"> |
|
59 | <td class="td-hash" data-attr-name="commit_id"> | |
60 | % if c.full_load: |
|
60 | % if c.full_load: | |
61 | <div class="tooltip" title="${h.tooltip(node.last_commit.message)}"> |
|
61 | <div class="tooltip" title="${h.tooltip(node.last_commit.message)}"> | |
62 | <pre data-commit-id="${node.last_commit.raw_id}">r${node.last_commit.revision}:${node.last_commit.short_id}</pre> |
|
62 | <pre data-commit-id="${node.last_commit.raw_id}">r${node.last_commit.revision}:${node.last_commit.short_id}</pre> | |
63 | </div> |
|
63 | </div> | |
64 | % endif |
|
64 | % endif | |
65 | </td> |
|
65 | </td> | |
66 | <td class="td-user" data-attr-name="author"> |
|
66 | <td class="td-user" data-attr-name="author"> | |
67 | % if c.full_load: |
|
67 | % if c.full_load: | |
68 | <span data-author="${node.last_commit.author}" title="${h.tooltip(node.last_commit.author)}">${h.gravatar_with_user(node.last_commit.author)|n}</span> |
|
68 | <span data-author="${node.last_commit.author}" title="${h.tooltip(node.last_commit.author)}">${h.gravatar_with_user(node.last_commit.author)|n}</span> | |
69 | % endif |
|
69 | % endif | |
70 | </td> |
|
70 | </td> | |
71 | %else: |
|
71 | %else: | |
72 | <td></td> |
|
72 | <td></td> | |
73 | <td></td> |
|
73 | <td></td> | |
74 | <td></td> |
|
74 | <td></td> | |
75 | <td></td> |
|
75 | <td></td> | |
76 | %endif |
|
76 | %endif | |
77 | </tr> |
|
77 | </tr> | |
78 | %endfor |
|
78 | %endfor | |
79 | </tbody> |
|
79 | </tbody> | |
80 | <tbody id="tbody_filtered"></tbody> |
|
80 | <tbody id="tbody_filtered"></tbody> | |
81 | </table> |
|
81 | </table> | |
82 | </div> |
|
82 | </div> |
@@ -1,93 +1,98 b'' | |||||
1 | <%namespace name="sourceblock" file="/codeblocks/source.mako"/> |
|
1 | <%namespace name="sourceblock" file="/codeblocks/source.mako"/> | |
2 |
|
2 | |||
3 | <div id="codeblock" class="codeblock"> |
|
3 | <div id="codeblock" class="codeblock"> | |
4 | <div class="codeblock-header"> |
|
4 | <div class="codeblock-header"> | |
5 | <div class="stats"> |
|
5 | <div class="stats"> | |
6 | <span> <strong>${c.file}</strong></span> |
|
6 | <span> | |
|
7 | <strong> | |||
|
8 | <i class="icon-file-text"></i> | |||
|
9 | ${c.file} | |||
|
10 | </strong> | |||
|
11 | </span> | |||
7 | % if c.lf_node: |
|
12 | % if c.lf_node: | |
8 | <span title="${_('This file is a pointer to large binary file')}"> | ${_('LargeFile')} ${h.format_byte_size_binary(c.lf_node.size)} </span> |
|
13 | <span title="${_('This file is a pointer to large binary file')}"> | ${_('LargeFile')} ${h.format_byte_size_binary(c.lf_node.size)} </span> | |
9 | % endif |
|
14 | % endif | |
10 | <span> | ${c.file.lines()[0]} ${_ungettext('line', 'lines', c.file.lines()[0])}</span> |
|
15 | <span> | ${c.file.lines()[0]} ${_ungettext('line', 'lines', c.file.lines()[0])}</span> | |
11 | <span> | ${h.format_byte_size_binary(c.file.size)}</span> |
|
16 | <span> | ${h.format_byte_size_binary(c.file.size)}</span> | |
12 | <span> | ${c.file.mimetype} </span> |
|
17 | <span> | ${c.file.mimetype} </span> | |
13 | <span> | ${h.get_lexer_for_filenode(c.file).__class__.__name__}</span> |
|
18 | <span> | ${h.get_lexer_for_filenode(c.file).__class__.__name__}</span> | |
14 | <span class="item last"> | <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.file.path}" title="${_('Copy the full path')}"></i></span> |
|
19 | <span class="item last"> | <i class="tooltip icon-clipboard clipboard-action" data-clipboard-text="${c.file.path}" title="${_('Copy the full path')}"></i></span> | |
15 | </div> |
|
20 | </div> | |
16 | <div class="buttons"> |
|
21 | <div class="buttons"> | |
17 | <a id="file_history_overview" href="#"> |
|
22 | <a id="file_history_overview" href="#"> | |
18 | ${_('History')} |
|
23 | ${_('History')} | |
19 | </a> |
|
24 | </a> | |
20 | <a id="file_history_overview_full" style="display: none" href="${h.route_path('repo_changelog_file',repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.f_path)}"> |
|
25 | <a id="file_history_overview_full" style="display: none" href="${h.route_path('repo_changelog_file',repo_name=c.repo_name, commit_id=c.commit.raw_id, f_path=c.f_path)}"> | |
21 | ${_('Show Full History')} |
|
26 | ${_('Show Full History')} | |
22 | </a> | |
|
27 | </a> | | |
23 | %if c.annotate: |
|
28 | %if c.annotate: | |
24 | ${h.link_to(_('Source'), h.route_path('repo_files', repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} |
|
29 | ${h.link_to(_('Source'), h.route_path('repo_files', repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} | |
25 | %else: |
|
30 | %else: | |
26 | ${h.link_to(_('Annotation'), h.route_path('repo_files:annotated',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} |
|
31 | ${h.link_to(_('Annotation'), h.route_path('repo_files:annotated',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} | |
27 | %endif |
|
32 | %endif | |
28 | | ${h.link_to(_('Raw'), h.route_path('repo_file_raw',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} |
|
33 | | ${h.link_to(_('Raw'), h.route_path('repo_file_raw',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} | |
29 | | |
|
34 | | | |
30 | % if c.lf_node: |
|
35 | % if c.lf_node: | |
31 | <a href="${h.route_path('repo_file_download',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path, _query=dict(lf=1))}"> |
|
36 | <a href="${h.route_path('repo_file_download',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path, _query=dict(lf=1))}"> | |
32 | ${_('Download largefile')} |
|
37 | ${_('Download largefile')} | |
33 | </a> |
|
38 | </a> | |
34 | % else: |
|
39 | % else: | |
35 | <a href="${h.route_path('repo_file_download',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path)}"> |
|
40 | <a href="${h.route_path('repo_file_download',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path)}"> | |
36 | ${_('Download')} |
|
41 | ${_('Download')} | |
37 | </a> |
|
42 | </a> | |
38 | % endif |
|
43 | % endif | |
39 |
|
44 | |||
40 | %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name): |
|
45 | %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name): | |
41 | | |
|
46 | | | |
42 | %if c.on_branch_head and c.branch_or_raw_id and not c.file.is_binary: |
|
47 | %if c.on_branch_head and c.branch_or_raw_id and not c.file.is_binary: | |
43 | <a href="${h.route_path('repo_files_edit_file',repo_name=c.repo_name,commit_id=c.branch_or_raw_id,f_path=c.f_path, _anchor='edit')}"> |
|
48 | <a href="${h.route_path('repo_files_edit_file',repo_name=c.repo_name,commit_id=c.branch_or_raw_id,f_path=c.f_path, _anchor='edit')}"> | |
44 | ${_('Edit on Branch:{}').format(c.branch_name)} |
|
49 | ${_('Edit on Branch:{}').format(c.branch_name)} | |
45 | </a> |
|
50 | </a> | |
46 | | <a class="btn-danger btn-link" href="${h.route_path('repo_files_remove_file',repo_name=c.repo_name,commit_id=c.branch_or_raw_id,f_path=c.f_path, _anchor='edit')}">${_('Delete')} |
|
51 | | <a class="btn-danger btn-link" href="${h.route_path('repo_files_remove_file',repo_name=c.repo_name,commit_id=c.branch_or_raw_id,f_path=c.f_path, _anchor='edit')}">${_('Delete')} | |
47 | </a> |
|
52 | </a> | |
48 | %elif c.on_branch_head and c.branch_or_raw_id and c.file.is_binary: |
|
53 | %elif c.on_branch_head and c.branch_or_raw_id and c.file.is_binary: | |
49 | ${h.link_to(_('Edit'), '#', class_="btn btn-link disabled tooltip", title=_('Editing binary files not allowed'))} |
|
54 | ${h.link_to(_('Edit'), '#', class_="btn btn-link disabled tooltip", title=_('Editing binary files not allowed'))} | |
50 | | ${h.link_to(_('Delete'), h.route_path('repo_files_remove_file',repo_name=c.repo_name,commit_id=c.branch_or_raw_id,f_path=c.f_path, _anchor='edit'),class_="btn-danger btn-link")} |
|
55 | | ${h.link_to(_('Delete'), h.route_path('repo_files_remove_file',repo_name=c.repo_name,commit_id=c.branch_or_raw_id,f_path=c.f_path, _anchor='edit'),class_="btn-danger btn-link")} | |
51 | %else: |
|
56 | %else: | |
52 | ${h.link_to(_('Edit'), '#', class_="btn btn-link disabled tooltip", title=_('Editing files allowed only when on branch head commit'))} |
|
57 | ${h.link_to(_('Edit'), '#', class_="btn btn-link disabled tooltip", title=_('Editing files allowed only when on branch head commit'))} | |
53 | | ${h.link_to(_('Delete'), '#', class_="btn btn-danger btn-link disabled tooltip", title=_('Deleting files allowed only when on branch head commit'))} |
|
58 | | ${h.link_to(_('Delete'), '#', class_="btn btn-danger btn-link disabled tooltip", title=_('Deleting files allowed only when on branch head commit'))} | |
54 | %endif |
|
59 | %endif | |
55 | %endif |
|
60 | %endif | |
56 | </div> |
|
61 | </div> | |
57 | </div> |
|
62 | </div> | |
58 | <div id="file_history_container"></div> |
|
63 | <div id="file_history_container"></div> | |
59 | <div class="code-body"> |
|
64 | <div class="code-body"> | |
60 | %if c.file.is_binary: |
|
65 | %if c.file.is_binary: | |
61 | <% rendered_binary = h.render_binary(c.repo_name, c.file)%> |
|
66 | <% rendered_binary = h.render_binary(c.repo_name, c.file)%> | |
62 | % if rendered_binary: |
|
67 | % if rendered_binary: | |
63 | ${rendered_binary} |
|
68 | ${rendered_binary} | |
64 | % else: |
|
69 | % else: | |
65 | <div> |
|
70 | <div> | |
66 | ${_('Binary file (%s)') % c.file.mimetype} |
|
71 | ${_('Binary file (%s)') % c.file.mimetype} | |
67 | </div> |
|
72 | </div> | |
68 | % endif |
|
73 | % endif | |
69 | %else: |
|
74 | %else: | |
70 | % if c.file.size < c.visual.cut_off_limit_file: |
|
75 | % if c.file.size < c.visual.cut_off_limit_file: | |
71 | %if c.renderer and not c.annotate: |
|
76 | %if c.renderer and not c.annotate: | |
72 | ${h.render(c.file.content, renderer=c.renderer, relative_url=h.route_path('repo_file_raw',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} |
|
77 | ${h.render(c.file.content, renderer=c.renderer, relative_url=h.route_path('repo_file_raw',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} | |
73 | %else: |
|
78 | %else: | |
74 | <table class="cb codehilite"> |
|
79 | <table class="cb codehilite"> | |
75 | %if c.annotate: |
|
80 | %if c.annotate: | |
76 | <% color_hasher = h.color_hasher() %> |
|
81 | <% color_hasher = h.color_hasher() %> | |
77 | %for annotation, lines in c.annotated_lines: |
|
82 | %for annotation, lines in c.annotated_lines: | |
78 | ${sourceblock.render_annotation_lines(annotation, lines, color_hasher)} |
|
83 | ${sourceblock.render_annotation_lines(annotation, lines, color_hasher)} | |
79 | %endfor |
|
84 | %endfor | |
80 | %else: |
|
85 | %else: | |
81 | %for line_num, tokens in enumerate(c.lines, 1): |
|
86 | %for line_num, tokens in enumerate(c.lines, 1): | |
82 | ${sourceblock.render_line(line_num, tokens)} |
|
87 | ${sourceblock.render_line(line_num, tokens)} | |
83 | %endfor |
|
88 | %endfor | |
84 | %endif |
|
89 | %endif | |
85 | </table> |
|
90 | </table> | |
86 | %endif |
|
91 | %endif | |
87 | %else: |
|
92 | %else: | |
88 | ${_('File size {} is bigger then allowed limit {}. ').format(h.format_byte_size_binary(c.file.size), h.format_byte_size_binary(c.visual.cut_off_limit_file))} ${h.link_to(_('Show as raw'), |
|
93 | ${_('File size {} is bigger then allowed limit {}. ').format(h.format_byte_size_binary(c.file.size), h.format_byte_size_binary(c.visual.cut_off_limit_file))} ${h.link_to(_('Show as raw'), | |
89 | h.route_path('repo_file_raw',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} |
|
94 | h.route_path('repo_file_raw',repo_name=c.repo_name,commit_id=c.commit.raw_id,f_path=c.f_path))} | |
90 | %endif |
|
95 | %endif | |
91 | %endif |
|
96 | %endif | |
92 | </div> |
|
97 | </div> | |
93 | </div> No newline at end of file |
|
98 | </div> |
@@ -1,63 +1,63 b'' | |||||
1 |
|
1 | |||
2 | <div class="pull-request-wrap"> |
|
2 | <div class="pull-request-wrap"> | |
3 |
|
3 | |||
4 | % if c.pr_merge_possible: |
|
4 | % if c.pr_merge_possible: | |
5 | <h2 class="merge-status"> |
|
5 | <h2 class="merge-status"> | |
6 |
<span class="merge-icon success"><i class="icon- |
|
6 | <span class="merge-icon success"><i class="icon-ok"></i></span> | |
7 | ${_('This pull request can be merged automatically.')} |
|
7 | ${_('This pull request can be merged automatically.')} | |
8 | </h2> |
|
8 | </h2> | |
9 | % else: |
|
9 | % else: | |
10 | <h2 class="merge-status"> |
|
10 | <h2 class="merge-status"> | |
11 | <span class="merge-icon warning"><i class="icon-false"></i></span> |
|
11 | <span class="merge-icon warning"><i class="icon-false"></i></span> | |
12 | ${_('Merge is not currently possible because of below failed checks.')} |
|
12 | ${_('Merge is not currently possible because of below failed checks.')} | |
13 | </h2> |
|
13 | </h2> | |
14 | % endif |
|
14 | % endif | |
15 |
|
15 | |||
16 | <ul> |
|
16 | <ul> | |
17 | % for pr_check_key, pr_check_details in c.pr_merge_errors.items(): |
|
17 | % for pr_check_key, pr_check_details in c.pr_merge_errors.items(): | |
18 | <% pr_check_type = pr_check_details['error_type'] %> |
|
18 | <% pr_check_type = pr_check_details['error_type'] %> | |
19 | <li> |
|
19 | <li> | |
20 | <span class="merge-message ${pr_check_type}" data-role="merge-message"> |
|
20 | <span class="merge-message ${pr_check_type}" data-role="merge-message"> | |
21 | - ${pr_check_details['message']} |
|
21 | - ${pr_check_details['message']} | |
22 | % if pr_check_key == 'todo': |
|
22 | % if pr_check_key == 'todo': | |
23 | % for co in pr_check_details['details']: |
|
23 | % for co in pr_check_details['details']: | |
24 | <a class="permalink" href="#comment-${co.comment_id}" onclick="Rhodecode.comments.scrollToComment($('#comment-${co.comment_id}'), 0, ${h.json.dumps(co.outdated)})"> #${co.comment_id}</a>${'' if loop.last else ','} |
|
24 | <a class="permalink" href="#comment-${co.comment_id}" onclick="Rhodecode.comments.scrollToComment($('#comment-${co.comment_id}'), 0, ${h.json.dumps(co.outdated)})"> #${co.comment_id}</a>${'' if loop.last else ','} | |
25 | % endfor |
|
25 | % endfor | |
26 | % endif |
|
26 | % endif | |
27 | </span> |
|
27 | </span> | |
28 | </li> |
|
28 | </li> | |
29 | % endfor |
|
29 | % endfor | |
30 | </ul> |
|
30 | </ul> | |
31 |
|
31 | |||
32 | <div class="pull-request-merge-actions"> |
|
32 | <div class="pull-request-merge-actions"> | |
33 | % if c.allowed_to_merge: |
|
33 | % if c.allowed_to_merge: | |
34 | <div class="pull-right"> |
|
34 | <div class="pull-right"> | |
35 | ${h.secure_form(h.url('pullrequest_merge', repo_name=c.repo_name, pull_request_id=c.pull_request.pull_request_id), id='merge_pull_request_form')} |
|
35 | ${h.secure_form(h.url('pullrequest_merge', repo_name=c.repo_name, pull_request_id=c.pull_request.pull_request_id), id='merge_pull_request_form')} | |
36 | <% merge_disabled = ' disabled' if c.pr_merge_possible is False else '' %> |
|
36 | <% merge_disabled = ' disabled' if c.pr_merge_possible is False else '' %> | |
37 | <a class="btn" href="#" onclick="refreshMergeChecks(); return false;">${_('refresh checks')}</a> |
|
37 | <a class="btn" href="#" onclick="refreshMergeChecks(); return false;">${_('refresh checks')}</a> | |
38 | <input type="submit" id="merge_pull_request" value="${_('Merge Pull Request')}" class="btn${merge_disabled}"${merge_disabled}> |
|
38 | <input type="submit" id="merge_pull_request" value="${_('Merge Pull Request')}" class="btn${merge_disabled}"${merge_disabled}> | |
39 | ${h.end_form()} |
|
39 | ${h.end_form()} | |
40 | </div> |
|
40 | </div> | |
41 | % elif c.rhodecode_user.username != h.DEFAULT_USER: |
|
41 | % elif c.rhodecode_user.username != h.DEFAULT_USER: | |
42 | <a class="btn" href="#" onclick="refreshMergeChecks(); return false;">${_('refresh checks')}</a> |
|
42 | <a class="btn" href="#" onclick="refreshMergeChecks(); return false;">${_('refresh checks')}</a> | |
43 | <input type="submit" value="${_('Merge Pull Request')}" class="btn disabled" disabled="disabled" title="${_('You are not allowed to merge this pull request.')}"> |
|
43 | <input type="submit" value="${_('Merge Pull Request')}" class="btn disabled" disabled="disabled" title="${_('You are not allowed to merge this pull request.')}"> | |
44 | % else: |
|
44 | % else: | |
45 | <input type="submit" value="${_('Login to Merge this Pull Request')}" class="btn disabled" disabled="disabled"> |
|
45 | <input type="submit" value="${_('Login to Merge this Pull Request')}" class="btn disabled" disabled="disabled"> | |
46 | % endif |
|
46 | % endif | |
47 | </div> |
|
47 | </div> | |
48 |
|
48 | |||
49 | % if c.allowed_to_close: |
|
49 | % if c.allowed_to_close: | |
50 | ## close PR action, injected later next to COMMENT button |
|
50 | ## close PR action, injected later next to COMMENT button | |
51 | <div id="close-pull-request-action" style="display: none"> |
|
51 | <div id="close-pull-request-action" style="display: none"> | |
52 | % if c.pull_request_review_status == c.REVIEW_STATUS_APPROVED: |
|
52 | % if c.pull_request_review_status == c.REVIEW_STATUS_APPROVED: | |
53 | <a class="btn btn-approved-status" href="#close-as-approved" onclick="closePullRequest('${c.REVIEW_STATUS_APPROVED}'); return false;"> |
|
53 | <a class="btn btn-approved-status" href="#close-as-approved" onclick="closePullRequest('${c.REVIEW_STATUS_APPROVED}'); return false;"> | |
54 | ${_('Close with status {}').format(h.commit_status_lbl(c.REVIEW_STATUS_APPROVED))} |
|
54 | ${_('Close with status {}').format(h.commit_status_lbl(c.REVIEW_STATUS_APPROVED))} | |
55 | </a> |
|
55 | </a> | |
56 | % else: |
|
56 | % else: | |
57 | <a class="btn btn-rejected-status" href="#close-as-rejected" onclick="closePullRequest('${c.REVIEW_STATUS_REJECTED}'); return false;"> |
|
57 | <a class="btn btn-rejected-status" href="#close-as-rejected" onclick="closePullRequest('${c.REVIEW_STATUS_REJECTED}'); return false;"> | |
58 | ${_('Close with status {}').format(h.commit_status_lbl(c.REVIEW_STATUS_REJECTED))} |
|
58 | ${_('Close with status {}').format(h.commit_status_lbl(c.REVIEW_STATUS_REJECTED))} | |
59 | </a> |
|
59 | </a> | |
60 | % endif |
|
60 | % endif | |
61 | </div> |
|
61 | </div> | |
62 | % endif |
|
62 | % endif | |
63 | </div> |
|
63 | </div> |
General Comments 0
You need to be logged in to leave comments.
Login now