* Add a global /post_events page that shows the history of all approvals, disapprovals, flags, appeals, and replacements on a single page. * Redesign the /posts/:id/events page to show all approval, disapproval, flag, appeal, and replacement events for a single post (before it only showed approvals, flags, and appeals). * Remove the replacement history link from the post show page. Replacements are now included in the post events page (closes #4948: Highlighed replacements). * Add /post_approvals/:id and /post_replacements/:id routes (these are used by the "Details" link on the post events page).
17 lines
503 B
Ruby
17 lines
503 B
Ruby
# frozen_string_literal: true
|
|
|
|
class PostEventsController < ApplicationController
|
|
respond_to :html, :xml, :json
|
|
|
|
def index
|
|
if post_id = params[:post_id] || params.dig(:search, :post_id)
|
|
@post = Post.find(post_id)
|
|
end
|
|
|
|
@post_events = authorize PostEvent.paginated_search(params, defaults: { post_id: @post&.id }, count_pages: @post.present?)
|
|
@post_events = @post_events.includes(:creator, :post, model: [:post]) if request.format.html?
|
|
|
|
respond_with(@post_events)
|
|
end
|
|
end
|