# HG changeset patch # User Marcin Kuzminski # Date 1334439763 -7200 # Node ID 64f7cf8f6a336060786d8548d50e3bdcfc197e8d # Parent 3052f90c568a2b4f200653ebd245eed2c136be93 notification inbox improvements - added pagers - css+styling fixes diff -r 3052f90c568a -r 64f7cf8f6a33 rhodecode/controllers/admin/notifications.py --- a/rhodecode/controllers/admin/notifications.py Sat Apr 14 22:40:47 2012 +0200 +++ b/rhodecode/controllers/admin/notifications.py Sat Apr 14 23:42:43 2012 +0200 @@ -30,6 +30,8 @@ from pylons import tmpl_context as c, url from pylons.controllers.util import redirect +from webhelpers.paginate import Page + from rhodecode.lib.base import BaseController, render from rhodecode.model.db import Notification @@ -58,8 +60,9 @@ """GET /_admin/notifications: All items in the collection""" # url('notifications') c.user = self.rhodecode_user - c.notifications = NotificationModel()\ - .get_for_user(self.rhodecode_user.user_id) + notif = NotificationModel().get_for_user(self.rhodecode_user.user_id) + p = int(request.params.get('page', 1)) + c.notifications = Page(notif, page=p, items_per_page=10) return render('admin/notifications/notifications.html') def mark_all_read(self): @@ -69,7 +72,8 @@ nm.mark_all_read_for_user(self.rhodecode_user.user_id) Session.commit() c.user = self.rhodecode_user - c.notifications = nm.get_for_user(self.rhodecode_user.user_id) + notif = nm.get_for_user(self.rhodecode_user.user_id) + c.notifications = Page(notif, page=1, items_per_page=10) return render('admin/notifications/notifications_data.html') def create(self): diff -r 3052f90c568a -r 64f7cf8f6a33 rhodecode/public/css/style.css --- a/rhodecode/public/css/style.css Sat Apr 14 22:40:47 2012 +0200 +++ b/rhodecode/public/css/style.css Sat Apr 14 23:42:43 2012 +0200 @@ -4103,6 +4103,13 @@ .inline-comments-button .add-comment{ margin:2px 0px 8px 5px !important } + + +.notification-paginator{ + padding: 0px 0px 4px 16px; + float: left; +} + .notifications{ border-radius: 4px 4px 4px 4px; -webkit-border-radius: 4px; @@ -4136,16 +4143,24 @@ float: left } .notification-list .container.unread{ - + background: none repeat scroll 0 0 rgba(255, 255, 180, 0.6); } .notification-header .gravatar{ - + background: none repeat scroll 0 0 transparent; + padding: 0px 0px 0px 8px; } .notification-header .desc.unread{ font-weight: bold; font-size: 17px; } - +.notification-table{ + border: 1px solid #ccc; + -webkit-border-radius: 6px 6px 6px 6px; + -moz-border-radius: 6px 6px 6px 6px; + border-radius: 6px 6px 6px 6px; + clear: both; + margin: 0px 20px 0px 20px; +} .notification-header .delete-notifications{ float: right; padding-top: 8px; @@ -4157,6 +4172,11 @@ padding:5px 0px 5px 38px; } +.notification-body{ + clear:both; + margin: 34px 2px 2px 8px +} + /**** PERMS *****/ diff -r 3052f90c568a -r 64f7cf8f6a33 rhodecode/templates/admin/notifications/notifications.html --- a/rhodecode/templates/admin/notifications/notifications.html Sat Apr 14 22:40:47 2012 +0200 +++ b/rhodecode/templates/admin/notifications/notifications.html Sat Apr 14 23:42:43 2012 +0200 @@ -25,7 +25,7 @@ ## %if c.notifications: -
+
${_('Mark all read')}
%endif @@ -39,15 +39,18 @@ var notification_id = e.currentTarget.id; deleteNotification(url_del,notification_id) }) - YUE.on('mark_all_read','click',function(e){ - var url = "${h.url('notifications_mark_all_read')}"; - ypjax(url,'notification_data',function(){ - YUD.get('notification_counter').innerHTML=0; - YUE.on(YUQ('.delete-notification'),'click',function(e){ - var notification_id = e.currentTarget.id; - deleteNotification(url_del,notification_id) - }) - }); - }) +YUE.on('mark_all_read','click',function(e){ + var url = "${h.url('notifications_mark_all_read')}"; + ypjax(url,'notification_data',function(){ + var notification_counter = YUD.get('notification_counter'); + if(notification_counter){ + notification_counter.innerHTML=0; + } + YUE.on(YUQ('.delete-notification'),'click',function(e){ + var notification_id = e.currentTarget.id; + deleteNotification(url_del,notification_id) + }) + }); +}) diff -r 3052f90c568a -r 64f7cf8f6a33 rhodecode/templates/admin/notifications/notifications_data.html --- a/rhodecode/templates/admin/notifications/notifications_data.html Sat Apr 14 22:40:47 2012 +0200 +++ b/rhodecode/templates/admin/notifications/notifications_data.html Sat Apr 14 23:42:43 2012 +0200 @@ -3,26 +3,37 @@ <% unread = lambda n:{False:'unread'}.get(n) %> -
-
- %for notification in c.notifications: -
- -
${h.literal(notification.notification.subject)}
-
- %endfor +
+
+ ${c.notifications.pager('$link_previous ~2~ $link_next')}
+ +
+%for notification in c.notifications: +
+ +
${h.literal(notification.notification.subject)}
+
+%endfor +
+ +
+
+ ${c.notifications.pager('$link_previous ~2~ $link_next')} +
+
+ %else:
${_('No notifications here yet')}
%endif diff -r 3052f90c568a -r 64f7cf8f6a33 rhodecode/templates/admin/notifications/show_notification.html --- a/rhodecode/templates/admin/notifications/show_notification.html Sat Apr 14 22:40:47 2012 +0200 +++ b/rhodecode/templates/admin/notifications/show_notification.html Sat Apr 14 23:42:43 2012 +0200 @@ -39,7 +39,7 @@
-
${h.rst_w_mentions(c.notification.body)}
+
${h.rst_w_mentions(c.notification.body)}