##// END OF EJS Templates
user group: sort lists of current and available members by username...
user group: sort lists of current and available members by username It was hard to navigate lists with 200 users in "random" (user_id?) order.

File last commit:

r3530:53eafc98 merge beta
r3624:4dddb7ee beta
Show More
index_base.html
340 lines | 14.0 KiB | text/html | HtmlLexer
White-space cleanup
r1888 <%page args="parent" />
fixes #209, repos groups and index page now share same common page.
r1403 <div class="box">
<!-- box / title -->
<div class="title">
fixes code view issue on chrome
r1475 <h5>
White-space cleanup
r1888 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" value="${_('quick filter...')}"/> ${parent.breadcrumbs()} <span id="repo_count">0</span> ${_('repositories')}
fixes #209, repos groups and index page now share same common page.
r1403 </h5>
%if c.rhodecode_user.username != 'default':
Group management delegation:...
r3222 <ul class="links">
Implemented #738 Giving a user WRITE+ permissions on folder should not allow repo creation in root folder....
r3333 %if h.HasPermissionAny('hg.admin','hg.create.repository')() or h.HasReposGroupPermissionAny('group.write', 'group.admin')(c.group.group_name if c.group else None):
fixes #209, repos groups and index page now share same common page.
r1403 <li>
#401 repository group is automatically pre-selected when adding repos inside a repository group
r2130 %if c.group:
hide add repository button when you don't have at least write permission in group...
r3241 <span>${h.link_to(_('Add repository'),h.url('admin_settings_create_repository',parent_group=c.group.group_id))}</span>
added "add group" shortcuts for admins, and group admins
r3369 %if h.HasPermissionAny('hg.admin')() or h.HasReposGroupPermissionAny('group.admin')(c.group.group_name):
<span>${h.link_to(_(u'Add group'),h.url('new_repos_group', parent_group=c.group.group_id))}</span>
whitespace cleanup
r3394 %endif
#401 repository group is automatically pre-selected when adding repos inside a repository group
r2130 %else:
whitespace cleanup
r3224 <span>${h.link_to(_('Add repository'),h.url('admin_settings_create_repository'))}</span>
added "add group" shortcuts for admins, and group admins
r3369 %if h.HasPermissionAny('hg.admin')():
<span>${h.link_to(_(u'Add group'),h.url('new_repos_group'))}</span>
%endif
White space cleanup
r2150 %endif
White-space cleanup
r1888 </li>
fixes #209, repos groups and index page now share same common page.
r1403 %endif
Group management delegation:...
r3222 %if c.group and h.HasReposGroupPermissionAny('group.admin')(c.group.group_name):
<li>
<span>${h.link_to(_('Edit group'),h.url('edit_repos_group',group_name=c.group.group_name), title=_('You have admin right to this group, and can edit it'))}</span>
</li>
%endif
</ul>
fixes #209, repos groups and index page now share same common page.
r1403 %endif
</div>
<!-- end box / title -->
<div class="table">
% if c.groups:
fixes #229 repo sorting is not working....
r1778 <div id='groups_list_wrap' class="yui-skin-sam">
<table id="groups_list">
<thead>
<tr>
<th class="left"><a href="#">${_('Group name')}</a></th>
<th class="left"><a href="#">${_('Description')}</a></th>
##<th class="left"><a href="#">${_('Number of repositories')}</a></th>
</tr>
</thead>
White-space cleanup
r1888
fixes #229 repo sorting is not working....
r1778 ## REPO GROUPS
% for gr in c.groups:
fixes #209, repos groups and index page now share same common page.
r1403 <tr>
fixes #229 repo sorting is not working....
r1778 <td>
<div style="white-space: nowrap">
Mads Kiilerich
follow-up on texts missing from 'users groups'/'repositories group' cleanup
r3416 <img class="icon" alt="${_('Repository group')}" src="${h.url('/images/icons/database_link.png')}"/>
fixes #229 repo sorting is not working....
r1778 ${h.link_to(gr.name,url('repos_group_home',group_name=gr.group_name))}
</div>
</td>
merged + fixed pull request #62: Implemented metatags and visualisation options....
r2674 %if c.visual.stylify_metatags:
urlify group description also
r2785 <td>${h.urlify_text(h.desc_stylize(gr.group_description))}</td>
merged + fixed pull request #62: Implemented metatags and visualisation options....
r2674 %else:
<td>${gr.group_description}</td>
%endif
#227 Initial version of repository groups permissions system...
r1982 ## this is commented out since for multi nested repos can be HEAVY!
## in number of executed queries during traversing uncomment at will
##<td><b>${gr.repositories_recursive_count}</b></td>
fixes #209, repos groups and index page now share same common page.
r1403 </tr>
fixes #229 repo sorting is not working....
r1778 % endfor
</table>
</div>
fixes issues with groups paginator
r3155 <div id="group-user-paginator" style="padding: 0px 0px 0px 0px"></div>
fixes #209, repos groups and index page now share same common page.
r1403 <div style="height: 20px"></div>
% endif
added welcome message if no repositories are present in current view
r1437 <div id="welcome" style="display:none;text-align:center">
<h1><a href="${h.url('home')}">${c.rhodecode_name} ${c.rhodecode_version}</a></h1>
</div>
Added lightweight dashboard option. ref #500
r2936 <%cnt=0%>
<%namespace name="dt" file="/data_table/_dt_elements.html"/>
% if c.visual.lightweight_dashboard is False:
## old full detailed version
fixes #229 repo sorting is not working....
r1778 <div id='repos_list_wrap' class="yui-skin-sam">
added welcome message if no repositories are present in current view
r1437 <table id="repos_list">
fixes #209, repos groups and index page now share same common page.
r1403 <thead>
<tr>
Added quick menu for each repo in main page.
r1423 <th class="left"></th>
removed obsolete sort code
r1482 <th class="left">${_('Name')}</th>
<th class="left">${_('Description')}</th>
<th class="left">${_('Last change')}</th>
<th class="left">${_('Tip')}</th>
<th class="left">${_('Owner')}</th>
fixes #209, repos groups and index page now share same common page.
r1403 <th class="left">${_('Atom')}</th>
</tr>
</thead>
<tbody>
p2.5 fixes
r2068 %for cnt,repo in enumerate(c.repos_list):
<tr class="parity${(cnt+1)%2}">
Added sorting into journal and admin pages...
r1779 ##QUICK MENU
removed obsolete class from quick menu
r1424 <td class="quick_repo_menu">
Added sorting into journal and admin pages...
r1779 ${dt.quick_menu(repo['name'])}
Added quick menu for each repo in main page.
r1423 </td>
Added sorting into journal and admin pages...
r1779 ##REPO NAME AND ICONS
<td class="reponame">
Added lightweight dashboard option. ref #500
r2936 ${dt.repo_name(repo['name'],repo['dbrepo']['repo_type'],repo['dbrepo']['private'],h.AttributeDict(repo['dbrepo_fork']),pageargs.get('short_repo_names'))}
fixes #209, repos groups and index page now share same common page.
r1403 </td>
##DESCRIPTION
<td><span class="tooltip" title="${h.tooltip(repo['description'])}">
merged + fixed pull request #62: Implemented metatags and visualisation options....
r2674 %if c.visual.stylify_metatags:
${h.urlify_text(h.desc_stylize(h.truncate(repo['description'],60)))}</span>
%else:
fixes #209, repos groups and index page now share same common page.
r1403 ${h.truncate(repo['description'],60)}</span>
merged + fixed pull request #62: Implemented metatags and visualisation options....
r2674 %endif
fixes #209, repos groups and index page now share same common page.
r1403 </td>
Added sorting into journal and admin pages...
r1779 ##LAST CHANGE DATE
fixes #209, repos groups and index page now share same common page.
r1403 <td>
Update last_change from VCS data on request....
r2937 ${dt.last_change(repo['last_change'])}
fixes #209, repos groups and index page now share same common page.
r1403 </td>
Added sorting into journal and admin pages...
r1779 ##LAST REVISION
<td>
White-space cleanup
r1888 ${dt.revision(repo['name'],repo['rev'],repo['tip'],repo['author'],repo['last_msg'])}
Added sorting into journal and admin pages...
r1779 </td>
##
fixes #209, repos groups and index page now share same common page.
r1403 <td title="${repo['contact']}">${h.person(repo['contact'])}</td>
<td>
Added lightweight dashboard option. ref #500
r2936 ${dt.atom(repo['name'])}
fixes #209, repos groups and index page now share same common page.
r1403 </td>
</tr>
%endfor
</tbody>
</table>
</div>
Added lightweight dashboard option. ref #500
r2936 % else:
## lightweight version
<div class="yui-skin-sam" id="repos_list_wrap"></div>
<div id="user-paginator" style="padding: 0px 0px 0px 0px"></div>
% endif
fixes #229 repo sorting is not working....
r1778 </div>
fixes #209, repos groups and index page now share same common page.
r1403 </div>
Added lightweight dashboard option. ref #500
r2936 % if c.visual.lightweight_dashboard is False:
one generic qfilter function.
r1653 <script>
fix issue #458 wrong count when no repos are present
r2454 YUD.get('repo_count').innerHTML = ${cnt+1 if cnt else 0};
Added sorting into journal and admin pages...
r1779
fixes #229 repo sorting is not working....
r1778 // groups table sorting
var myColumnDefs = [
Added lightweight dashboard option. ref #500
r2936 {key:"name",label:"${_('Group name')}",sortable:true,
fixes #229 repo sorting is not working....
r1778 sortOptions: { sortFunction: groupNameSort }},
{key:"desc",label:"${_('Description')}",sortable:true},
];
var myDataSource = new YAHOO.util.DataSource(YUD.get("groups_list"));
White-space cleanup
r1888
fixes #229 repo sorting is not working....
r1778 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
myDataSource.responseSchema = {
fields: [
{key:"name"},
{key:"desc"},
]
};
Added lightweight dashboard option. ref #500
r2936 var myDataTable = new YAHOO.widget.DataTable("groups_list_wrap", myColumnDefs, myDataSource,{
sortedBy:{key:"name",dir:"asc"},
paginator: new YAHOO.widget.Paginator({
fixes issues with groups paginator
r3155 rowsPerPage: 50,
Added lightweight dashboard option. ref #500
r2936 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;',
fixes issues with groups paginator
r3155 containers:['group-user-paginator']
whitespace cleanup
r2973 }),
Added lightweight dashboard option. ref #500
r2936 MSG_SORTASC:"${_('Click to sort ascending')}",
MSG_SORTDESC:"${_('Click to sort descending')}"
});
White-space cleanup
r1888
fixes #229 repo sorting is not working....
r1778 // main table sorting
var myColumnDefs = [
{key:"menu",label:"",sortable:false,className:"quick_repo_menu hidden"},
{key:"name",label:"${_('Name')}",sortable:true,
sortOptions: { sortFunction: nameSort }},
{key:"desc",label:"${_('Description')}",sortable:true},
{key:"last_change",label:"${_('Last Change')}",sortable:true,
sortOptions: { sortFunction: ageSort }},
{key:"tip",label:"${_('Tip')}",sortable:true,
Mads Kiilerich
html: don't use tabs
r3197 sortOptions: { sortFunction: revisionSort }},
fixes #229 repo sorting is not working....
r1778 {key:"owner",label:"${_('Owner')}",sortable:true},
{key:"atom",label:"",sortable:false},
];
var myDataSource = new YAHOO.util.DataSource(YUD.get("repos_list"));
White-space cleanup
r1888
fixes #229 repo sorting is not working....
r1778 myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
White-space cleanup
r1888
fixes #229 repo sorting is not working....
r1778 myDataSource.responseSchema = {
fields: [
{key:"menu"},
Added lightweight dashboard option. ref #500
r2936 //{key:"raw_name"},
fixes #229 repo sorting is not working....
r1778 {key:"name"},
{key:"desc"},
{key:"last_change"},
{key:"tip"},
{key:"owner"},
{key:"atom"},
]
};
var myDataTable = new YAHOO.widget.DataTable("repos_list_wrap", myColumnDefs, myDataSource,
{
Mads Kiilerich
html: don't use tabs
r3197 sortedBy:{key:"name",dir:"asc"},
fixes #229 repo sorting is not working....
r1778 MSG_SORTASC:"${_('Click to sort ascending')}",
Translations fixes for Data table
r1780 MSG_SORTDESC:"${_('Click to sort descending')}",
MSG_EMPTY:"${_('No records found.')}",
MSG_ERROR:"${_('Data error.')}",
White-space cleanup
r1888 MSG_LOADING:"${_('Loading...')}",
fixes #229 repo sorting is not working....
r1778 }
);
myDataTable.subscribe('postRenderEvent',function(oArgs) {
tooltip_activate();
Added sorting into journal and admin pages...
r1779 quick_repo_menu();
Use common function for generation of grid data...
r3154 var func = function(node){
return node.parentNode.parentNode.parentNode.parentNode;
whitespace cleanup
r3168 }
White-space cleanup
r1888 q_filter('q_filter',YUQ('div.table tr td a.repo_name'),func);
});
</script>
Added lightweight dashboard option. ref #500
r2936 % else:
<script>
var data = ${c.data|n};
var myDataSource = new YAHOO.util.DataSource(data);
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 myDataSource.responseSchema = {
resultsList: "records",
fields: [
{key:"menu"},
{key:"raw_name"},
{key:"name"},
{key:"desc"},
Update last_change from VCS data on request....
r2937 {key:"last_change"},
Use common function for generation of grid data...
r3154 {key:"last_changeset"},
Added lightweight dashboard option. ref #500
r2936 {key:"owner"},
{key:"atom"},
]
};
myDataSource.doBeforeCallback = function(req,raw,res,cb) {
// This is the filter function
var data = res.results || [],
filtered = [],
i,l;
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 if (req) {
req = req.toLowerCase();
for (i = 0; i<data.length; i++) {
var pos = data[i].raw_name.toLowerCase().indexOf(req)
if (pos != -1) {
filtered.push(data[i]);
}
}
res.results = filtered;
}
YUD.get('repo_count').innerHTML = res.results.length;
return res;
}
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 // main table sorting
var myColumnDefs = [
{key:"menu",label:"",sortable:false,className:"quick_repo_menu hidden"},
{key:"name",label:"${_('Name')}",sortable:true,
sortOptions: { sortFunction: nameSort }},
{key:"desc",label:"${_('Description')}",sortable:true},
Update last_change from VCS data on request....
r2937 {key:"last_change",label:"${_('Last Change')}",sortable:true,
sortOptions: { sortFunction: ageSort }},
Use common function for generation of grid data...
r3154 {key:"last_changeset",label:"${_('Tip')}",sortable:true,
white space cleanup
r3149 sortOptions: { sortFunction: revisionSort }},
Added lightweight dashboard option. ref #500
r2936 {key:"owner",label:"${_('Owner')}",sortable:true},
{key:"atom",label:"",sortable:false},
];
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 var myDataTable = new YAHOO.widget.DataTable("repos_list_wrap", myColumnDefs, myDataSource,{
sortedBy:{key:"name",dir:"asc"},
paginator: new YAHOO.widget.Paginator({
added option to ini file to define lightweight dashboard items per page before pagination
r3087 rowsPerPage: ${c.visual.lightweight_dashboard_items},
Added lightweight dashboard option. ref #500
r2936 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']
}),
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 MSG_SORTASC:"${_('Click to sort ascending')}",
MSG_SORTDESC:"${_('Click to sort descending')}",
Leonardo
Small wording improvement.
r3526 MSG_EMPTY:"${_('No repositories found.')}",
Added lightweight dashboard option. ref #500
r2936 MSG_ERROR:"${_('Data error.')}",
MSG_LOADING:"${_('Loading...')}",
}
);
myDataTable.subscribe('postRenderEvent',function(oArgs) {
tooltip_activate();
quick_repo_menu();
});
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 var filterTimeout = null;
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 updateFilter = function () {
// Reset timeout
filterTimeout = null;
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 // Reset sort
var state = myDataTable.getState();
Use common function for generation of grid data...
r3154 state.sortedBy = {key:'name', dir:YAHOO.widget.DataTable.CLASS_ASC};
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 // Get filtered data
myDataSource.sendRequest(YUD.get('q_filter').value,{
success : myDataTable.onDataReturnInitializeTable,
failure : myDataTable.onDataReturnInitializeTable,
scope : myDataTable,
argument: state
});
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 };
YUE.on('q_filter','click',function(){
Use common function for generation of grid data...
r3154 if(!YUD.hasClass('q_filter', 'loaded')){
YUD.get('q_filter').value = '';
//TODO: load here full list later to do search within groups
YUD.addClass('q_filter', 'loaded');
}
Added lightweight dashboard option. ref #500
r2936 });
whitespace cleanup
r2973
Added lightweight dashboard option. ref #500
r2936 YUE.on('q_filter','keyup',function (e) {
clearTimeout(filterTimeout);
filterTimeout = setTimeout(updateFilter,600);
});
</script>
% endif