##// END OF EJS Templates
pull request: use unionrepo instead of outgoing...
pull request: use unionrepo instead of outgoing This makes it possible to look the 'moving target' symbols up in the right repo. Using a revset with the right revisions also removes the need for pruning changesets that are outside the requested range. It will also not be confused by changesets that for some reason has been pulled to the repo but haven't been merged yet. They are going to be 'merged' by the 'pull' request and should thus be a part of what is reviewed.

File last commit:

r3293:09ba877d beta
r3303:ae5ac36c beta
Show More
user_edit_my_account.html
275 lines | 8.7 KiB | text/html | HtmlLexer
/ rhodecode / templates / admin / users / user_edit_my_account.html
renamed project to rhodecode
r547 ## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>
<%def name="title()">
#38 updated RhodeCode titles
r619 ${_('My account')} ${c.rhodecode_user.username} - ${c.rhodecode_name}
renamed project to rhodecode
r547 </%def>
<%def name="breadcrumbs_links()">
${_('My Account')}
</%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-left">
<!-- box / title -->
<div class="title">
White-space cleanup
r1888 ${self.breadcrumbs()}
renamed project to rhodecode
r547 </div>
<!-- end box / title -->
highly improved performance of my_account page by removing super heavy htmlfill call on whole page
r2353 ${c.form|n}
White-space cleanup
r1888 </div>
renamed project to rhodecode
r547
<div class="box box-right">
<!-- box / title -->
<div class="title">
White-space cleanup
r1888 <h5>
Improvements to my account page...
r2624 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" value="${_('quick filter...')}" style="display: none"/>
added add repository to my view
r766 </h5>
Improvements to my account page...
r2624 <ul class="links" style="color:#DADADA">
<li>
<span><a id="show_perms" class="link-white current" href="#perms">${_('My permissions')}</a> </span>
</li>
<li>
<span><a id="show_my" class="link-white" href="#my">${_('My repos')}</a> </span>
</li>
added add repository to my view
r766 <li>
remember selected tab in my account page
r2886 <span><a id="show_pullrequests" class="link-white" href="#pullrequests">${_('My pull requests')}</a> </span>
White-space cleanup
r1888 </li>
</ul>
renamed project to rhodecode
r547 </div>
<!-- end box / title -->
Mads Kiilerich
my_account: change markup so permission list get perms.table style
r3196 <div id="perms_container">
<div id="perms" class="table">
implemented #377 Users view own permissions...
r2127 %for section in sorted(c.rhodecode_user.permissions.keys()):
<div class="perms_section_head">${section.replace("_"," ").capitalize()}</div>
#399 added inheritance of permissions for users group on repos groups
r2129
implemented #377 Users view own permissions...
r2127 <div id='tbl_list_wrap_${section}' class="yui-skin-sam">
<table id="tbl_list_${section}">
<thead>
<tr>
<th class="left">${_('Name')}</th>
<th class="left">${_('Permission')}</th>
</thead>
<tbody>
%for k in c.rhodecode_user.permissions[section]:
don't show empty permissions on my account page
r2131 <%
if section != 'global':
section_perm = c.rhodecode_user.permissions[section].get(k)
_perm = section_perm.split('.')[-1]
else:
_perm = section_perm = None
%>
%if _perm not in ['none']:
implemented #377 Users view own permissions...
r2127 <tr>
linkify perms and make global ones display better
r2128 <td>
%if section == 'repositories':
<a href="${h.url('summary_home',repo_name=k)}">${k}</a>
%elif section == 'repositories_groups':
<a href="${h.url('repos_group_home',group_name=k)}">${k}</a>
%else:
${k}
%endif
</td>
implemented #377 Users view own permissions...
r2127 <td>
%if section == 'global':
linkify perms and make global ones display better
r2128 ${h.bool2icon(True)}
implemented #377 Users view own permissions...
r2127 %else:
don't show empty permissions on my account page
r2131 <span class="perm_tag ${_perm}">${section_perm}</span>
implemented #377 Users view own permissions...
r2127 %endif
</td>
</tr>
don't show empty permissions on my account page
r2131 %endif
implemented #377 Users view own permissions...
r2127 %endfor
</tbody>
</table>
</div>
%endfor
Mads Kiilerich
my_account: change markup so permission list get perms.table style
r3196 </div>
renamed project to rhodecode
r547 </div>
Use common function for generation of grid data...
r3154 <div id="my_container" style="display:none">
<div class="table yui-skin-sam" id="repos_list_wrap"></div>
<div id="user-paginator" style="padding: 0px 0px 0px 20px"></div>
white space cleanup
r2673 </div>
Use common function for generation of grid data...
r3154 <div id="pullrequests_container" class="table" style="display:none">
## loaded via AJAX
whitespace cleanup
r3168 ${_('Loading...')}
Use common function for generation of grid data...
r3154 </div>
renamed project to rhodecode
r547 </div>
fixed missing div on my_account + added nothing here yet when there are no...
r2722
one generic qfilter function.
r1653 <script type="text/javascript">
remember selected tab in my account page
r2886
var show_perms = function(e){
YUD.addClass('show_perms', 'current');
YUD.removeClass('show_my','current');
YUD.removeClass('show_pullrequests','current');
white space cleanup
r2673
Use common function for generation of grid data...
r3154 YUD.setStyle('my_container','display','none');
YUD.setStyle('pullrequests_container','display','none');
YUD.setStyle('perms_container','display','');
white space cleanup
r2907 YUD.setStyle('q_filter','display','none');
remember selected tab in my account page
r2886 }
YUE.on('show_perms','click',function(e){
show_perms();
implemented #377 Users view own permissions...
r2127 })
remember selected tab in my account page
r2886
var show_my = function(e){
Improvements to my account page...
r2624 YUD.addClass('show_my', 'current');
YUD.removeClass('show_perms','current');
YUD.removeClass('show_pullrequests','current');
white space cleanup
r2673
Use common function for generation of grid data...
r3154 YUD.setStyle('perms_container','display','none');
YUD.setStyle('pullrequests_container','display','none');
YUD.setStyle('my_container','display','');
Improvements to my account page...
r2624 YUD.setStyle('q_filter','display','');
Use common function for generation of grid data...
r3154 if(!YUD.hasClass('show_my', 'loaded')){
Mads Kiilerich
html: don't use tabs
r3197 table_renderer(${c.data |n});
Use common function for generation of grid data...
r3154 YUD.addClass('show_my', 'loaded');
}
remember selected tab in my account page
r2886 }
YUE.on('show_my','click',function(e){
Mads Kiilerich
html: don't use tabs
r3197 show_my(e);
Improvements to my account page...
r2624 })
remember selected tab in my account page
r2886
var show_pullrequests = function(e){
Improvements to my account page...
r2624 YUD.addClass('show_pullrequests', 'current');
YUD.removeClass('show_my','current');
YUD.removeClass('show_perms','current');
Use common function for generation of grid data...
r3154 YUD.setStyle('my_container','display','none');
YUD.setStyle('perms_container','display','none');
YUD.setStyle('pullrequests_container','display','');
Improvements to my account page...
r2624 YUD.setStyle('q_filter','display','none');
white space cleanup
r2907
Improvements to my account page...
r2624 var url = "${h.url('admin_settings_my_pullrequests')}";
Use common function for generation of grid data...
r3154 ypjax(url, 'pullrequests_container');
remember selected tab in my account page
r2886 }
YUE.on('show_pullrequests','click',function(e){
Mads Kiilerich
html: don't use tabs
r3197 show_pullrequests(e)
implemented #377 Users view own permissions...
r2127 })
remember selected tab in my account page
r2886 var tabs = {
'perms': show_perms,
'my': show_my,
'pullrequests': show_pullrequests
}
white space cleanup
r2907 var url = location.href.split('#');
if (url[1]) {
//We have a hash
remember selected tab in my account page
r2886 var tabHash = url[1];
fix small issue with anchor autolinks
r3120 var func = tabs[tabHash]
if (func){
func();
}
remember selected tab in my account page
r2886 }
Use common function for generation of grid data...
r3154 function table_renderer(data){
Mads Kiilerich
html: random indentation fixes
r3198 var myDataSource = new YAHOO.util.DataSource(data);
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
Use common function for generation of grid data...
r3154
Mads Kiilerich
html: random indentation fixes
r3198 myDataSource.responseSchema = {
resultsList: "records",
fields: [
{key:"menu"},
{key:"raw_name"},
{key:"name"},
{key:"last_changeset"},
{key:"action"},
]
};
myDataSource.doBeforeCallback = function(req,raw,res,cb) {
// This is the filter function
var data = res.results || [],
filtered = [],
i,l;
Use common function for generation of grid data...
r3154
Mads Kiilerich
html: random indentation fixes
r3198 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;
}
return res;
}
whitespace cleanup
r3168
Mads Kiilerich
html: don't use tabs
r3197 // 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:"last_changeset",label:"${_('Tip')}",sortable:true,
sortOptions: { sortFunction: revisionSort }},
{key:"action",label:"${_('Action')}",sortable:false},
];
implemented #377 Users view own permissions...
r2127
Mads Kiilerich
html: don't use tabs
r3197 var myDataTable = new YAHOO.widget.DataTable("repos_list_wrap", myColumnDefs, myDataSource,{
sortedBy:{key:"name",dir:"asc"},
paginator: new YAHOO.widget.Paginator({
rowsPerPage: 50,
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']
}),
Use common function for generation of grid data...
r3154
Mads Kiilerich
html: don't use tabs
r3197 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) {
tooltip_activate();
quick_repo_menu();
});
Use common function for generation of grid data...
r3154
Mads Kiilerich
html: don't use tabs
r3197 var filterTimeout = null;
implemented #377 Users view own permissions...
r2127
Mads Kiilerich
html: don't use tabs
r3197 updateFilter = function() {
// Reset timeout
filterTimeout = null;
implemented #377 Users view own permissions...
r2127
Mads Kiilerich
html: don't use tabs
r3197 // Reset sort
var state = myDataTable.getState();
state.sortedBy = {key:'name', dir:YAHOO.widget.DataTable.CLASS_ASC};
implemented #377 Users view own permissions...
r2127
Mads Kiilerich
html: don't use tabs
r3197 // Get filtered data
myDataSource.sendRequest(YUD.get('q_filter').value,{
success : myDataTable.onDataReturnInitializeTable,
failure : myDataTable.onDataReturnInitializeTable,
scope : myDataTable,
argument: state
});
implemented #377 Users view own permissions...
r2127
Mads Kiilerich
html: don't use tabs
r3197 };
YUE.on('q_filter','click',function(){
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');
}
});
implemented #377 Users view own permissions...
r2127
Mads Kiilerich
html: don't use tabs
r3197 YUE.on('q_filter','keyup',function (e) {
clearTimeout(filterTimeout);
filterTimeout = setTimeout(updateFilter,600);
});
}
one generic qfilter function.
r1653 </script>
White-space cleanup
r1888 </%def>