Mercurial > kallithea
diff rhodecode/controllers/admin/notifications.py @ 2610:3fdf7c3be2c9 beta
added mark as read for single notifications
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 15 Jul 2012 04:02:58 +0200 |
parents | f8742e1acf08 |
children | 91c442a489bb |
line wrap: on
line diff
--- a/rhodecode/controllers/admin/notifications.py Sun Jul 15 03:15:43 2012 +0200 +++ b/rhodecode/controllers/admin/notifications.py Sun Jul 15 04:02:58 2012 +0200 @@ -106,6 +106,18 @@ # h.form(url('notification', notification_id=ID), # method='put') # url('notification', notification_id=ID) + try: + no = Notification.get(notification_id) + owner = lambda: (no.notifications_to_users.user.user_id + == c.rhodecode_user.user_id) + if h.HasPermissionAny('hg.admin')() or owner: + NotificationModel().mark_read(c.rhodecode_user.user_id, no) + Session.commit() + return 'ok' + except Exception: + Session.rollback() + log.error(traceback.format_exc()) + return 'fail' def delete(self, notification_id): """DELETE /_admin/notifications/id: Delete an existing item""" @@ -120,7 +132,7 @@ no = Notification.get(notification_id) owner = lambda: (no.notifications_to_users.user.user_id == c.rhodecode_user.user_id) - if h.HasPermissionAny('hg.admin', 'repository.admin')() or owner: + if h.HasPermissionAny('hg.admin')() or owner: NotificationModel().delete(c.rhodecode_user.user_id, no) Session.commit() return 'ok'