2015-04-10 17:00:50 -04:00
|
|
|
require_dependency 'queued_post_serializer'
|
|
|
|
|
|
|
|
class QueuedPostsController < ApplicationController
|
|
|
|
|
|
|
|
before_filter :ensure_staff
|
|
|
|
|
|
|
|
def index
|
|
|
|
state = QueuedPost.states[(params[:state] || 'new').to_sym]
|
|
|
|
state ||= QueuedPost.states[:new]
|
|
|
|
|
2015-04-14 14:21:02 -04:00
|
|
|
@queued_posts = QueuedPost.where(state: state).includes(:topic, :user)
|
|
|
|
render_serialized(@queued_posts, QueuedPostSerializer, root: :queued_posts, rest_serializer: true)
|
2015-04-10 17:00:50 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
def update
|
|
|
|
qp = QueuedPost.where(id: params[:id]).first
|
2015-04-14 14:21:02 -04:00
|
|
|
|
2015-04-15 17:20:34 -04:00
|
|
|
if params[:queued_post][:raw].present?
|
|
|
|
qp.update_column(:raw, params[:queued_post][:raw])
|
|
|
|
end
|
|
|
|
|
2015-04-14 14:21:02 -04:00
|
|
|
state = params[:queued_post][:state]
|
|
|
|
if state == 'approved'
|
|
|
|
qp.approve!(current_user)
|
|
|
|
elsif state == 'rejected'
|
|
|
|
qp.reject!(current_user)
|
|
|
|
end
|
|
|
|
|
2015-04-10 17:00:50 -04:00
|
|
|
render_serialized(qp, QueuedPostSerializer, root: :queued_posts)
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|