##// END OF EJS Templates
security: fixed issues with exposing repository names using global PR redirection link...
security: fixed issues with exposing repository names using global PR redirection link logic. - Since redirect was created to repository which linked to the PR, users who didn't have permissions to those repos could still see the name in the url generated.

File last commit:

r4039:6942c656 default
r4044:573a1043 default
Show More
my_account_pullrequests.mako
94 lines | 3.6 KiB | application/x-mako | MakoHtmlLexer
<%namespace name="base" file="/base/base.mako"/>
<div class="panel panel-default">
<div class="panel-body">
%if c.closed:
${h.checkbox('show_closed',checked="checked", label=_('Show Closed Pull Requests'))}
%else:
${h.checkbox('show_closed',label=_('Show Closed Pull Requests'))}
%endif
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">${_('Pull Requests You Participate In')}</h3>
</div>
<div class="panel-body panel-body-min-height">
<table id="pull_request_list_table" class="display"></table>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#show_closed').on('click', function(e){
if($(this).is(":checked")){
window.location = "${h.route_path('my_account_pullrequests', _query={'pr_show_closed':1})}";
}
else{
window.location = "${h.route_path('my_account_pullrequests')}";
}
});
var $pullRequestListTable = $('#pull_request_list_table');
// participating object list
$pullRequestListTable.DataTable({
processing: true,
serverSide: true,
ajax: {
"url": "${h.route_path('my_account_pullrequests_data')}",
"data": function (d) {
d.closed = "${c.closed}";
}
},
dom: 'rtp',
pageLength: ${c.visual.dashboard_items},
order: [[ 2, "desc" ]],
columns: [
{ data: {"_": "status",
"sort": "status"}, title: "", className: "td-status", orderable: false},
{ data: {"_": "target_repo",
"sort": "target_repo"}, title: "${_('Target Repo')}", className: "td-targetrepo", orderable: false},
{ data: {"_": "name",
"sort": "name_raw"}, title: "${_('Id')}", className: "td-componentname", "type": "num" },
{ data: {"_": "title",
"sort": "title"}, title: "${_('Title')}", className: "td-description" },
{ data: {"_": "author",
"sort": "author_raw"}, title: "${_('Author')}", className: "td-user", orderable: false },
{ data: {"_": "comments",
"sort": "comments_raw"}, title: "", className: "td-comments", orderable: false},
{ data: {"_": "updated_on",
"sort": "updated_on_raw"}, title: "${_('Last Update')}", className: "td-time" }
],
language: {
paginate: DEFAULT_GRID_PAGINATION,
sProcessing: _gettext('loading...'),
emptyTable: _gettext("There are currently no open pull requests requiring your participation.")
},
"drawCallback": function( settings, json ) {
timeagoActivate();
tooltipActivate();
},
"createdRow": function ( row, data, index ) {
if (data['closed']) {
$(row).addClass('closed');
}
if (data['owned']) {
$(row).addClass('owned');
}
if (data['state'] !== 'created') {
$(row).addClass('state-' + data['state']);
}
}
});
$pullRequestListTable.on('xhr.dt', function(e, settings, json, xhr){
$pullRequestListTable.css('opacity', 1);
});
$pullRequestListTable.on('preXhr.dt', function(e, settings, data){
$pullRequestListTable.css('opacity', 0.3);
});
});
</script>