* 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).
27 lines
730 B
Ruby
27 lines
730 B
Ruby
# frozen_string_literal: true
|
|
|
|
class PostApprovalsController < ApplicationController
|
|
respond_to :html, :xml, :json, :js
|
|
|
|
def create
|
|
@approval = authorize PostApproval.new(user: CurrentUser.user, post_id: params[:post_id])
|
|
@approval.save
|
|
respond_with(@approval)
|
|
end
|
|
|
|
def index
|
|
@post_approvals = authorize PostApproval.paginated_search(params)
|
|
@post_approvals = @post_approvals.includes(:user, post: [:uploader, :media_asset]) if request.format.html?
|
|
|
|
respond_with(@post_approvals)
|
|
end
|
|
|
|
def show
|
|
@approval = authorize PostApproval.find(params[:id])
|
|
|
|
respond_with(@approval) do |format|
|
|
format.html { redirect_to post_approvals_path(search: { id: @approval.id }) }
|
|
end
|
|
end
|
|
end
|