##// END OF EJS Templates
clean-up of breadcrumbs on pages with repo context bar
clean-up of breadcrumbs on pages with repo context bar

File last commit:

r3582:1f334a68 beta
r3602:bb1eecda 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()">
improved title consistency...
r3582 ${_('Users administration')} &middot; ${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>