##// END OF EJS Templates
auth: don't break hashing in case of user with empty password....
auth: don't break hashing in case of user with empty password. In some cases such as LDAP user created via external scripts users might set the passwords to empty. The hashing uses the md5(password_hash) to store reference to detect password changes and forbid using the same password. In case of pure LDAP users this is not valid, and we shouldn't raise Errors in such case. This change makes it work for empty passwords now.

File last commit:

r2175:ea878558 default
r2203:8a18c3c3 default
Show More
list.mako
255 lines | 9.7 KiB | application/x-mako | MakoHtmlLexer
templating: use .mako as extensions for template files.
r1282 ## -*- coding: utf-8 -*-
<%inherit file="base.mako"/>
<%def name="breadcrumbs_links()">
%if c.repo:
repo-settings: converted repo settings to pyramid...
r1716 ${h.link_to('Settings',h.route_path('edit_repo', repo_name=c.repo.repo_name))}
templating: use .mako as extensions for template files.
r1282 %elif c.repo_group:
audit-logs: introduced new view to replace admin journal....
r1758 ${h.link_to(_('Admin'),h.route_path('admin_home'))}
templating: use .mako as extensions for template files.
r1282 &raquo;
repo-groups: moved to pyramid
r2175 ${h.link_to(_('Repository Groups'),h.route_path('repo_groups'))}
templating: use .mako as extensions for template files.
r1282 &raquo;
repo-groups: moved to pyramid
r2175 ${h.link_to(c.repo_group.group_name,h.route_path('edit_repo_group', repo_group_name=c.repo_group.group_name))}
templating: use .mako as extensions for template files.
r1282 %else:
audit-logs: introduced new view to replace admin journal....
r1758 ${h.link_to(_('Admin'),h.route_path('admin_home'))}
templating: use .mako as extensions for template files.
r1282 &raquo;
${h.link_to(_('Settings'),h.url('admin_settings'))}
%endif
integrations: rewrote usage of pylons components inside integrations....
r1990 %if c.current_IntegrationType:
templating: use .mako as extensions for template files.
r1282 &raquo;
%if c.repo:
${h.link_to(_('Integrations'),
integrations: rewrote usage of pylons components inside integrations....
r1990 request.route_path(route_name='repo_integrations_home',
repo_name=c.repo.repo_name))}
templating: use .mako as extensions for template files.
r1282 %elif c.repo_group:
${h.link_to(_('Integrations'),
integrations: rewrote usage of pylons components inside integrations....
r1990 request.route_path(route_name='repo_group_integrations_home',
repo_group_name=c.repo_group.group_name))}
templating: use .mako as extensions for template files.
r1282 %else:
${h.link_to(_('Integrations'),
integrations: rewrote usage of pylons components inside integrations....
r1990 request.route_path(route_name='global_integrations_home'))}
templating: use .mako as extensions for template files.
r1282 %endif
&raquo;
integrations: rewrote usage of pylons components inside integrations....
r1990 ${c.current_IntegrationType.display_name}
templating: use .mako as extensions for template files.
r1282 %else:
&raquo;
${_('Integrations')}
%endif
</%def>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
%if c.repo:
${_('Current Integrations for Repository: {repo_name}').format(repo_name=c.repo.repo_name)}
%elif c.repo_group:
${_('Current Integrations for repository group: {repo_group_name}').format(repo_group_name=c.repo_group.group_name)}
%else:
${_('Current Integrations')}
%endif
</h3>
</div>
<div class="panel-body">
<%
if c.repo:
home_url = request.route_path('repo_integrations_home',
repo_name=c.repo.repo_name)
elif c.repo_group:
home_url = request.route_path('repo_group_integrations_home',
repo_group_name=c.repo_group.group_name)
else:
home_url = request.route_path('global_integrations_home')
%>
integrations: rewrote usage of pylons components inside integrations....
r1990 <a href="${home_url}" class="btn ${not c.current_IntegrationType and 'btn-primary' or ''}">${_('All')}</a>
templating: use .mako as extensions for template files.
r1282
integrations: rewrote usage of pylons components inside integrations....
r1990 %for integration_key, IntegrationType in c.available_integrations.items():
integrations: expose EE integrations as dummy objects to show...
r2138 % if not IntegrationType.is_dummy:
<%
if c.repo:
list_url = request.route_path('repo_integrations_list',
repo_name=c.repo.repo_name,
integration=integration_key)
elif c.repo_group:
list_url = request.route_path('repo_group_integrations_list',
repo_group_name=c.repo_group.group_name,
integration=integration_key)
else:
list_url = request.route_path('global_integrations_list',
integration=integration_key)
%>
<a href="${list_url}"
class="btn ${c.current_IntegrationType and integration_key == c.current_IntegrationType.key and 'btn-primary' or ''}">
${IntegrationType.display_name}
</a>
% endif
templating: use .mako as extensions for template files.
r1282 %endfor
<%
integrations: rewrote usage of pylons components inside integrations....
r1990 integration_type = c.current_IntegrationType and c.current_IntegrationType.display_name or ''
templating: use .mako as extensions for template files.
r1282 if c.repo:
create_url = h.route_path('repo_integrations_new', repo_name=c.repo.repo_name)
elif c.repo_group:
create_url = h.route_path('repo_group_integrations_new', repo_group_name=c.repo_group.group_name)
else:
create_url = h.route_path('global_integrations_new')
%>
<p class="pull-right">
<a href="${create_url}" class="btn btn-small btn-success">${_(u'Create new integration')}</a>
</p>
<table class="rctable integrations">
<thead>
<tr>
integrations: rewrote usage of pylons components inside integrations....
r1990 <th><a href="?sort=enabled:${c.rev_sort_dir}">${_('Enabled')}</a></th>
<th><a href="?sort=name:${c.rev_sort_dir}">${_('Name')}</a></th>
<th colspan="2"><a href="?sort=integration_type:${c.rev_sort_dir}">${_('Type')}</a></th>
<th><a href="?sort=scope:${c.rev_sort_dir}">${_('Scope')}</a></th>
templating: use .mako as extensions for template files.
r1282 <th>${_('Actions')}</th>
<th></th>
</tr>
</thead>
<tbody>
integrations: rewrote usage of pylons components inside integrations....
r1990 %if not c.integrations_list:
templating: use .mako as extensions for template files.
r1282 <tr>
<td colspan="7">
integrations: rewrote usage of pylons components inside integrations....
r1990
templating: use .mako as extensions for template files.
r1282 %if c.repo:
${_('No {type} integrations for repo {repo} exist yet.').format(type=integration_type, repo=c.repo.repo_name)}
%elif c.repo_group:
${_('No {type} integrations for repogroup {repogroup} exist yet.').format(type=integration_type, repogroup=c.repo_group.group_name)}
%else:
${_('No {type} integrations exist yet.').format(type=integration_type)}
%endif
integrations: rewrote usage of pylons components inside integrations....
r1990 %if c.current_IntegrationType:
templating: use .mako as extensions for template files.
r1282 <%
if c.repo:
integrations: rewrote usage of pylons components inside integrations....
r1990 create_url = h.route_path('repo_integrations_create', repo_name=c.repo.repo_name, integration=c.current_IntegrationType.key)
templating: use .mako as extensions for template files.
r1282 elif c.repo_group:
integrations: rewrote usage of pylons components inside integrations....
r1990 create_url = h.route_path('repo_group_integrations_create', repo_group_name=c.repo_group.group_name, integration=c.current_IntegrationType.key)
templating: use .mako as extensions for template files.
r1282 else:
integrations: rewrote usage of pylons components inside integrations....
r1990 create_url = h.route_path('global_integrations_create', integration=c.current_IntegrationType.key)
templating: use .mako as extensions for template files.
r1282 %>
%endif
<a href="${create_url}">${_(u'Create one')}</a>
</td>
</tr>
%endif
integrations: rewrote usage of pylons components inside integrations....
r1990 %for IntegrationType, integration in c.integrations_list:
templating: use .mako as extensions for template files.
r1282 <tr id="integration_${integration.integration_id}">
<td class="td-enabled">
%if integration.enabled:
<div class="flag_status approved pull-left"></div>
%else:
<div class="flag_status rejected pull-left"></div>
%endif
</td>
<td class="td-description">
${integration.name}
</td>
<td class="td-icon">
integrations: rewrote usage of pylons components inside integrations....
r1990 %if integration.integration_type in c.available_integrations:
templating: use .mako as extensions for template files.
r1282 <div class="integration-icon">
integrations: rewrote usage of pylons components inside integrations....
r1990 ${c.available_integrations[integration.integration_type].icon|n}
templating: use .mako as extensions for template files.
r1282 </div>
%else:
?
%endif
</td>
<td class="td-type">
${integration.integration_type}
</td>
<td class="td-scope">
%if integration.repo:
repo-summary: re-implemented summary view as pyramid....
r1785 <a href="${h.route_path('repo_summary', repo_name=integration.repo.repo_name)}">
templating: use .mako as extensions for template files.
r1282 ${_('repo')}:${integration.repo.repo_name}
</a>
%elif integration.repo_group:
home: moved home and repo group views into pyramid....
r1774 <a href="${h.route_path('repo_group_home', repo_group_name=integration.repo_group.group_name)}">
templating: use .mako as extensions for template files.
r1282 ${_('repogroup')}:${integration.repo_group.group_name}
%if integration.child_repos_only:
${_('child repos only')}
%else:
${_('cascade to all')}
%endif
</a>
%else:
%if integration.child_repos_only:
${_('top level repos only')}
%else:
${_('global')}
%endif
</td>
%endif
<td class="td-action">
%if not IntegrationType:
${_('unknown integration')}
%else:
<%
if c.repo:
edit_url = request.route_path('repo_integrations_edit',
repo_name=c.repo.repo_name,
integration=integration.integration_type,
integration_id=integration.integration_id)
elif c.repo_group:
edit_url = request.route_path('repo_group_integrations_edit',
repo_group_name=c.repo_group.group_name,
integration=integration.integration_type,
integration_id=integration.integration_id)
else:
edit_url = request.route_path('global_integrations_edit',
integration=integration.integration_type,
integration_id=integration.integration_id)
%>
<div class="grid_edit">
<a href="${edit_url}">${_('Edit')}</a>
</div>
<div class="grid_delete">
<a href="${edit_url}"
class="btn btn-link btn-danger delete_integration_entry"
data-desc="${integration.name}"
data-uid="${integration.integration_id}">
${_('Delete')}
</a>
</div>
%endif
</td>
</tr>
%endfor
<tr id="last-row"></tr>
</tbody>
</table>
<div class="integrations-paginator">
<div class="pagination-wh pagination-left">
integrations: rewrote usage of pylons components inside integrations....
r1990 ${c.integrations_list.pager('$link_previous ~2~ $link_next')}
templating: use .mako as extensions for template files.
r1282 </div>
</div>
</div>
</div>
<script type="text/javascript">
var delete_integration = function(entry) {
if (confirm("Confirm to remove this integration: "+$(entry).data('desc'))) {
var request = $.ajax({
type: "POST",
url: $(entry).attr('href'),
data: {
'delete': 'delete',
'csrf_token': CSRF_TOKEN
},
success: function(){
location.reload();
},
error: function(data, textStatus, errorThrown){
alert("Error while deleting entry.\nError code {0} ({1}). URL: {2}".format(data.status,data.statusText,$(entry)[0].url));
}
});
};
html: fixed found syntax problems
r1283 };
templating: use .mako as extensions for template files.
r1282
$('.delete_integration_entry').on('click', function(e){
e.preventDefault();
delete_integration(this);
});
</script>