##// END OF EJS Templates
audit-logger: use raw JSON with empty data to control unicode decode warnings....
audit-logger: use raw JSON with empty data to control unicode decode warnings. Passing in empty dict triggers warnings on sqlalchemy level that we're trying to pass in NON unicode into Unicode column.

File last commit:

r2175:ea878558 default
r2184:c4cc6e2a default
Show More
index_base.mako
173 lines | 7.6 KiB | application/x-mako | MakoHtmlLexer
templating: use .mako as extensions for template files.
r1282 <%inherit file="/base/base.mako"/>
<%def name="main()">
<div class="box">
<!-- box / title -->
<div class="title">
<div class="block-left breadcrumbs">
<input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
${self.breadcrumbs()}
<span id="match_container" style="display:none">&raquo; <span id="match_count">0</span> ${_('matches')}</span>
</div>
%if c.rhodecode_user.username != h.DEFAULT_USER:
<div class="block-right">
<%
is_admin = h.HasPermissionAny('hg.admin')('can create repos index page')
create_repo = h.HasPermissionAny('hg.create.repository')('can create repository index page')
create_repo_group = h.HasPermissionAny('hg.repogroup.create.true')('can create repository groups index page')
create_user_group = h.HasPermissionAny('hg.usergroup.create.true')('can create user groups index page')
gr_name = c.repo_group.group_name if c.repo_group else None
# create repositories with write permission on group is set to true
create_on_write = h.HasPermissionAny('hg.create.write_on_repogroup.true')()
group_admin = h.HasRepoGroupPermissionAny('group.admin')(gr_name, 'group admin index page')
group_write = h.HasRepoGroupPermissionAny('group.write')(gr_name, 'can write into group index page')
%>
%if not c.repo_group:
## no repository group context here
%if is_admin or create_repo:
repositories: rewrote whole admin section to pyramid....
r2014 <a href="${h.route_path('repo_new')}" class="btn btn-small btn-success btn-primary">${_('Add Repository')}</a>
templating: use .mako as extensions for template files.
r1282 %endif
%if is_admin or create_repo_group:
repo-groups: moved to pyramid
r2175 <a href="${h.route_path('repo_group_new')}" class="btn btn-small btn-default">${_(u'Add Repository Group')}</a>
templating: use .mako as extensions for template files.
r1282 %endif
%else:
##we're inside other repository group other terms apply
%if is_admin or group_admin or (group_write and create_on_write):
routes: add parent_group in add repository link on repo groups. Was lost in pyramid migration.
r2085 <a href="${h.route_path('repo_new',_query=dict(parent_group=c.repo_group.group_id))}" class="btn btn-small btn-success btn-primary">${_('Add Repository')}</a>
templating: use .mako as extensions for template files.
r1282 %endif
%if is_admin or group_admin:
repo-groups: moved to pyramid
r2175 <a href="${h.route_path('repo_group_new',_query=dict(parent_group=c.repo_group.group_id))}" class="btn btn-small btn-default">${_(u'Add Repository Group')}</a>
templating: use .mako as extensions for template files.
r1282 %endif
%if is_admin or group_admin:
repo-groups: moved to pyramid
r2175 <a href="${h.route_path('edit_repo_group',repo_group_name=c.repo_group.group_name)}" title="${_('You have admin right to this group, and can edit it')}" class="btn btn-small btn-primary">${_('Edit Repository Group')}</a>
templating: use .mako as extensions for template files.
r1282 %endif
%endif
</div>
%endif
</div>
<!-- end box / title -->
<div class="table">
<div id="groups_list_wrap">
<table id="group_list_table" class="display"></table>
</div>
</div>
<div class="table">
<div id="repos_list_wrap">
<table id="repo_list_table" class="display"></table>
</div>
</div>
</div>
<script>
$(document).ready(function() {
var get_datatable_count = function() {
var api = $('#repo_list_table').dataTable().api();
var pageInfo = api.page.info();
var repos = pageInfo.recordsDisplay;
var reposTotal = pageInfo.recordsTotal;
api = $('#group_list_table').dataTable().api();
pageInfo = api.page.info();
var repoGroups = pageInfo.recordsDisplay;
var repoGroupsTotal = pageInfo.recordsTotal;
if (repoGroups !== repoGroupsTotal) {
$('#match_count').text(repos+repoGroups);
}
if (repos !== reposTotal) {
$('#match_container').show();
}
if ($('#q_filter').val() === '') {
$('#match_container').hide();
}
};
// repo group list
$('#group_list_table').DataTable({
data: ${c.repo_groups_data|n},
dom: 'rtp',
pageLength: ${c.visual.dashboard_items},
order: [[ 0, "asc" ]],
columns: [
{ data: {"_": "name",
"sort": "name_raw"}, title: "${_('Name')}", className: "td-componentname" },
{ data: 'menu', "bSortable": false, className: "quick_repo_menu" },
{ data: {"_": "desc",
"sort": "desc"}, title: "${_('Description')}", className: "td-description" },
repository-groups: introduce last change for repository groups.
r1940 { data: {"_": "last_change",
"sort": "last_change_raw",
"type": Number}, title: "${_('Last Change')}", className: "td-time" },
templating: use .mako as extensions for template files.
r1282 { data: {"_": "owner",
"sort": "owner"}, title: "${_('Owner')}", className: "td-user" }
],
language: {
paginate: DEFAULT_GRID_PAGINATION,
emptyTable: _gettext("No repository groups available yet.")
},
"drawCallback": function( settings, json ) {
timeagoActivate();
quick_repo_menu();
}
});
// repo list
$('#repo_list_table').DataTable({
data: ${c.repos_data|n},
dom: 'rtp',
order: [[ 0, "asc" ]],
pageLength: ${c.visual.dashboard_items},
columns: [
{ data: {"_": "name",
"sort": "name_raw"}, title: "${_('Name')}", className: "truncate-wrap td-componentname" },
{ data: 'menu', "bSortable": false, className: "quick_repo_menu" },
{ data: {"_": "desc",
"sort": "desc"}, title: "${_('Description')}", className: "td-description" },
{ data: {"_": "last_change",
"sort": "last_change_raw",
"type": Number}, title: "${_('Last Change')}", className: "td-time" },
{ data: {"_": "last_changeset",
"sort": "last_changeset_raw",
"type": Number}, title: "${_('Commit')}", className: "td-hash" },
{ data: {"_": "owner",
"sort": "owner"}, title: "${_('Owner')}", className: "td-user" },
],
language: {
paginate: DEFAULT_GRID_PAGINATION,
emptyTable: _gettext("No repositories available yet.")
},
"drawCallback": function( settings, json ) {
timeagoActivate();
quick_repo_menu();
}
});
// update the counter when doing search
$('#repo_list_table, #group_list_table').on( 'search.dt', function (e,settings) {
get_datatable_count();
});
// filter, filter both grids
$('#q_filter').on( 'keyup', function () {
var repo_api = $('#repo_list_table').dataTable().api();
repo_api
.columns( 0 )
.search( this.value )
.draw();
var repo_group_api = $('#group_list_table').dataTable().api();
repo_group_api
.columns( 0 )
.search( this.value )
.draw();
});
// refilter table if page load via back button
$("#q_filter").trigger('keyup');
});
</script>
</%def>