2013-02-05 14:16:51 -05:00
|
|
|
class NotificationsController < ApplicationController
|
|
|
|
|
|
|
|
before_filter :ensure_logged_in
|
|
|
|
|
|
|
|
def index
|
2013-07-22 14:44:11 -04:00
|
|
|
notifications = current_user.notifications.recent.includes(:topic)
|
2013-05-16 03:30:30 -04:00
|
|
|
|
|
|
|
if notifications.present?
|
|
|
|
notifications += current_user.notifications
|
|
|
|
.order('created_at desc')
|
|
|
|
.where(read: false, notification_type: Notification.types[:private_message])
|
|
|
|
.where('id < ?', notifications.last.id)
|
|
|
|
.limit(5)
|
|
|
|
end
|
|
|
|
|
2013-07-22 14:44:11 -04:00
|
|
|
notifications = notifications.to_a
|
2013-02-05 14:16:51 -05:00
|
|
|
current_user.saw_notification_id(notifications.first.id) if notifications.present?
|
|
|
|
current_user.reload
|
|
|
|
current_user.publish_notifications_state
|
|
|
|
|
|
|
|
render_serialized(notifications, NotificationSerializer)
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|