osem-fcy/app/controllers/admin/comments_controller.rb

20 lines
813 B
Ruby
Raw Normal View History

module Admin
class CommentsController < Admin::BaseController
load_and_authorize_resource
def index
2015-09-09 12:15:59 +02:00
@comments = grouped_comments(accessible_ordered_comments)
@unread_comments = grouped_comments(accessible_ordered_comments.find_since_last_login(current_user))
@posted_comments = grouped_comments(accessible_ordered_comments.find_comments_by_user(current_user))
end
def accessible_ordered_comments
Comment.accessible_by(current_ability).joins('INNER JOIN events ON commentable_id = events.id').order('events.title', 'comments.created_at DESC')
end
def grouped_comments(comments)
comments.group_by{ |comment| comment.commentable.conference }.map {|conference, comments| [conference, comments.group_by{|comment| comment.commentable}]}.to_h
end
end
end