##// END OF EJS Templates
db: adjust beaker_cache column size. If this column is created via Beaker itself it uses...
db: adjust beaker_cache column size. If this column is created via Beaker itself it uses BLOB for mysql, this can cause some issues with cache sizes not fitting. We move the creation into our script, then it uses proper size.

File last commit:

r2727:15796c8e default
r2734:caa42fff default
Show More
user_groups.mako
115 lines | 3.7 KiB | application/x-mako | MakoHtmlLexer
## -*- coding: utf-8 -*-
<%inherit file="/base/base.mako"/>
<%def name="title()">
${_('User groups administration')}
%if c.rhodecode_name:
&middot; ${h.branding(c.rhodecode_name)}
%endif
</%def>
<%def name="breadcrumbs_links()">
<input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
${h.link_to(_('Admin'),h.route_path('admin_home'))} &raquo; <span id="user_group_count">0</span>
</%def>
<%def name="menu_bar_nav()">
${self.menu_items(active='admin')}
</%def>
<%def name="main()">
<div class="box">
<div class="title">
${self.breadcrumbs()}
<ul class="links">
%if h.HasPermissionAny('hg.admin', 'hg.usergroup.create.true')():
<li>
<a href="${h.route_path('user_groups_new')}" class="btn btn-small btn-success">${_(u'Add User Group')}</a>
</li>
%endif
</ul>
</div>
<div id="repos_list_wrap">
<table id="user_group_list_table" class="display"></table>
</div>
</div>
<script>
$(document).ready(function() {
var $userGroupsListTable = $('#user_group_list_table');
// user list
$userGroupsListTable.DataTable({
processing: true,
serverSide: true,
ajax: {
"url": "${h.route_path('user_groups_data')}",
"dataSrc": function (json) {
var filteredCount = json.recordsFiltered;
var filteredInactiveCount = json.recordsFilteredInactive;
var totalInactive = json.recordsTotalInactive;
var total = json.recordsTotal;
var _text = _gettext(
"{0} ({1} inactive) of {2} user groups ({3} inactive)").format(
filteredCount, filteredInactiveCount, total, totalInactive);
if (total === filteredCount) {
_text = _gettext(
"{0} user groups ({1} inactive)").format(total, totalInactive);
}
$('#user_group_count').text(_text);
return json.data;
},
},
dom: 'rtp',
pageLength: ${c.visual.admin_grid_items},
order: [[ 0, "asc" ]],
columns: [
{ data: {"_": "users_group_name",
"sort": "users_group_name"}, title: "${_('Name')}", className: "td-componentname" },
{ data: {"_": "description",
"sort": "description"}, title: "${_('Description')}", className: "td-description" },
{ data: {"_": "members",
"sort": "members"}, title: "${_('Members')}", className: "td-number" },
{ data: {"_": "sync",
"sort": "sync"}, title: "${_('Sync')}", className: "td-sync" },
{ data: {"_": "active",
"sort": "active"}, title: "${_('Active')}", className: "td-active" },
{ data: {"_": "owner",
"sort": "owner"}, title: "${_('Owner')}", className: "td-user" },
{ data: {"_": "action",
"sort": "action"}, title: "${_('Action')}", className: "td-action", orderable: false}
],
language: {
paginate: DEFAULT_GRID_PAGINATION,
sProcessing: _gettext('loading...'),
emptyTable: _gettext("No user groups available yet.")
}
});
$userGroupsListTable.on('xhr.dt', function(e, settings, json, xhr){
$userGroupsListTable.css('opacity', 1);
});
$userGroupsListTable.on('preXhr.dt', function(e, settings, data){
$userGroupsListTable.css('opacity', 0.3);
});
// filter
$('#q_filter').on('keyup',
$.debounce(250, function() {
$('#user_group_list_table').DataTable().search(
$('#q_filter').val()
).draw();
})
);
});
</script>
</%def>