Files
@ 19daa8d761dc
Branch filter:
Location: kallithea/rhodecode/templates/admin/users/user_edit_my_account.html - annotation
19daa8d761dc
7.1 KiB
text/html
Improvements to my account page
- lazy load repositories via ajax results in much faster page load
- added pull requests tab to see my pullrequests and the ones i participate in
- new style tabs
- lazy load repositories via ajax results in much faster page load
- added pull requests tab to see my pullrequests and the ones i participate in
- new style tabs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 a1ec653f5f95 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 f91d3f9b7230 1e757ac98988 1e757ac98988 ef71d7e63806 f91d3f9b7230 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 f91d3f9b7230 19daa8d761dc 03c242fbca9c 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 03c242fbca9c 19daa8d761dc f91d3f9b7230 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc f91d3f9b7230 1e757ac98988 1e757ac98988 19daa8d761dc b745d5d2563c b745d5d2563c 43481c3d70ca b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c d683d8bc4be3 d683d8bc4be3 d683d8bc4be3 d683d8bc4be3 d683d8bc4be3 d683d8bc4be3 d683d8bc4be3 d683d8bc4be3 b745d5d2563c e29c688e6885 e29c688e6885 e29c688e6885 e29c688e6885 e29c688e6885 e29c688e6885 e29c688e6885 e29c688e6885 e29c688e6885 b745d5d2563c b745d5d2563c e29c688e6885 b745d5d2563c d683d8bc4be3 b745d5d2563c b745d5d2563c b745d5d2563c d683d8bc4be3 b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c 1e757ac98988 19daa8d761dc 19daa8d761dc 19daa8d761dc 1e757ac98988 b1e1dffd595c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c 43481c3d70ca b1e1dffd595c 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc b745d5d2563c b745d5d2563c 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc 19daa8d761dc b745d5d2563c 19daa8d761dc 19daa8d761dc 19daa8d761dc b745d5d2563c 19daa8d761dc 19daa8d761dc b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c 19daa8d761dc b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c b745d5d2563c 19daa8d761dc b1e1dffd595c f91d3f9b7230 | ## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>
<%def name="title()">
${_('My account')} ${c.rhodecode_user.username} - ${c.rhodecode_name}
</%def>
<%def name="breadcrumbs_links()">
${_('My Account')}
</%def>
<%def name="page_nav()">
${self.menu('admin')}
</%def>
<%def name="main()">
<div class="box box-left">
<!-- box / title -->
<div class="title">
${self.breadcrumbs()}
</div>
<!-- end box / title -->
${c.form|n}
</div>
<div class="box box-right">
<!-- box / title -->
<div class="title">
<h5>
<input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" value="${_('quick filter...')}" style="display: none"/>
</h5>
<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>
<li>
<span><a id="show_pullrequests" class="link-white" href="#perms">${_('My pull requests')}</a> </span>
</li>
%if h.HasPermissionAny('hg.admin','hg.create.repository')():
<li>
<span>${h.link_to(_('Add repo'),h.url('admin_settings_create_repository'))}</span>
</li>
%endif
</ul>
</div>
<!-- end box / title -->
<div id="perms" class="table">
%for section in sorted(c.rhodecode_user.permissions.keys()):
<div class="perms_section_head">${section.replace("_"," ").capitalize()}</div>
<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]:
<%
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']:
<tr>
<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>
<td>
%if section == 'global':
${h.bool2icon(True)}
%else:
<span class="perm_tag ${_perm}">${section_perm}</span>
%endif
</td>
</tr>
%endif
%endfor
</tbody>
</table>
</div>
%endfor
</div>
<div id="my" class="table" style="display:none">
</div>
<div id="pullrequests" class="table" style="display:none">
</div>
<script type="text/javascript">
var filter_activate = function(){
var nodes = YUQ('#my tr td a.repo_name');
var func = function(node){
return node.parentNode.parentNode.parentNode.parentNode;
}
q_filter('q_filter',YUQ('#my tr td a.repo_name'),func);
}
YUE.on('show_perms','click',function(e){
YUD.addClass('show_perms', 'current');
YUD.removeClass('show_my','current');
YUD.removeClass('show_pullrequests','current');
YUD.setStyle('my','display','none');
YUD.setStyle('pullrequests','display','none');
YUD.setStyle('perms','display','');
YUD.setStyle('q_filter','display','none');
YUE.preventDefault(e);
})
YUE.on('show_my','click',function(e){
YUD.addClass('show_my', 'current');
YUD.removeClass('show_perms','current');
YUD.removeClass('show_pullrequests','current');
YUD.setStyle('perms','display','none');
YUD.setStyle('pullrequests','display','none');
YUD.setStyle('my','display','');
YUD.setStyle('q_filter','display','');
YUE.preventDefault(e);
var url = "${h.url('admin_settings_my_repos')}";
ypjax(url, 'my', function(){
table_sort();
filter_activate();
});
})
YUE.on('show_pullrequests','click',function(e){
YUD.addClass('show_pullrequests', 'current');
YUD.removeClass('show_my','current');
YUD.removeClass('show_perms','current');
YUD.setStyle('my','display','none');
YUD.setStyle('perms','display','none');
YUD.setStyle('pullrequests','display','');
YUD.setStyle('q_filter','display','none');
YUE.preventDefault(e);
var url = "${h.url('admin_settings_my_pullrequests')}";
ypjax(url, 'pullrequests');
})
// 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:"tip",label:"${_('Tip')}",sortable:true,
sortOptions: { sortFunction: revisionSort }},
{key:"action1",label:"",sortable:false},
{key:"action2",label:"",sortable:false},
];
function table_sort(){
var myDataSource = new YAHOO.util.DataSource(YUD.get("repos_list"));
myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
myDataSource.responseSchema = {
fields: [
{key:"menu"},
{key:"name"},
{key:"tip"},
{key:"action1"},
{key:"action2"},
]
};
var trans_defs = {
sortedBy:{key:"name",dir:"asc"},
MSG_SORTASC:"${_('Click to sort ascending')}",
MSG_SORTDESC:"${_('Click to sort descending')}",
MSG_EMPTY:"${_('No records found.')}",
MSG_ERROR:"${_('Data error.')}",
MSG_LOADING:"${_('Loading...')}",
}
var myDataTable = new YAHOO.widget.DataTable("repos_list_wrap", myColumnDefs, myDataSource,trans_defs);
myDataTable.subscribe('postRenderEvent',function(oArgs) {
tooltip_activate();
quick_repo_menu();
filter_activate();
});
var permsColumnDefs = [
{key:"name",label:"${_('Name')}",sortable:true, sortOptions: { sortFunction: permNameSort }},
{key:"perm",label:"${_('Permission')}",sortable:false,},
];
// perms repos table
var myDataSource2 = new YAHOO.util.DataSource(YUD.get("tbl_list_repositories"));
myDataSource2.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
myDataSource2.responseSchema = {
fields: [
{key:"name"},
{key:"perm"},
]
};
new YAHOO.widget.DataTable("tbl_list_wrap_repositories", permsColumnDefs, myDataSource2, trans_defs);
//perms groups table
var myDataSource3 = new YAHOO.util.DataSource(YUD.get("tbl_list_repositories_groups"));
myDataSource3.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
myDataSource3.responseSchema = {
fields: [
{key:"name"},
{key:"perm"},
]
};
new YAHOO.widget.DataTable("tbl_list_wrap_repositories_groups", permsColumnDefs, myDataSource3, trans_defs);
}
</script>
</%def>
|