Show More
@@ -258,14 +258,14 b' class CodeHtmlFormatter(HtmlFormatter):' | |||||
258 | # some configurations seem to mess up the formatting... |
|
258 | # some configurations seem to mess up the formatting... | |
259 | if nocls: |
|
259 | if nocls: | |
260 | yield 0, ('<table class="%stable">' % self.cssclass + |
|
260 | yield 0, ('<table class="%stable">' % self.cssclass + | |
261 |
'<tr><td><div class="linenodiv" |
|
261 | '<tr><td><div class="linenodiv">' | |
262 | 'style="background-color: #f0f0f0; padding-right: 10px">' |
|
262 | '<pre>' + ls + '</pre></div></td>' | |
263 | '<pre style="line-height: 125%">' + |
|
263 | '<td id="hlcode" class="code">') | |
264 | ls + '</pre></div></td><td id="hlcode" class="code">') |
|
|||
265 | else: |
|
264 | else: | |
266 | yield 0, ('<table class="%stable">' % self.cssclass + |
|
265 | yield 0, ('<table class="%stable">' % self.cssclass + | |
267 |
'<tr><td class="linenos"><div class="linenodiv"> |
|
266 | '<tr><td class="linenos"><div class="linenodiv">' | |
268 |
ls + '</pre></div></td> |
|
267 | '<pre>' + ls + '</pre></div></td>' | |
|
268 | '<td id="hlcode" class="code">') | |||
269 | yield 0, dummyoutfile.getvalue() |
|
269 | yield 0, dummyoutfile.getvalue() | |
270 | yield 0, '</td></tr></table>' |
|
270 | yield 0, '</td></tr></table>' | |
271 |
|
271 |
@@ -1931,6 +1931,7 b' BIN_FILENODE = 6' | |||||
1931 | } |
|
1931 | } | |
1932 |
|
1932 | |||
1933 | #graph_content, |
|
1933 | #graph_content, | |
|
1934 | #graph_content_pr, | |||
1934 | #graph .info_box, |
|
1935 | #graph .info_box, | |
1935 | #graph .container_header { |
|
1936 | #graph .container_header { | |
1936 | margin-left: 100px; |
|
1937 | margin-left: 100px; | |
@@ -2009,6 +2010,7 b' tr.out-of-range > td.mid > .message > a ' | |||||
2009 | #graph_content .container .expand_commit { |
|
2010 | #graph_content .container .expand_commit { | |
2010 | width: 24px; |
|
2011 | width: 24px; | |
2011 | cursor: pointer; |
|
2012 | cursor: pointer; | |
|
2013 | color: #999; | |||
2012 | } |
|
2014 | } | |
2013 |
|
2015 | |||
2014 | #graph_content #changesets .container .right { |
|
2016 | #graph_content #changesets .container .right { |
@@ -142,7 +142,7 b'' | |||||
142 |
|
142 | |||
143 | %endfor |
|
143 | %endfor | |
144 |
|
144 | |||
145 | <div style="padding-top: 5px"> |
|
145 | <div> | |
146 | ${h.submit('update',_('Update Gist'),class_="btn btn-success")} |
|
146 | ${h.submit('update',_('Update Gist'),class_="btn btn-success")} | |
147 | <a class="btn btn-default" href="${h.url('gist', gist_id=c.gist.gist_access_id)}">${_('Cancel')}</a> |
|
147 | <a class="btn btn-default" href="${h.url('gist', gist_id=c.gist.gist_access_id)}">${_('Cancel')}</a> | |
148 | </div> |
|
148 | </div> |
@@ -41,13 +41,13 b'' | |||||
41 | <div class="panel-body"> |
|
41 | <div class="panel-body"> | |
42 | %if c.gists_pager.item_count>0: |
|
42 | %if c.gists_pager.item_count>0: | |
43 | % for gist in c.gists_pager: |
|
43 | % for gist in c.gists_pager: | |
44 |
<div class="gist-item clearfix" |
|
44 | <div class="gist-item clearfix"> | |
45 | ${h.gravatar_div(gist.owner.email, size=28)} |
|
45 | ${h.gravatar_div(gist.owner.email, size=28)} | |
46 |
<div title="${gist.owner.full_contact}" class="user" |
|
46 | <div title="${gist.owner.full_contact}" class="user"> | |
47 | <b>${h.person(gist.owner.full_contact)}</b> / |
|
47 | <b>${h.person(gist.owner.full_contact)}</b> / | |
48 | <b><a href="${h.url('gist',gist_id=gist.gist_access_id)}">gist: ${gist.gist_access_id}</a></b> |
|
48 | <b><a href="${h.url('gist',gist_id=gist.gist_access_id)}">gist: ${gist.gist_access_id}</a></b> | |
49 | </div> |
|
49 | </div> | |
50 | <div style="padding: 4px 0px 0px 0px"> |
|
50 | <div> | |
51 | ${_('Created')} ${h.age(gist.created_on)} / |
|
51 | ${_('Created')} ${h.age(gist.created_on)} / | |
52 | <span class="text-muted"> |
|
52 | <span class="text-muted"> | |
53 | %if gist.gist_expires == -1: |
|
53 | %if gist.gist_expires == -1: | |
@@ -58,7 +58,7 b'' | |||||
58 | </span> |
|
58 | </span> | |
59 | </div> |
|
59 | </div> | |
60 |
|
60 | |||
61 |
<div class="text-muted" |
|
61 | <div class="text-muted">${gist.gist_description}</div> | |
62 | </div> |
|
62 | </div> | |
63 | % endfor |
|
63 | % endfor | |
64 |
|
64 |
@@ -1,6 +1,6 b'' | |||||
1 | <table class="table"> |
|
1 | <table class="table"> | |
2 | <tr> |
|
2 | <tr> | |
3 |
<td |
|
3 | <td><div class="truncate autoexpand">${c.user.api_key}</div></td> | |
4 | <td> |
|
4 | <td> | |
5 | <span class="label label-success">${_('Built-in')}</span> |
|
5 | <span class="label label-success">${_('Built-in')}</span> | |
6 | </td> |
|
6 | </td> | |
@@ -19,9 +19,9 b'' | |||||
19 | %if c.user_api_keys: |
|
19 | %if c.user_api_keys: | |
20 | %for api_key in c.user_api_keys: |
|
20 | %for api_key in c.user_api_keys: | |
21 | <tr class="${'expired' if api_key.is_expired else ''}"> |
|
21 | <tr class="${'expired' if api_key.is_expired else ''}"> | |
22 |
<td |
|
22 | <td><div class="truncate autoexpand">${api_key.api_key}</div></td> | |
23 | <td>${api_key.description}</td> |
|
23 | <td>${api_key.description}</td> | |
24 | <td style="min-width: 80px"> |
|
24 | <td> | |
25 | %if api_key.expires == -1: |
|
25 | %if api_key.expires == -1: | |
26 | ${_('Expires')}: ${_('Never')} |
|
26 | ${_('Expires')}: ${_('Never')} | |
27 | %else: |
|
27 | %else: |
@@ -19,7 +19,7 b'' | |||||
19 | <td> |
|
19 | <td> | |
20 | ${h.form(url('my_account_emails_delete'))} |
|
20 | ${h.form(url('my_account_emails_delete'))} | |
21 | ${h.hidden('del_email_id',em.email_id)} |
|
21 | ${h.hidden('del_email_id',em.email_id)} | |
22 |
<i class="icon-minus-circled" |
|
22 | <i class="icon-minus-circled"></i> | |
23 | ${h.submit('remove_',_('Delete'),id="remove_email_%s" % em.email_id, |
|
23 | ${h.submit('remove_',_('Delete'),id="remove_email_%s" % em.email_id, | |
24 | class_="btn btn-default btn-xs", onclick="return confirm('"+_('Confirm to delete this email: %s') % em.email+"');")} |
|
24 | class_="btn btn-default btn-xs", onclick="return confirm('"+_('Confirm to delete this email: %s') % em.email+"');")} | |
25 | ${h.end_form()} |
|
25 | ${h.end_form()} |
@@ -8,7 +8,7 b'' | |||||
8 | ${h.form(url('edit_user_ips_delete', id=c.user.user_id))} |
|
8 | ${h.form(url('edit_user_ips_delete', id=c.user.user_id))} | |
9 | ${h.hidden('del_ip_id',ip.ip_id)} |
|
9 | ${h.hidden('del_ip_id',ip.ip_id)} | |
10 | ${h.hidden('default_user', 'True')} |
|
10 | ${h.hidden('default_user', 'True')} | |
11 |
<i class="icon-minus-circled" |
|
11 | <i class="icon-minus-circled"></i> ${h.submit('remove_',_('Delete'),id="remove_ip_%s" % ip.ip_id, | |
12 | class_="btn btn-default btn-xs", onclick="return confirm('"+_('Confirm to delete this IP address: %s') % ip.ip_addr+"');")} |
|
12 | class_="btn btn-default btn-xs", onclick="return confirm('"+_('Confirm to delete this IP address: %s') % ip.ip_addr+"');")} | |
13 | ${h.end_form()} |
|
13 | ${h.end_form()} | |
14 | </td> |
|
14 | </td> |
@@ -11,8 +11,8 b'' | |||||
11 | ] |
|
11 | ] | |
12 | %> |
|
12 | %> | |
13 | %for dt, dd, tt in elems: |
|
13 | %for dt, dd, tt in elems: | |
14 | <dt style="width:150px; text-align: left">${dt}:</dt> |
|
14 | <dt>${dt}:</dt> | |
15 |
<dd |
|
15 | <dd title="${tt}">${dd}</dd> | |
16 | %endfor |
|
16 | %endfor | |
17 | </dl> |
|
17 | </dl> | |
18 |
|
18 |
@@ -30,7 +30,7 b'' | |||||
30 | </td> |
|
30 | </td> | |
31 | <td> |
|
31 | <td> | |
32 | %if r2p.user.username !='default': |
|
32 | %if r2p.user.username !='default': | |
33 |
<span |
|
33 | <span class="btn btn-default btn-xs" onclick="ajaxActionRevoke(${r2p.user.user_id}, 'user', '${'id%s'%id(r2p.user.username)}', '${r2p.user.username}')"> | |
34 | <i class="icon-minus-circled"></i> ${_('Revoke')} |
|
34 | <i class="icon-minus-circled"></i> ${_('Revoke')} | |
35 | </span> |
|
35 | </span> | |
36 | %endif |
|
36 | %endif | |
@@ -67,7 +67,7 b'' | |||||
67 | %endif |
|
67 | %endif | |
68 | </td> |
|
68 | </td> | |
69 | <td> |
|
69 | <td> | |
70 |
<span |
|
70 | <span class="btn btn-default btn-xs" onclick="ajaxActionRevoke(${g2p.users_group.users_group_id}, 'user_group', '${'id%s'%id(g2p.users_group.users_group_name)}', '${g2p.users_group.users_group_name}')"> | |
71 | <i class="icon-minus-circled"></i> ${_('Revoke')} |
|
71 | <i class="icon-minus-circled"></i> ${_('Revoke')} | |
72 | </span> |
|
72 | </span> | |
73 | </td> |
|
73 | </td> | |
@@ -77,7 +77,7 b'' | |||||
77 | <tr class="new_members last_new_member" id="add_perm_input"><td colspan="6"></td></tr> |
|
77 | <tr class="new_members last_new_member" id="add_perm_input"><td colspan="6"></td></tr> | |
78 | <tr> |
|
78 | <tr> | |
79 | <td colspan="6"> |
|
79 | <td colspan="6"> | |
80 |
<span id="add_perm" |
|
80 | <span id="add_perm"> | |
81 | <i class="icon-plus"></i> ${_('Add new')} |
|
81 | <i class="icon-plus"></i> ${_('Add new')} | |
82 | </span> |
|
82 | </span> | |
83 | </td> |
|
83 | </td> |
@@ -27,10 +27,10 b'' | |||||
27 | ${_('Repository "%(repo_name)s" is being created, you will be redirected when this process is finished.' % {'repo_name':c.repo_name})} |
|
27 | ${_('Repository "%(repo_name)s" is being created, you will be redirected when this process is finished.' % {'repo_name':c.repo_name})} | |
28 | </h4> |
|
28 | </h4> | |
29 |
|
29 | |||
30 | <div id="progress" style="width: 500px;margin-left: auto; margin-right: auto"> |
|
30 | <div id="progress"> | |
31 | <div class="progress progress-striped active"> |
|
31 | <div class="progress progress-striped active"> | |
32 | <div class="progress-bar progress-bar" role="progressbar" |
|
32 | <div class="progress-bar progress-bar" role="progressbar" | |
33 |
aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" |
|
33 | aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"> | |
34 | </div> |
|
34 | </div> | |
35 | </div> |
|
35 | </div> | |
36 | </div> |
|
36 | </div> |
@@ -15,7 +15,7 b'' | |||||
15 | <td>${field.field_type}</td> |
|
15 | <td>${field.field_type}</td> | |
16 | <td> |
|
16 | <td> | |
17 | ${h.form(url('delete_repo_fields', repo_name=c.repo_info.repo_name, field_id=field.repo_field_id))} |
|
17 | ${h.form(url('delete_repo_fields', repo_name=c.repo_info.repo_name, field_id=field.repo_field_id))} | |
18 |
<i class="icon-minus-circled" |
|
18 | <i class="icon-minus-circled"></i> | |
19 | ${h.submit('remove_%s' % field.repo_field_id, _('Delete'), id="remove_field_%s" % field.repo_field_id, |
|
19 | ${h.submit('remove_%s' % field.repo_field_id, _('Delete'), id="remove_field_%s" % field.repo_field_id, | |
20 | class_="btn btn-default btn-xs", onclick="return confirm('"+_('Confirm to delete this field: %s') % field.field_key+"');")} |
|
20 | class_="btn btn-default btn-xs", onclick="return confirm('"+_('Confirm to delete this field: %s') % field.field_key+"');")} | |
21 | ${h.end_form()} |
|
21 | ${h.end_form()} |
@@ -39,7 +39,7 b'' | |||||
39 | </td> |
|
39 | </td> | |
40 | <td> |
|
40 | <td> | |
41 | %if r2p.user.username !='default': |
|
41 | %if r2p.user.username !='default': | |
42 |
<span |
|
42 | <span class="btn btn-default btn-xs" onclick="ajaxActionRevoke(${r2p.user.user_id}, 'user', '${'id%s'%id(r2p.user.username)}', '${r2p.user.username}')"> | |
43 | <i class="icon-minus-circled"></i> ${_('Revoke')} |
|
43 | <i class="icon-minus-circled"></i> ${_('Revoke')} | |
44 | </span> |
|
44 | </span> | |
45 | %endif |
|
45 | %endif | |
@@ -64,7 +64,7 b'' | |||||
64 | %endif |
|
64 | %endif | |
65 | </td> |
|
65 | </td> | |
66 | <td> |
|
66 | <td> | |
67 |
<span |
|
67 | <span class="btn btn-default btn-xs" onclick="ajaxActionRevoke(${g2p.users_group.users_group_id}, 'user_group', '${'id%s'%id(g2p.users_group.users_group_name)}', '${g2p.users_group.users_group_name}')"> | |
68 | <i class="icon-minus-circled"></i> ${_('Revoke')} |
|
68 | <i class="icon-minus-circled"></i> ${_('Revoke')} | |
69 | </span> |
|
69 | </span> | |
70 | </td> |
|
70 | </td> | |
@@ -74,7 +74,7 b'' | |||||
74 | <tr class="new_members last_new_member" id="add_perm_input"><td colspan="6"></td></tr> |
|
74 | <tr class="new_members last_new_member" id="add_perm_input"><td colspan="6"></td></tr> | |
75 | <tr> |
|
75 | <tr> | |
76 | <td colspan="6"> |
|
76 | <td colspan="6"> | |
77 |
<span id="add_perm" |
|
77 | <span id="add_perm"> | |
78 | <i class="icon-plus"></i> ${_('Add new')} |
|
78 | <i class="icon-plus"></i> ${_('Add new')} | |
79 | </span> |
|
79 | </span> | |
80 | </td> |
|
80 | </td> |
@@ -5,7 +5,7 b'' | |||||
5 | % for hook in c.hooks: |
|
5 | % for hook in c.hooks: | |
6 | <% input_id = hook.ui_key.replace('.', '_') %> |
|
6 | <% input_id = hook.ui_key.replace('.', '_') %> | |
7 | <label class="control-label" for="${input_id}">${hook.ui_key}</label> |
|
7 | <label class="control-label" for="${input_id}">${hook.ui_key}</label> | |
8 | <div style="margin-left:280px"> |
|
8 | <div> | |
9 | ${h.text(hook.ui_key,hook.ui_value,id=input_id,size=60,readonly="readonly",class_='form-control')} |
|
9 | ${h.text(hook.ui_key,hook.ui_value,id=input_id,size=60,readonly="readonly",class_='form-control')} | |
10 | </div> |
|
10 | </div> | |
11 | % endfor |
|
11 | % endfor | |
@@ -23,13 +23,13 b'' | |||||
23 | %for hook in c.custom_hooks: |
|
23 | %for hook in c.custom_hooks: | |
24 | <% input_id = hook.ui_key.replace('.', '_') %> |
|
24 | <% input_id = hook.ui_key.replace('.', '_') %> | |
25 | <label class="control-label" for="${input_id}">${hook.ui_key}</label> |
|
25 | <label class="control-label" for="${input_id}">${hook.ui_key}</label> | |
26 |
<div |
|
26 | <div> | |
27 | ${h.hidden('hook_ui_key',hook.ui_key,id='hook_ui_key_'+input_id)} |
|
27 | ${h.hidden('hook_ui_key',hook.ui_key,id='hook_ui_key_'+input_id)} | |
28 | ${h.hidden('hook_ui_value',hook.ui_value,id='hook_ui_value_'+input_id)} |
|
28 | ${h.hidden('hook_ui_value',hook.ui_value,id='hook_ui_value_'+input_id)} | |
29 | ${h.text('hook_ui_value_new',hook.ui_value,id=input_id,size=60,class_='form-control')} |
|
29 | ${h.text('hook_ui_value_new',hook.ui_value,id=input_id,size=60,class_='form-control')} | |
30 | <span class="btn btn-default btn-xs" |
|
30 | <span class="btn btn-default btn-xs" | |
31 | onclick="delete_hook(${hook.ui_id},'${'id%s' % hook.ui_id }')"> |
|
31 | onclick="delete_hook(${hook.ui_id},'${'id%s' % hook.ui_id }')"> | |
32 |
<i class="icon-minus-circled" |
|
32 | <i class="icon-minus-circled"></i> | |
33 | ${_('Delete')} |
|
33 | ${_('Delete')} | |
34 | </span> |
|
34 | </span> | |
35 | </div> |
|
35 | </div> | |
@@ -40,12 +40,12 b'' | |||||
40 | <label> |
|
40 | <label> | |
41 | ${h.text('new_hook_ui_key',size=15,class_='form-control')} |
|
41 | ${h.text('new_hook_ui_key',size=15,class_='form-control')} | |
42 | </label> |
|
42 | </label> | |
43 | <div style="margin-left:280px"> |
|
43 | <div> | |
44 | ${h.text('new_hook_ui_value',size=60,class_='form-control')} |
|
44 | ${h.text('new_hook_ui_value',size=60,class_='form-control')} | |
45 | </div> |
|
45 | </div> | |
46 | </div> |
|
46 | </div> | |
47 | <div class="form-group"> |
|
47 | <div class="form-group"> | |
48 |
<div class="buttons" |
|
48 | <div class="buttons"> | |
49 | ${h.submit('save',_('Save'),class_="btn btn-default")} |
|
49 | ${h.submit('save',_('Save'),class_="btn btn-default")} | |
50 | </div> |
|
50 | </div> | |
51 | </div> |
|
51 | </div> |
@@ -1,10 +1,10 b'' | |||||
1 | <div id="update_notice" style="display: none"> |
|
1 | <div id="update_notice" style="display: none"> | |
2 | <div style="padding: 5px 0px 5px 0px; color: #000000; font-weight: bold">${_('Checking for updates...')}</div> |
|
2 | <div>${_('Checking for updates...')}</div> | |
3 | </div> |
|
3 | </div> | |
4 |
|
4 | |||
5 | <% |
|
5 | <% | |
6 | elems = [ |
|
6 | elems = [ | |
7 |
(_('Kallithea version'), h.literal('%s <b><span |
|
7 | (_('Kallithea version'), h.literal('%s <b><span id="check_for_update" style="display:none">%s</span></b>' % (c.kallithea_version, _('Check for updates'))), ''), | |
8 | (_('Kallithea configuration file'), c.ini['__file__'], ''), |
|
8 | (_('Kallithea configuration file'), c.ini['__file__'], ''), | |
9 | (_('Python version'), c.py_version, ''), |
|
9 | (_('Python version'), c.py_version, ''), | |
10 | (_('Platform'), c.platform, ''), |
|
10 | (_('Platform'), c.platform, ''), | |
@@ -15,21 +15,21 b'' | |||||
15 | %> |
|
15 | %> | |
16 | <dl class="dl-horizontal"> |
|
16 | <dl class="dl-horizontal"> | |
17 | %for dt, dd, tt in elems: |
|
17 | %for dt, dd, tt in elems: | |
18 | <dt style="width:150px; text-align: left">${dt}:</dt> |
|
18 | <dt>${dt}:</dt> | |
19 |
<dd |
|
19 | <dd title="${tt}">${dd}</dd> | |
20 | %endfor |
|
20 | %endfor | |
21 | </dl> |
|
21 | </dl> | |
22 |
|
22 | |||
23 | <h4>${_('Python Packages')}</h4> |
|
23 | <h4>${_('Python Packages')}</h4> | |
24 | <table class="table" style="margin:0px 0px 0px 0px"> |
|
24 | <table class="table"> | |
25 | <colgroup> |
|
25 | <colgroup> | |
26 | <col style="width:180px"> |
|
26 | <col> | |
27 | <col> |
|
27 | <col> | |
28 | </colgroup> |
|
28 | </colgroup> | |
29 | <tbody> |
|
29 | <tbody> | |
30 | %for key, value in c.modules: |
|
30 | %for key, value in c.modules: | |
31 | <tr> |
|
31 | <tr> | |
32 |
<td |
|
32 | <td>${key}</td> | |
33 | <td>${value}</td> |
|
33 | <td>${value}</td> | |
34 | </tr> |
|
34 | </tr> | |
35 | %endfor |
|
35 | %endfor |
@@ -2,8 +2,7 b'' | |||||
2 | ## upgrade block rendered afte on-click check |
|
2 | ## upgrade block rendered afte on-click check | |
3 |
|
3 | |||
4 | <div class="alert ${'alert-warning' if c.should_upgrade else 'alert-success'}"> |
|
4 | <div class="alert ${'alert-warning' if c.should_upgrade else 'alert-success'}"> | |
5 | <p style="padding: 2px 0px 5px 0px; margin: 0px"> |
|
5 | <p> | |
6 |
|
||||
7 | %if c.should_upgrade: |
|
6 | %if c.should_upgrade: | |
8 | A <b>new version</b> is available: |
|
7 | A <b>new version</b> is available: | |
9 | %if c.latest_data.get('title'): |
|
8 | %if c.latest_data.get('title'): |
@@ -9,8 +9,8 b'' | |||||
9 | ] |
|
9 | ] | |
10 | %> |
|
10 | %> | |
11 | %for dt, dd, tt in elems: |
|
11 | %for dt, dd, tt in elems: | |
12 | <dt style="width:150px; text-align: left">${dt}:</dt> |
|
12 | <dt>${dt}:</dt> | |
13 |
<dd |
|
13 | <dd title="${tt}">${dd}</dd> | |
14 | %endfor |
|
14 | %endfor | |
15 | </dl> |
|
15 | </dl> | |
16 |
|
16 |
@@ -30,7 +30,7 b'' | |||||
30 | </td> |
|
30 | </td> | |
31 | <td> |
|
31 | <td> | |
32 | %if r2p.user.username !='default': |
|
32 | %if r2p.user.username !='default': | |
33 |
<span |
|
33 | <span class="btn btn-default btn-xs" onclick="ajaxActionRevoke(${r2p.user.user_id}, 'user', '${'id%s'%id(r2p.user.username)}', '${r2p.user.username}')"> | |
34 | <i class="icon-minus-circled"></i> ${_('Revoke')} |
|
34 | <i class="icon-minus-circled"></i> ${_('Revoke')} | |
35 | </span> |
|
35 | </span> | |
36 | %endif |
|
36 | %endif | |
@@ -67,7 +67,7 b'' | |||||
67 | %endif |
|
67 | %endif | |
68 | </td> |
|
68 | </td> | |
69 | <td> |
|
69 | <td> | |
70 |
<span |
|
70 | <span class="btn btn-default btn-xs" onclick="ajaxActionRevoke(${g2p.user_group.users_group_id}, 'user_group', '${'id%s'%id(g2p.user_group.users_group_name)}', '${g2p.user_group.users_group_name}')"> | |
71 | <i class="icon-minus-circled"></i> ${_('Revoke')} |
|
71 | <i class="icon-minus-circled"></i> ${_('Revoke')} | |
72 | </span> |
|
72 | </span> | |
73 | </td> |
|
73 | </td> |
@@ -23,21 +23,20 b'' | |||||
23 | <div class="form-group"> |
|
23 | <div class="form-group"> | |
24 | <label class="control-label">${_('Members')}:</label> |
|
24 | <label class="control-label">${_('Members')}:</label> | |
25 | <div> |
|
25 | <div> | |
26 |
<div |
|
26 | <div> | |
27 |
<div class="text" |
|
27 | <div class="text">${_('Chosen group members')}</div> | |
28 | ${h.select('users_group_members',[],c.group_members,multiple=True,size=8,style="min-width:210px",class_='form-control')} |
|
28 | ${h.select('users_group_members',[],c.group_members,multiple=True,size=8,style="min-width:210px",class_='form-control')} | |
29 | </div> |
|
29 | </div> | |
30 | <div style="float:left;width:20px;padding-top:50px"> |
|
30 | <div> | |
31 |
<i |
|
31 | <i id="add_element" class="icon-left-open" title="Choose selected available"></i> | |
32 |
<div |
|
32 | <div></div> | |
33 |
<i |
|
33 | <i id="remove_element" class="icon-right-open" title="Remove selected chosen"></i> | |
34 | </div> |
|
34 | </div> | |
35 |
<div |
|
35 | <div> | |
36 |
<div class="text" |
|
36 | <div class="text">${_('Available members')}</div> | |
37 | ${h.select('available_members',[],c.available_members,multiple=True,size=8,style="min-width:210px",class_='form-control')} |
|
37 | ${h.select('available_members',[],c.available_members,multiple=True,size=8,style="min-width:210px",class_='form-control')} | |
38 | </div> |
|
38 | </div> | |
39 | </div> |
|
39 | </div> | |
40 | <div style="clear:both"></div> |
|
|||
41 | </div> |
|
40 | </div> | |
42 | <div class="form-group"> |
|
41 | <div class="form-group"> | |
43 | <div class="buttons"> |
|
42 | <div class="buttons"> |
@@ -11,8 +11,8 b'' | |||||
11 | ] |
|
11 | ] | |
12 | %> |
|
12 | %> | |
13 | %for dt, dd, tt in elems: |
|
13 | %for dt, dd, tt in elems: | |
14 | <dt style="width:150px; text-align: left">${dt}:</dt> |
|
14 | <dt>${dt}:</dt> | |
15 |
<dd |
|
15 | <dd title="${tt}">${dd}</dd> | |
16 | %endfor |
|
16 | %endfor | |
17 | </dl> |
|
17 | </dl> | |
18 |
|
18 |
@@ -1,6 +1,6 b'' | |||||
1 | <table class="table"> |
|
1 | <table class="table"> | |
2 | <tr> |
|
2 | <tr> | |
3 |
<td |
|
3 | <td><div class="truncate autoexpand">${c.user.api_key}</div></td> | |
4 | <td> |
|
4 | <td> | |
5 | <span class="label label-success">${_('Built-in')}</span> |
|
5 | <span class="label label-success">${_('Built-in')}</span> | |
6 | </td> |
|
6 | </td> | |
@@ -19,9 +19,9 b'' | |||||
19 | %if c.user_api_keys: |
|
19 | %if c.user_api_keys: | |
20 | %for api_key in c.user_api_keys: |
|
20 | %for api_key in c.user_api_keys: | |
21 | <tr class="${'expired' if api_key.is_expired else ''}"> |
|
21 | <tr class="${'expired' if api_key.is_expired else ''}"> | |
22 |
<td |
|
22 | <td><div class="truncate autoexpand">${api_key.api_key}</div></td> | |
23 | <td>${api_key.description}</td> |
|
23 | <td>${api_key.description}</td> | |
24 | <td style="min-width: 80px"> |
|
24 | <td> | |
25 | %if api_key.expires == -1: |
|
25 | %if api_key.expires == -1: | |
26 | ${_('Expires')}: ${_('Never')} |
|
26 | ${_('Expires')}: ${_('Never')} | |
27 | %else: |
|
27 | %else: |
@@ -19,7 +19,7 b'' | |||||
19 | <td> |
|
19 | <td> | |
20 | ${h.form(url('edit_user_emails_delete', id=c.user.user_id))} |
|
20 | ${h.form(url('edit_user_emails_delete', id=c.user.user_id))} | |
21 | ${h.hidden('del_email_id',em.email_id)} |
|
21 | ${h.hidden('del_email_id',em.email_id)} | |
22 |
<i class="icon-minus-circled" |
|
22 | <i class="icon-minus-circled"></i> | |
23 | ${h.submit('remove_',_('Delete'),id="remove_email_%s" % em.email_id, |
|
23 | ${h.submit('remove_',_('Delete'),id="remove_email_%s" % em.email_id, | |
24 | class_="btn btn-default btn-xs", onclick="return confirm('"+_('Confirm to delete this email: %s') % em.email+"');")} |
|
24 | class_="btn btn-default btn-xs", onclick="return confirm('"+_('Confirm to delete this email: %s') % em.email+"');")} | |
25 | ${h.end_form()} |
|
25 | ${h.end_form()} |
@@ -17,9 +17,9 b'' | |||||
17 | <td> |
|
17 | <td> | |
18 | ${h.form(url('edit_user_ips_delete', id=c.user.user_id))} |
|
18 | ${h.form(url('edit_user_ips_delete', id=c.user.user_id))} | |
19 | ${h.hidden('del_ip_id',ip.ip_id)} |
|
19 | ${h.hidden('del_ip_id',ip.ip_id)} | |
20 |
<i class="icon-minus-circled" |
|
20 | <i class="icon-minus-circled"></i> | |
21 | ${h.submit('remove_',_('Delete'),id="remove_ip_%s" % ip.ip_id, |
|
21 | ${h.submit('remove_',_('Delete'),id="remove_ip_%s" % ip.ip_id, | |
22 |
class_="btn btn-default btn-xs", onclick="return |
|
22 | class_="btn btn-default btn-xs", onclick="return confirm('"+_('Confirm to delete this IP address: %s') % ip.ip_addr+"');")} | |
23 | ${h.end_form()} |
|
23 | ${h.end_form()} | |
24 | </td> |
|
24 | </td> | |
25 | </tr> |
|
25 | </tr> |
@@ -99,14 +99,14 b'' | |||||
99 | ${h.gravatar(h.email_or_none(cs.author), size=16)} |
|
99 | ${h.gravatar(h.email_or_none(cs.author), size=16)} | |
100 | <span data-toggle="tooltip" title="${cs.author}" class="user">${h.shorter(h.person(cs.author),22)}</span> |
|
100 | <span data-toggle="tooltip" title="${cs.author}" class="user">${h.shorter(h.person(cs.author),22)}</span> | |
101 | </td> |
|
101 | </td> | |
102 |
<td class="hash" |
|
102 | <td class="hash"> | |
103 | ${h.link_to(h.show_id(cs),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id), class_='changeset_hash')} |
|
103 | ${h.link_to(h.show_id(cs),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id), class_='changeset_hash')} | |
104 | </td> |
|
104 | </td> | |
105 | <td class="date"> |
|
105 | <td class="date"> | |
106 | <div class="date" data-toggle="tooltip" title="${h.fmt_date(cs.date)}">${h.age(cs.date,True)}</div> |
|
106 | <div class="date" data-toggle="tooltip" title="${h.fmt_date(cs.date)}">${h.age(cs.date,True)}</div> | |
107 | </td> |
|
107 | </td> | |
108 | <td class="expand_commit" data-commit_id="${cs.raw_id}" title="${_('Expand commit message')}"> |
|
108 | <td class="expand_commit" data-commit_id="${cs.raw_id}" title="${_('Expand commit message')}"> | |
109 |
<i class="icon-align-left" |
|
109 | <i class="icon-align-left"></i> | |
110 | </td> |
|
110 | </td> | |
111 | <td class="mid"> |
|
111 | <td class="mid"> | |
112 | <div class="message" id="C-${cs.raw_id}">${h.urlify_text(cs.message, c.repo_name,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div> |
|
112 | <div class="message" id="C-${cs.raw_id}">${h.urlify_text(cs.message, c.repo_name,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div> |
@@ -82,7 +82,7 b'' | |||||
82 |
|
82 | |||
83 | %if h.HasRepoPermissionLevel('write')(c.repo_name): |
|
83 | %if h.HasRepoPermissionLevel('write')(c.repo_name): | |
84 | <h4>${_('Add or upload files directly via Kallithea')}</h4> |
|
84 | <h4>${_('Add or upload files directly via Kallithea')}</h4> | |
85 | <div style="margin: 20px 30px;"> |
|
85 | <div> | |
86 | <div id="add_node_id" class="add_node"> |
|
86 | <div id="add_node_id" class="add_node"> | |
87 | <a class="btn btn-default btn-xs" href="${h.url('files_add_home',repo_name=c.repo_name,revision=0,f_path='', anchor='edit')}">${_('Add New File')}</a> |
|
87 | <a class="btn btn-default btn-xs" href="${h.url('files_add_home',repo_name=c.repo_name,revision=0,f_path='', anchor='edit')}">${_('Add New File')}</a> | |
88 | </div> |
|
88 | </div> |
@@ -241,12 +241,12 b'' | |||||
241 | $('#child_link').addClass('disabled'); |
|
241 | $('#child_link').addClass('disabled'); | |
242 | $('#child_link').addClass('double'); |
|
242 | $('#child_link').addClass('double'); | |
243 | var _html = ''; |
|
243 | var _html = ''; | |
244 |
_html +='<a title="__title__" href="__url__">__rev__</a> <i |
|
244 | _html +='<a title="__title__" href="__url__">__rev__</a> <i class="icon-right-open"></i>' | |
245 | .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6))) |
|
245 | .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6))) | |
246 | .replace('__title__', data.results[0].message) |
|
246 | .replace('__title__', data.results[0].message) | |
247 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': ${h.js(c.repo_name)},'revision': data.results[0].raw_id})); |
|
247 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': ${h.js(c.repo_name)},'revision': data.results[0].raw_id})); | |
248 | _html +='<br/>' |
|
248 | _html +='<br/>' | |
249 |
_html +='<a title="__title__" href="__url__">__rev__</a> <i |
|
249 | _html +='<a title="__title__" href="__url__">__rev__</a> <i class="icon-right-open"></i>' | |
250 | .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6))) |
|
250 | .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6))) | |
251 | .replace('__title__', data.results[1].message) |
|
251 | .replace('__title__', data.results[1].message) | |
252 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': ${h.js(c.repo_name)},'revision': data.results[1].raw_id})); |
|
252 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': ${h.js(c.repo_name)},'revision': data.results[1].raw_id})); | |
@@ -278,12 +278,12 b'' | |||||
278 | $('#parent_link').addClass('disabled'); |
|
278 | $('#parent_link').addClass('disabled'); | |
279 | $('#parent_link').addClass('double'); |
|
279 | $('#parent_link').addClass('double'); | |
280 | var _html = ''; |
|
280 | var _html = ''; | |
281 |
_html +='<i |
|
281 | _html +='<i class="icon-left-open"></i> <a title="__title__" href="__url__">__rev__</a>' | |
282 | .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6))) |
|
282 | .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6))) | |
283 | .replace('__title__', data.results[0].message) |
|
283 | .replace('__title__', data.results[0].message) | |
284 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': ${h.js(c.repo_name)},'revision': data.results[0].raw_id})); |
|
284 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': ${h.js(c.repo_name)},'revision': data.results[0].raw_id})); | |
285 | _html +='<br/>' |
|
285 | _html +='<br/>' | |
286 |
_html +='<i |
|
286 | _html +='<i class="icon-left-open"></i> <a title="__title__" href="__url__">__rev__</a>' | |
287 | .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6))) |
|
287 | .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6))) | |
288 | .replace('__title__', data.results[1].message) |
|
288 | .replace('__title__', data.results[1].message) | |
289 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': ${h.js(c.repo_name)},'revision': data.results[1].raw_id})); |
|
289 | .replace('__url__', pyroutes.url('changeset_home', {'repo_name': ${h.js(c.repo_name)},'revision': data.results[1].raw_id})); |
@@ -26,7 +26,7 b'' | |||||
26 |
|
26 | |||
27 | %if co.author_id == request.authuser.user_id or h.HasRepoPermissionLevel('admin')(c.repo_name): |
|
27 | %if co.author_id == request.authuser.user_id or h.HasRepoPermissionLevel('admin')(c.repo_name): | |
28 | %if co.deletable(): |
|
28 | %if co.deletable(): | |
29 |
<div onClick="confirm('${_('Delete comment?')}') && deleteComment(${co.comment_id})" class="buttons delete-comment btn btn-default btn-xs" |
|
29 | <div onClick="confirm('${_('Delete comment?')}') && deleteComment(${co.comment_id})" class="buttons delete-comment btn btn-default btn-xs">${_('Delete')}</div> | |
30 | %endif |
|
30 | %endif | |
31 | %endif |
|
31 | %endif | |
32 | </div> |
|
32 | </div> |
@@ -25,7 +25,7 b'' | |||||
25 | ${h.safe_unicode(cs_filename)} |
|
25 | ${h.safe_unicode(cs_filename)} | |
26 | </div> |
|
26 | </div> | |
27 | <div class="pull-left diff-actions"> |
|
27 | <div class="pull-left diff-actions"> | |
28 |
<span |
|
28 | <span> | |
29 | %if op == 'A': |
|
29 | %if op == 'A': | |
30 | <span class="no-file" data-toggle="tooltip" title="${_('No file before')}"> |
|
30 | <span class="no-file" data-toggle="tooltip" title="${_('No file before')}"> | |
31 | <i class="icon-minus-circled"></i></span> |
|
31 | <i class="icon-minus-circled"></i></span> |
@@ -7,10 +7,10 b'' | |||||
7 | %if c.ancestors: |
|
7 | %if c.ancestors: | |
8 | <div class="ancestor"> |
|
8 | <div class="ancestor"> | |
9 | %if len(c.ancestors) > 1: |
|
9 | %if len(c.ancestors) > 1: | |
10 | <div style="color:red; font-weight: bold"> |
|
10 | <div class="text-danger"> | |
11 | ${_('Criss cross merge situation with multiple merge ancestors detected!')} |
|
11 | ${_('Criss cross merge situation with multiple merge ancestors detected!')} | |
12 | </div> |
|
12 | </div> | |
13 | <div style="color:red"> |
|
13 | <div> | |
14 | ${_('Please merge the target branch to your branch before creating a pull request.')} |
|
14 | ${_('Please merge the target branch to your branch before creating a pull request.')} | |
15 | </div> |
|
15 | </div> | |
16 | %endif |
|
16 | %endif | |
@@ -24,15 +24,15 b'' | |||||
24 | %endif |
|
24 | %endif | |
25 |
|
25 | |||
26 | <div id="graph_nodes"> |
|
26 | <div id="graph_nodes"> | |
27 |
<canvas id="graph_canvas" |
|
27 | <canvas id="graph_canvas"></canvas> | |
28 | </div> |
|
28 | </div> | |
29 |
|
29 | |||
30 |
<div id="graph_content_pr" |
|
30 | <div id="graph_content_pr"> | |
31 |
|
31 | |||
32 | <table class="table compare_view_commits"> |
|
32 | <table class="table compare_view_commits"> | |
33 | %for cnt, cs in enumerate(reversed(c.cs_ranges)): |
|
33 | %for cnt, cs in enumerate(reversed(c.cs_ranges)): | |
34 | <tr id="chg_${cnt+1}" class="${'mergerow' if len(cs.parents) > 1 else ''}"> |
|
34 | <tr id="chg_${cnt+1}" class="${'mergerow' if len(cs.parents) > 1 else ''}"> | |
35 | <td style="width:50px"> |
|
35 | <td> | |
36 | %if cs.raw_id in c.statuses: |
|
36 | %if cs.raw_id in c.statuses: | |
37 | <div title="${_('Changeset status: %s') % c.statuses[cs.raw_id][1]}" class="changeset-status-ico"> |
|
37 | <div title="${_('Changeset status: %s') % c.statuses[cs.raw_id][1]}" class="changeset-status-ico"> | |
38 | <i class="icon-circle changeset-status-${c.statuses[cs.raw_id][0]}"></i> |
|
38 | <i class="icon-circle changeset-status-${c.statuses[cs.raw_id][0]}"></i> | |
@@ -64,7 +64,7 b'' | |||||
64 | ${index} |
|
64 | ${index} | |
65 | </span> |
|
65 | </span> | |
66 | </td> |
|
66 | </td> | |
67 |
<td |
|
67 | <td><span data-toggle="tooltip" title="${h.age(cs.date)}">${cs.date}</span></td> | |
68 | <td class="author"> |
|
68 | <td class="author"> | |
69 | ${h.gravatar(h.email_or_none(cs.author), size=16)} |
|
69 | ${h.gravatar(h.email_or_none(cs.author), size=16)} | |
70 | <span data-toggle="tooltip" title="${cs.author}" class="user">${h.shorter(h.person(cs.author),22)}</span> |
|
70 | <span data-toggle="tooltip" title="${cs.author}" class="user">${h.shorter(h.person(cs.author),22)}</span> | |
@@ -76,10 +76,10 b'' | |||||
76 | %endif |
|
76 | %endif | |
77 | </td> |
|
77 | </td> | |
78 | <td class="expand_commit" data-commit_id="${cs.raw_id}" title="${_('Expand commit message')}"> |
|
78 | <td class="expand_commit" data-commit_id="${cs.raw_id}" title="${_('Expand commit message')}"> | |
79 |
<i class="icon-align-left" |
|
79 | <i class="icon-align-left"></i> | |
80 | </td> |
|
80 | </td> | |
81 | <td class="mid"> |
|
81 | <td class="mid"> | |
82 |
<div class="pull-right" |
|
82 | <div class="pull-right"> | |
83 | %for tag in cs.tags: |
|
83 | %for tag in cs.tags: | |
84 | <span class="tagtag" title="${_('Tag %s') % tag}"> |
|
84 | <span class="tagtag" title="${_('Tag %s') % tag}"> | |
85 | ${h.link_to(tag,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))} |
|
85 | ${h.link_to(tag,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))} | |
@@ -109,7 +109,7 b'' | |||||
109 | %endif |
|
109 | %endif | |
110 | %if c.cs_ranges_org is not None: |
|
110 | %if c.cs_ranges_org is not None: | |
111 | ## TODO: list actual changesets? |
|
111 | ## TODO: list actual changesets? | |
112 | <div style="font-size:1.1em;font-weight: bold;clear:both;padding-top:10px"> |
|
112 | <div> | |
113 | ${h.link_to_ref(c.cs_repo.repo_name, c.cs_ref_type, c.cs_ref_name, c.cs_rev)} |
|
113 | ${h.link_to_ref(c.cs_repo.repo_name, c.cs_ref_type, c.cs_ref_name, c.cs_rev)} | |
114 | ${_('is')} |
|
114 | ${_('is')} | |
115 | <a href="${c.swap_url}">${_('%s changesets') % (len(c.cs_ranges_org))}</a> |
|
115 | <a href="${c.swap_url}">${_('%s changesets') % (len(c.cs_ranges_org))}</a> |
@@ -24,8 +24,6 b'' | |||||
24 | <i class="icon-keyhole-circled" title="${_('Private repository')}"></i> |
|
24 | <i class="icon-keyhole-circled" title="${_('Private repository')}"></i> | |
25 | %elif not private and c.visual.show_public_icon: |
|
25 | %elif not private and c.visual.show_public_icon: | |
26 | <i class="icon-globe" title="${_('Public repository')}"></i> |
|
26 | <i class="icon-globe" title="${_('Public repository')}"></i> | |
27 | %else: |
|
|||
28 | <span style="margin: 0px 8px 0px 8px"></span> |
|
|||
29 | %endif |
|
27 | %endif | |
30 | <span class="dt_repo_name">${get_name(name)}</span> |
|
28 | <span class="dt_repo_name">${get_name(name)}</span> | |
31 | </a> |
|
29 | </a> | |
@@ -77,7 +75,7 b'' | |||||
77 | </div> |
|
75 | </div> | |
78 | <div class="grid_delete pull-left"> |
|
76 | <div class="grid_delete pull-left"> | |
79 | ${h.form(h.url('delete_repo', repo_name=repo_name))} |
|
77 | ${h.form(h.url('delete_repo', repo_name=repo_name))} | |
80 |
<i class="icon-minus-circled" |
|
78 | <i class="icon-minus-circled"></i> | |
81 | ${h.submit('remove_%s' % repo_name,_('Delete'),class_="btn btn-default btn-xs", |
|
79 | ${h.submit('remove_%s' % repo_name,_('Delete'),class_="btn btn-default btn-xs", | |
82 | onclick="return confirm('"+_('Confirm to delete this repository: %s') % repo_name+"');")} |
|
80 | onclick="return confirm('"+_('Confirm to delete this repository: %s') % repo_name+"');")} | |
83 | ${h.end_form()} |
|
81 | ${h.end_form()} | |
@@ -105,7 +103,7 b'' | |||||
105 | </div> |
|
103 | </div> | |
106 | <div class="grid_delete pull-left"> |
|
104 | <div class="grid_delete pull-left"> | |
107 | ${h.form(h.url('delete_user', id=user_id))} |
|
105 | ${h.form(h.url('delete_user', id=user_id))} | |
108 |
<i class="icon-minus-circled" |
|
106 | <i class="icon-minus-circled"></i> | |
109 | ${h.submit('remove_',_('Delete'),id="remove_user_%s" % user_id, class_="btn btn-default btn-xs", |
|
107 | ${h.submit('remove_',_('Delete'),id="remove_user_%s" % user_id, class_="btn btn-default btn-xs", | |
110 | onclick="return confirm('"+_('Confirm to delete this user: %s') % username+"');")} |
|
108 | onclick="return confirm('"+_('Confirm to delete this user: %s') % username+"');")} | |
111 | ${h.end_form()} |
|
109 | ${h.end_form()} | |
@@ -120,7 +118,7 b'' | |||||
120 | </div> |
|
118 | </div> | |
121 | <div class="grid_delete pull-left"> |
|
119 | <div class="grid_delete pull-left"> | |
122 | ${h.form(h.url('delete_users_group', id=user_group_id))} |
|
120 | ${h.form(h.url('delete_users_group', id=user_group_id))} | |
123 |
<i class="icon-minus-circled" |
|
121 | <i class="icon-minus-circled"></i> | |
124 | ${h.submit('remove_',_('Delete'),id="remove_group_%s" % user_group_id, class_="btn btn-default btn-xs", |
|
122 | ${h.submit('remove_',_('Delete'),id="remove_group_%s" % user_group_id, class_="btn btn-default btn-xs", | |
125 | onclick="return confirm('"+_('Confirm to delete this user group: %s') % user_group_name+"');")} |
|
123 | onclick="return confirm('"+_('Confirm to delete this user group: %s') % user_group_name+"');")} | |
126 | ${h.end_form()} |
|
124 | ${h.end_form()} | |
@@ -135,7 +133,7 b'' | |||||
135 | </div> |
|
133 | </div> | |
136 | <div class="grid_delete pull-left"> |
|
134 | <div class="grid_delete pull-left"> | |
137 | ${h.form(h.url('delete_repos_group', group_name=repo_group_name))} |
|
135 | ${h.form(h.url('delete_repos_group', group_name=repo_group_name))} | |
138 |
<i class="icon-minus-circled" |
|
136 | <i class="icon-minus-circled"></i> | |
139 | ${h.submit('remove_%s' % repo_group_name,_('Delete'),class_="btn btn-default btn-xs", |
|
137 | ${h.submit('remove_%s' % repo_group_name,_('Delete'),class_="btn btn-default btn-xs", | |
140 | onclick="return confirm('"+ungettext('Confirm to delete this group: %s with %s repository','Confirm to delete this group: %s with %s repositories',gr_count) % (repo_group_name, gr_count)+"');")} |
|
138 | onclick="return confirm('"+ungettext('Confirm to delete this group: %s with %s repository','Confirm to delete this group: %s with %s repositories',gr_count) % (repo_group_name, gr_count)+"');")} | |
141 | ${h.end_form()} |
|
139 | ${h.end_form()} |
@@ -1,4 +1,4 b'' | |||||
1 |
<div class="file_author" |
|
1 | <div class="file_author"> | |
2 | <div class="item">${h.literal(ungettext(u'%s author',u'%s authors',len(c.authors)) % ('<b>%s</b>' % len(c.authors))) }</div> |
|
2 | <div class="item">${h.literal(ungettext(u'%s author',u'%s authors',len(c.authors)) % ('<b>%s</b>' % len(c.authors))) }</div> | |
3 | %for email, user in c.authors: |
|
3 | %for email, user in c.authors: | |
4 | <div class="contributor pull-left" data-toggle="tooltip" title="${user}"> |
|
4 | <div class="contributor pull-left" data-toggle="tooltip" title="${user}"> |
@@ -1,4 +1,4 b'' | |||||
1 |
<div id="node_history" class="clearfix" |
|
1 | <div id="node_history" class="clearfix"> | |
2 | <div class="pull-left"> |
|
2 | <div class="pull-left"> | |
3 | ${h.form(h.url('files_diff_home',repo_name=c.repo_name,f_path=c.f_path),method='get')} |
|
3 | ${h.form(h.url('files_diff_home',repo_name=c.repo_name,f_path=c.f_path),method='get')} | |
4 | ${h.hidden('diff2',c.changeset.raw_id)} |
|
4 | ${h.hidden('diff2',c.changeset.raw_id)} | |
@@ -10,7 +10,7 b'' | |||||
10 | ${h.link_to(_('Show Authors'),'#',class_="btn btn-default btn-sm" ,id="show_authors")} |
|
10 | ${h.link_to(_('Show Authors'),'#',class_="btn btn-default btn-sm" ,id="show_authors")} | |
11 | ${h.end_form()} |
|
11 | ${h.end_form()} | |
12 | </div> |
|
12 | </div> | |
13 |
<div id="file_authors" class="file_author" style=" |
|
13 | <div id="file_authors" class="file_author" style="display: none"></div> | |
14 | </div> |
|
14 | </div> | |
15 |
|
15 | |||
16 | <div id="body" class="panel panel-default"> |
|
16 | <div id="body" class="panel panel-default"> |
@@ -8,7 +8,7 b'' | |||||
8 | % if h.HasRepoPermissionLevel('write')(c.repo_name): |
|
8 | % if h.HasRepoPermissionLevel('write')(c.repo_name): | |
9 | / <span title="${_('Add New File')}"> |
|
9 | / <span title="${_('Add New File')}"> | |
10 | <a href="${h.url('files_add_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path, anchor='edit')}"> |
|
10 | <a href="${h.url('files_add_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path, anchor='edit')}"> | |
11 |
<i class="icon-plus-circled" |
|
11 | <i class="icon-plus-circled"></i></a> | |
12 | </span> |
|
12 | </span> | |
13 | % endif |
|
13 | % endif | |
14 | %endif |
|
14 | %endif |
@@ -4,12 +4,12 b'' | |||||
4 | <div> |
|
4 | <div> | |
5 | <div class="follower_user"> |
|
5 | <div class="follower_user"> | |
6 | ${h.gravatar_div(f.user.email, size=24)} |
|
6 | ${h.gravatar_div(f.user.email, size=24)} | |
7 |
<span |
|
7 | <span> <b>${f.user.username}</b> (${f.user.name} ${f.user.lastname})</span> | |
8 | </div> |
|
8 | </div> | |
9 | <div style="clear:both;padding-top: 10px"></div> |
|
9 | <div></div> | |
10 | <div class="follower_date">${_('Started following -')} |
|
10 | <div class="follower_date">${_('Started following -')} | |
11 | <span data-toggle="tooltip" title="${f.follows_from}"> ${h.age(f.follows_from)}</span></div> |
|
11 | <span data-toggle="tooltip" title="${f.follows_from}"> ${h.age(f.follows_from)}</span></div> | |
12 | <div style="border-bottom: 1px solid #DDD;margin:10px 0px 10px 0px"></div> |
|
12 | <div></div> | |
13 | </div> |
|
13 | </div> | |
14 | % endfor |
|
14 | % endfor | |
15 |
|
15 |
@@ -5,20 +5,19 b'' | |||||
5 | <div> |
|
5 | <div> | |
6 | <div class="fork_user"> |
|
6 | <div class="fork_user"> | |
7 | ${h.gravatar_div(f.owner.email, size=24)} |
|
7 | ${h.gravatar_div(f.owner.email, size=24)} | |
8 |
<span |
|
8 | <span> | |
9 | <b>${f.owner.username}</b> (${f.owner.name} ${f.owner.lastname}) / |
|
9 | <b>${f.owner.username}</b> (${f.owner.name} ${f.owner.lastname}) / | |
10 | ${h.link_to(f.repo_name,h.url('summary_home',repo_name=f.repo_name))} |
|
10 | ${h.link_to(f.repo_name,h.url('summary_home',repo_name=f.repo_name))} | |
11 | </span> |
|
11 | </span> | |
12 |
<div |
|
12 | <div>${f.description}</div> | |
13 | </div> |
|
13 | </div> | |
14 | <div style="clear:both;padding-top: 10px"></div> |
|
14 | <div></div> | |
15 | <div class="follower_date">${_('Forked')} - |
|
15 | <div class="follower_date">${_('Forked')} - | |
16 | <span data-toggle="tooltip" title="${h.fmt_date(f.created_on)}"> ${h.age(f.created_on)}</span> |
|
16 | <span data-toggle="tooltip" title="${h.fmt_date(f.created_on)}"> ${h.age(f.created_on)}</span> | |
17 | <a title="${_('Compare fork with %s') % c.repo_name}" |
|
17 | <a title="${_('Compare fork with %s') % c.repo_name}" | |
18 | href="${h.url('compare_url',repo_name=c.repo_name, org_ref_type=c.db_repo.landing_rev[0],org_ref_name=c.db_repo.landing_rev[1],other_repo=f.repo_name,other_ref_type=c.db_repo.landing_rev[0],other_ref_name=c.db_repo.landing_rev[1], merge=1)}" |
|
18 | href="${h.url('compare_url',repo_name=c.repo_name, org_ref_type=c.db_repo.landing_rev[0],org_ref_name=c.db_repo.landing_rev[1],other_repo=f.repo_name,other_ref_type=c.db_repo.landing_rev[0],other_ref_name=c.db_repo.landing_rev[1], merge=1)}" | |
19 | class="btn btn-default btn-sm"><i class="icon-git-compare"></i> ${_('Compare Fork')}</a> |
|
19 | class="btn btn-default btn-sm"><i class="icon-git-compare"></i> ${_('Compare Fork')}</a> | |
20 | </div> |
|
20 | </div> | |
21 | <div style="border-bottom: 1px solid #DDD;margin:10px 0px 10px 0px"></div> |
|
|||
22 | </div> |
|
21 | </div> | |
23 | % endfor |
|
22 | % endfor | |
24 | <ul class="pagination"> |
|
23 | <ul class="pagination"> |
@@ -43,7 +43,7 b'' | |||||
43 | ${c.journal_pager.pager()} |
|
43 | ${c.journal_pager.pager()} | |
44 | </ul> |
|
44 | </ul> | |
45 | %else: |
|
45 | %else: | |
46 | <div style="padding:5px 0px 10px 10px;"> |
|
46 | <div> | |
47 | ${_('No entries yet')} |
|
47 | ${_('No entries yet')} | |
48 | </div> |
|
48 | </div> | |
49 | %endif |
|
49 | %endif |
@@ -44,29 +44,29 b'' | |||||
44 | ##ORG |
|
44 | ##ORG | |
45 | <div> |
|
45 | <div> | |
46 | <div> |
|
46 | <div> | |
47 |
<div |
|
47 | <div> | |
48 | <b>${_('Origin repository')}:</b> <span id="org_repo_desc">${c.db_repo.description.split('\n')[0]}</span> |
|
48 | <b>${_('Origin repository')}:</b> <span id="org_repo_desc">${c.db_repo.description.split('\n')[0]}</span> | |
49 | </div> |
|
49 | </div> | |
50 | <div> |
|
50 | <div> | |
51 | ${h.select('org_repo','',c.cs_repos,class_='refs')}:${h.select('org_ref',c.default_cs_ref,c.cs_refs,class_='refs')} |
|
51 | ${h.select('org_repo','',c.cs_repos,class_='refs')}:${h.select('org_ref',c.default_cs_ref,c.cs_refs,class_='refs')} | |
52 | </div> |
|
52 | </div> | |
53 |
<div |
|
53 | <div> | |
54 | <b>${_('Revision')}:</b> <span id="org_rev_span">-</span> |
|
54 | <b>${_('Revision')}:</b> <span id="org_rev_span">-</span> | |
55 | </div> |
|
55 | </div> | |
56 | </div> |
|
56 | </div> | |
57 | </div> |
|
57 | </div> | |
58 |
|
58 | |||
59 | ##OTHER, most Probably the PARENT OF THIS FORK |
|
59 | ##OTHER, most Probably the PARENT OF THIS FORK | |
60 | <div style="border-top: 1px solid #EEE; margin: 5px 0px 0px 0px"> |
|
60 | <div> | |
61 | <div> |
|
61 | <div> | |
62 | ## filled with JS |
|
62 | ## filled with JS | |
63 |
<div |
|
63 | <div> | |
64 | <b>${_('Destination repository')}:</b> <span id="other_repo_desc">${c.a_repo.description.split('\n')[0]}</span> |
|
64 | <b>${_('Destination repository')}:</b> <span id="other_repo_desc">${c.a_repo.description.split('\n')[0]}</span> | |
65 | </div> |
|
65 | </div> | |
66 | <div> |
|
66 | <div> | |
67 | ${h.select('other_repo',c.a_repo.repo_name,c.a_repos,class_='refs')}:${h.select('other_ref',c.default_a_ref,c.a_refs,class_='refs')} |
|
67 | ${h.select('other_repo',c.a_repo.repo_name,c.a_repos,class_='refs')}:${h.select('other_ref',c.default_a_ref,c.a_refs,class_='refs')} | |
68 | </div> |
|
68 | </div> | |
69 |
<div |
|
69 | <div> | |
70 | <b>${_('Revision')}:</b> <span id="other_rev_span">-</span> |
|
70 | <b>${_('Revision')}:</b> <span id="other_rev_span">-</span> | |
71 | </div> |
|
71 | </div> | |
72 | </div> |
|
72 | </div> |
@@ -58,9 +58,9 b'' | |||||
58 | ${pr.other_repo.repo_name}#${other_ref_name} |
|
58 | ${pr.other_repo.repo_name}#${other_ref_name} | |
59 | </a> |
|
59 | </a> | |
60 | </td> |
|
60 | </td> | |
61 | <td style="text-align:right"> |
|
61 | <td> | |
62 | %if pr.owner_id == request.authuser.user_id: |
|
62 | %if pr.owner_id == request.authuser.user_id: | |
63 |
${h.form(url('pullrequest_delete', repo_name=pr.other_repo.repo_name, pull_request_id=pr.pull_request_id) |
|
63 | ${h.form(url('pullrequest_delete', repo_name=pr.other_repo.repo_name, pull_request_id=pr.pull_request_id))} | |
64 | <button class="btn btn-default btn-xs" |
|
64 | <button class="btn btn-default btn-xs" | |
65 | id="remove_${pr.pull_request_id}" |
|
65 | id="remove_${pr.pull_request_id}" | |
66 | name="remove_${pr.pull_request_id}" |
|
66 | name="remove_${pr.pull_request_id}" |
@@ -34,7 +34,7 b'' | |||||
34 | </div> |
|
34 | </div> | |
35 | <div id="pr-summary" class="form-horizontal"> |
|
35 | <div id="pr-summary" class="form-horizontal"> | |
36 |
|
36 | |||
37 |
<div class="pr-not-edit form-group" |
|
37 | <div class="pr-not-edit form-group"> | |
38 | <label>${_('Description')}:</label> |
|
38 | <label>${_('Description')}:</label> | |
39 | %if editable: |
|
39 | %if editable: | |
40 | <div id="pr-edit-btn"> |
|
40 | <div id="pr-edit-btn"> | |
@@ -67,7 +67,7 b'' | |||||
67 | <div> |
|
67 | <div> | |
68 | <div class="changeset-status-container"> |
|
68 | <div class="changeset-status-container"> | |
69 | %if c.current_voting_result: |
|
69 | %if c.current_voting_result: | |
70 |
<span class="changeset-status-ico" |
|
70 | <span class="changeset-status-ico"> | |
71 | <i class="icon-circle changeset-status-${c.current_voting_result}" title="${_('Pull request status calculated from votes')}"></i></span> |
|
71 | <i class="icon-circle changeset-status-${c.current_voting_result}" title="${_('Pull request status calculated from votes')}"></i></span> | |
72 | <span class="changeset-status-lbl" data-toggle="tooltip" title="${_('Pull request status calculated from votes')}"> |
|
72 | <span class="changeset-status-lbl" data-toggle="tooltip" title="${_('Pull request status calculated from votes')}"> | |
73 | %if c.pull_request.is_closed(): |
|
73 | %if c.pull_request.is_closed(): | |
@@ -120,9 +120,9 b'' | |||||
120 | <div> |
|
120 | <div> | |
121 | ## TODO: use cs_ranges[-1] or org_ref_parts[1] in both cases? |
|
121 | ## TODO: use cs_ranges[-1] or org_ref_parts[1] in both cases? | |
122 | %if h.is_hg(c.pull_request.org_repo): |
|
122 | %if h.is_hg(c.pull_request.org_repo): | |
123 |
<span |
|
123 | <span>hg pull ${c.pull_request.org_repo.clone_url()} -r ${h.short_id(c.cs_ranges[-1].raw_id)}</span> | |
124 | %elif h.is_git(c.pull_request.org_repo): |
|
124 | %elif h.is_git(c.pull_request.org_repo): | |
125 |
<span |
|
125 | <span>git pull ${c.pull_request.org_repo.clone_url()} ${c.pull_request.org_ref_parts[1]}</span> | |
126 | %endif |
|
126 | %endif | |
127 | </div> |
|
127 | </div> | |
128 | %endif |
|
128 | %endif | |
@@ -152,11 +152,11 b'' | |||||
152 | <div> |
|
152 | <div> | |
153 | <div class="msg-div">${c.update_msg}</div> |
|
153 | <div class="msg-div">${c.update_msg}</div> | |
154 | %if c.avail_revs: |
|
154 | %if c.avail_revs: | |
155 | <div id="updaterevs" class="clearfix" style="max-height:200px; overflow-y:auto; overflow-x:hidden; margin-bottom: 10px; padding: 1px 0"> |
|
155 | <div id="updaterevs" class="clearfix"> | |
156 |
<div |
|
156 | <div> | |
157 |
<canvas id="avail_graph_canvas" |
|
157 | <canvas id="avail_graph_canvas"></canvas> | |
158 | </div> |
|
158 | </div> | |
159 |
<table class="table" id="updaterevs-table" |
|
159 | <table class="table" id="updaterevs-table"> | |
160 | %for cnt, cs in enumerate(c.avail_cs): |
|
160 | %for cnt, cs in enumerate(c.avail_cs): | |
161 | <tr id="chg_available_${cnt+1}" class="${'mergerow' if len(cs.parents) > 1 and not (editable and cs.revision in c.avail_revs) else ''}"> |
|
161 | <tr id="chg_available_${cnt+1}" class="${'mergerow' if len(cs.parents) > 1 and not (editable and cs.revision in c.avail_revs) else ''}"> | |
162 | %if c.cs_ranges and cs.revision == c.cs_ranges[-1].revision: |
|
162 | %if c.cs_ranges and cs.revision == c.cs_ranges[-1].revision: | |
@@ -172,17 +172,17 b'' | |||||
172 | ${h.radio(name='updaterev', value=cs.raw_id, style=None if cs.revision in c.avail_revs else 'visibility: hidden')} |
|
172 | ${h.radio(name='updaterev', value=cs.raw_id, style=None if cs.revision in c.avail_revs else 'visibility: hidden')} | |
173 | </td> |
|
173 | </td> | |
174 | %endif |
|
174 | %endif | |
175 |
<td |
|
175 | <td><span data-toggle="tooltip" title="${h.age(cs.date)}">${cs.date}</span></td> | |
176 | <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> |
|
176 | <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> | |
177 | <td> |
|
177 | <td> | |
178 |
<div class="pull-right" |
|
178 | <div class="pull-right"> | |
179 | %for tag in cs.tags: |
|
179 | %for tag in cs.tags: | |
180 | <span class="tagtag" title="${_('Tag %s') % tag}"> |
|
180 | <span class="tagtag" title="${_('Tag %s') % tag}"> | |
181 | ${h.link_to(tag,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))} |
|
181 | ${h.link_to(tag,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))} | |
182 | </span> |
|
182 | </span> | |
183 | %endfor |
|
183 | %endfor | |
184 | </div> |
|
184 | </div> | |
185 |
<div class="message" |
|
185 | <div class="message">${h.urlify_text(cs.message, c.repo_name)}</div> | |
186 | </td> |
|
186 | </td> | |
187 | %endif |
|
187 | %endif | |
188 | </tr> |
|
188 | </tr> | |
@@ -208,7 +208,7 b'' | |||||
208 | ## REVIEWERS |
|
208 | ## REVIEWERS | |
209 | <div class="pull-left"> |
|
209 | <div class="pull-left"> | |
210 | <h4 class="pr-details-title">${_('Pull Request Reviewers')}</h4> |
|
210 | <h4 class="pr-details-title">${_('Pull Request Reviewers')}</h4> | |
211 |
<div id="reviewers" |
|
211 | <div id="reviewers"> | |
212 | ## members goes here ! |
|
212 | ## members goes here ! | |
213 | <div> |
|
213 | <div> | |
214 | %for member,status in c.pull_request_reviewers: |
|
214 | %for member,status in c.pull_request_reviewers: | |
@@ -254,7 +254,7 b'' | |||||
254 |
|
254 | |||
255 | %if not c.pull_request_reviewers: |
|
255 | %if not c.pull_request_reviewers: | |
256 | <h4>${_('Potential Reviewers')}</h4> |
|
256 | <h4>${_('Potential Reviewers')}</h4> | |
257 | <div style="margin: 10px 0 10px 10px; max-width: 250px"> |
|
257 | <div> | |
258 | <div> |
|
258 | <div> | |
259 | ${_('Click to add the repository owner as reviewer:')} |
|
259 | ${_('Click to add the repository owner as reviewer:')} | |
260 | </div> |
|
260 | </div> | |
@@ -276,8 +276,6 b'' | |||||
276 | </div> |
|
276 | </div> | |
277 | %endif |
|
277 | %endif | |
278 | </div> |
|
278 | </div> | |
279 | <div style="clear:both"> |
|
|||
280 | </div> |
|
|||
281 | ${h.end_form()} |
|
279 | ${h.end_form()} | |
282 | </div> |
|
280 | </div> | |
283 |
|
281 |
@@ -71,7 +71,7 b'' | |||||
71 |
|
71 | |||
72 | <div class="form-group"> |
|
72 | <div class="form-group"> | |
73 | ## <label>${_('Status')}:</label> |
|
73 | ## <label>${_('Status')}:</label> | |
74 |
<div |
|
74 | <div>${c.runtime}</div> | |
75 | </div> |
|
75 | </div> | |
76 | </div> |
|
76 | </div> | |
77 | ${h.end_form()} |
|
77 | ${h.end_form()} |
@@ -25,7 +25,7 b'' | |||||
25 | </div> |
|
25 | </div> | |
26 |
|
26 | |||
27 | <div class="graph panel-body"> |
|
27 | <div class="graph panel-body"> | |
28 | <div style="padding:0 10px 10px 17px;"> |
|
28 | <div> | |
29 | %if c.no_data: |
|
29 | %if c.no_data: | |
30 | ${c.no_data_msg} |
|
30 | ${c.no_data_msg} | |
31 | %if h.HasPermissionAny('hg.admin')('enable stats on from summary'): |
|
31 | %if h.HasPermissionAny('hg.admin')('enable stats on from summary'): | |
@@ -35,17 +35,16 b'' | |||||
35 | ${_('Stats gathered: ')} ${c.stats_percentage}% |
|
35 | ${_('Stats gathered: ')} ${c.stats_percentage}% | |
36 | %endif |
|
36 | %endif | |
37 | </div> |
|
37 | </div> | |
38 |
<div id="commit_history" |
|
38 | <div id="commit_history" class="pull-left"></div> | |
39 |
|
39 | |||
40 |
<div id="legend_data" |
|
40 | <div id="legend_data" class="pull-left"> | |
41 | <div id="legend_container"></div> |
|
41 | <div id="legend_container"></div> | |
42 | <div id="legend_choices"> |
|
42 | <div id="legend_choices"> | |
43 |
<table class="table" id="legend_choices_tables" |
|
43 | <table class="table" id="legend_choices_tables"></table> | |
44 | </div> |
|
44 | </div> | |
45 | </div> |
|
45 | </div> | |
46 |
|
46 | |||
47 | <div style="clear: both; height: 10px;"></div> |
|
47 | <div id="overview"></div> | |
48 | <div id="overview" style="width: 450px; height: 100px; float: left;"></div> |
|
|||
49 | </div> |
|
48 | </div> | |
50 | </div> |
|
49 | </div> | |
51 |
|
50 |
@@ -112,7 +112,7 b'' | |||||
112 | <a class="btn btn-default btn-sm" href="${h.url('files_archive_home',repo_name=c.db_repo.repo_name,fname='tip.zip')}"><i class="icon-file-zip"></i> ${_('Download as zip')}</a> |
|
112 | <a class="btn btn-default btn-sm" href="${h.url('files_archive_home',repo_name=c.db_repo.repo_name,fname='tip.zip')}"><i class="icon-file-zip"></i> ${_('Download as zip')}</a> | |
113 | </span> |
|
113 | </span> | |
114 | ${h.hidden('download_options')} |
|
114 | ${h.hidden('download_options')} | |
115 |
<span |
|
115 | <span> | |
116 | <label data-toggle="tooltip" title="${_('Check this to download archive with subrepos')}"> |
|
116 | <label data-toggle="tooltip" title="${_('Check this to download archive with subrepos')}"> | |
117 | <input id="archive_subrepos" type="checkbox" name="subrepos" /> |
|
117 | <input id="archive_subrepos" type="checkbox" name="subrepos" /> | |
118 | ${_('With subrepos')} |
|
118 | ${_('With subrepos')} |
@@ -244,7 +244,7 b' class _BaseTestCase(TestController):' | |||||
244 | response = self.app.get(url(controller='forks', action='forks', |
|
244 | response = self.app.get(url(controller='forks', action='forks', | |
245 | repo_name=repo_name)) |
|
245 | repo_name=repo_name)) | |
246 |
|
246 | |||
247 |
response.mustcontain('<div |
|
247 | response.mustcontain('<div>fork of vcs test</div>') | |
248 |
|
248 | |||
249 | def test_zzz_fork_permission_page(self): |
|
249 | def test_zzz_fork_permission_page(self): | |
250 | usr = self.log_user(self.username, self.password)['user_id'] |
|
250 | usr = self.log_user(self.username, self.password)['user_id'] |
General Comments 0
You need to be logged in to leave comments.
Login now