##// END OF EJS Templates
api: use consistent way to extract users, repos, repo groups and user groups by id or name....
api: use consistent way to extract users, repos, repo groups and user groups by id or name. - makes usage of Number vs String to differenciate if we pick objec ID or it's name this will allow easy fetching of objects by either id or it's name, including numeric string name - fixes #5230

File last commit:

r1283:cebaf5cb default
r1530:1efcb4ee default
Show More
notifications.mako
78 lines | 2.7 KiB | application/x-mako | MakoHtmlLexer
## -*- coding: utf-8 -*-
<%inherit file="/base/base.mako"/>
<%def name="title()">
${_('My Notifications')} ${c.rhodecode_user.username}
%if c.rhodecode_name:
&middot; ${h.branding(c.rhodecode_name)}
%endif
</%def>
<%def name="breadcrumbs_links()">
${_('My Notifications')}
</%def>
<%def name="menu_bar_nav()">
${self.menu_items(active='admin')}
</%def>
<%def name="main()">
<div class="box">
<!-- box / title -->
<div class="title">
${self.breadcrumbs()}
##<ul class="links">
## <li>
## <span ><a href="#">${_('Compose message')}</a></span>
## </li>
##</ul>
<div class="notifications_buttons">
<span id='all' class="action-link first ${'active' if c.current_filter=='all' else ''}"><a href="${h.url.current()}">${_('All')}</a></span>
<span id='comment' class="action-link ${'active' if c.current_filter=='comment' else ''}"><a href="${h.url.current(type=c.comment_type)}">${_('Comments')}</a></span>
<span id='pull_request' class="action-link last ${'active' if c.current_filter=='pull_request' else ''}"><a href="${h.url.current(type=c.pull_request_type)}">${_('Pull Requests')}</a></span>
%if c.notifications:
<span id='mark_all_read' class="btn btn-default">${_('Mark all as read')}</span>
%endif
</div>
</div>
<div id='notification_data' class='main-content-full'>
<%include file='notifications_data.mako'/>
</div>
</div>
<script type="text/javascript">
var url_action = "${url('notification', notification_id='__NOTIFICATION_ID__')}";
var run = function(){
$('#notification_data').on('click','.delete-notification',function(e){
var notification_id = e.currentTarget.id;
deleteNotification(url_action,notification_id)
});
$('#notification_data').on('click','.read-notification',function(e){
var notification_id = e.currentTarget.id;
readNotification(url_action,notification_id)
})
};
run();
$('#mark_all_read').on('click',function(e){
//set notifications as read
var url = "${h.url('notifications_mark_all_read', **request.GET.mixed())}";
$.post(url, {'csrf_token': CSRF_TOKEN}).
done(function(data){
// hide notifications counter
$('#quick_login_link > .menu_link_notifications').hide();
$('#notification_data').html(data);
})
.fail(function(data, textStatus, errorThrown){
alert("Error while saving notifications.\nError code {0} ({1}). URL: {2}".format(data.status,data.statusText,$(this)[0].url));
});
});
var current_filter = $("${c.current_filter}");
if (current_filter.length){
current_filter.addClass('active');
}
</script>
</%def>