##// END OF EJS Templates
iterate over repos groups for bool() calls to actually work on it....
iterate over repos groups for bool() calls to actually work on it. fixes some issues with correctly displaying if there are no groups you have permission to.

File last commit:

r3201:663f4f26 beta
r3418:9fe4543b beta
Show More
users.html
147 lines | 4.5 KiB | text/html | HtmlLexer
renamed project to rhodecode
r547 ## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>
<%def name="title()">
#38 updated RhodeCode titles
r619 ${_('Users administration')} - ${c.rhodecode_name}
renamed project to rhodecode
r547 </%def>
<%def name="breadcrumbs_links()">
implemented admin panel Users table with YUI datatable...
r2658 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" value="${_('quick filter...')}"/> ${h.link_to(_('Admin'),h.url('admin_home'))} &raquo; <span id="user_count">0</span> ${_('users')}
renamed project to rhodecode
r547 </%def>
<%def name="page_nav()">
Mads Kiilerich
html: don't use tabs
r3197 ${self.menu('admin')}
renamed project to rhodecode
r547 </%def>
<%def name="main()">
<div class="box">
<!-- box / title -->
<div class="title">
white space cleanup
r2673 ${self.breadcrumbs()}
renamed project to rhodecode
r547 <ul class="links">
<li>
Mads Kiilerich
html: don't hardcode uppercase texts...
r3201 <span>${h.link_to(_(u'Add new user'),h.url('new_user'))}</span>
renamed project to rhodecode
r547 </li>
White-space cleanup
r1888 </ul>
renamed project to rhodecode
r547 </div>
<!-- end box / title -->
implemented admin panel Users table with YUI datatable...
r2658 <div class="table yui-skin-sam" id="users_list_wrap"></div>
<div id="user-paginator" style="padding: 0px 0px 0px 20px"></div>
renamed project to rhodecode
r547 </div>
implemented admin panel Users table with YUI datatable...
r2658
<script>
var url = "${h.url('formatted_users', format='json')}";
var data = ${c.data|n};
var myDataSource = new YAHOO.util.DataSource(data);
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
myDataSource.responseSchema = {
Mads Kiilerich
html: don't use tabs
r3197 resultsList: "records",
implemented admin panel Users table with YUI datatable...
r2658 fields: [
{key: "gravatar"},
{key: "raw_username"},
{key: "username"},
{key: "firstname"},
{key: "lastname"},
{key: "last_login"},
fixed sorting by last_login in users admin page
r2699 {key: "last_login_raw"},
implemented admin panel Users table with YUI datatable...
r2658 {key: "active"},
{key: "admin"},
{key: "ldap"},
{key: "action"},
]
};
myDataSource.doBeforeCallback = function(req,raw,res,cb) {
// This is the filter function
var data = res.results || [],
filtered = [],
i,l;
white space cleanup
r2673
implemented admin panel Users table with YUI datatable...
r2658 if (req) {
req = req.toLowerCase();
for (i = 0; i<data.length; i++) {
Mads Kiilerich
html: don't use tabs
r3197 var pos = data[i].raw_username.toLowerCase().indexOf(req)
implemented admin panel Users table with YUI datatable...
r2658 if (pos != -1) {
filtered.push(data[i]);
}
}
res.results = filtered;
}
YUD.get('user_count').innerHTML = res.results.length;
return res;
}
// main table sorting
var myColumnDefs = [
white space cleanup
r2673 {key:"gravatar",label:"",sortable:false,},
implemented admin panel Users table with YUI datatable...
r2658 {key:"username",label:"${_('username')}",sortable:true,
Mads Kiilerich
html: don't use tabs
r3197 sortOptions: { sortFunction: linkSort }
implemented admin panel Users table with YUI datatable...
r2658 },
{key:"firstname",label:"${_('firstname')}",sortable:true,},
{key:"lastname",label:"${_('lastname')}",sortable:true,},
fixed sorting by last_login in users admin page
r2699 {key:"last_login",label:"${_('last login')}",sortable:true,
Mads Kiilerich
html: don't use tabs
r3197 sortOptions: { sortFunction: lastLoginSort }},
implemented admin panel Users table with YUI datatable...
r2658 {key:"active",label:"${_('active')}",sortable:true,},
{key:"admin",label:"${_('admin')}",sortable:true,},
{key:"ldap",label:"${_('ldap')}",sortable:true,},
{key:"action",label:"${_('action')}",sortable:false},
];
var myDataTable = new YAHOO.widget.DataTable("users_list_wrap", myColumnDefs, myDataSource,{
sortedBy:{key:"username",dir:"asc"},
paginator: new YAHOO.widget.Paginator({
rowsPerPage: 15,
alwaysVisible: false,
template : "{PreviousPageLink} {FirstPageLink} {PageLinks} {LastPageLink} {NextPageLink}",
pageLinks: 5,
containerClass: 'pagination-wh',
currentPageClass: 'pager_curpage',
pageLinkClass: 'pager_link',
nextPageLinkLabel: '&gt;',
previousPageLinkLabel: '&lt;',
firstPageLinkLabel: '&lt;&lt;',
lastPageLinkLabel: '&gt;&gt;',
containers:['user-paginator']
}),
MSG_SORTASC:"${_('Click to sort ascending')}",
MSG_SORTDESC:"${_('Click to sort descending')}",
MSG_EMPTY:"${_('No records found.')}",
MSG_ERROR:"${_('Data error.')}",
MSG_LOADING:"${_('Loading...')}",
}
);
myDataTable.subscribe('postRenderEvent',function(oArgs) {
});
white space cleanup
r2673
implemented admin panel Users table with YUI datatable...
r2658 var filterTimeout = null;
updateFilter = function () {
// Reset timeout
filterTimeout = null;
// Reset sort
var state = myDataTable.getState();
state.sortedBy = {key:'username', dir:YAHOO.widget.DataTable.CLASS_ASC};
// Get filtered data
myDataSource.sendRequest(YUD.get('q_filter').value,{
success : myDataTable.onDataReturnInitializeTable,
failure : myDataTable.onDataReturnInitializeTable,
scope : myDataTable,
argument: state
});
white space cleanup
r2673 };
implemented admin panel Users table with YUI datatable...
r2658 YUE.on('q_filter','click',function(){
YUD.get('q_filter').value = '';
});
YUE.on('q_filter','keyup',function (e) {
clearTimeout(filterTimeout);
filterTimeout = setTimeout(updateFilter,600);
white space cleanup
r2673 });
implemented admin panel Users table with YUI datatable...
r2658 </script>
renamed project to rhodecode
r547 </%def>