discourse/app/controllers/admin/flags_controller.rb

39 lines
991 B
Ruby
Raw Normal View History

require 'flag_query'
2013-02-06 03:16:51 +08:00
class Admin::FlagsController < Admin::AdminController
2013-02-07 23:45:24 +08:00
def index
2013-05-13 09:09:03 +08:00
# we may get out of sync, fix it here
PostAction.update_flagged_posts_count
posts, users = FlagQuery.flagged_posts_report(current_user, params[:filter], params[:offset].to_i, 10)
2013-05-13 09:09:03 +08:00
if posts.blank?
render json: {users: [], posts: []}
2013-02-06 03:16:51 +08:00
else
render json: MultiJson.dump({users: serialize_data(users, AdminDetailedUserSerializer), posts: posts})
2013-02-06 03:16:51 +08:00
end
end
def disagree
2013-02-06 03:16:51 +08:00
p = Post.find(params[:id])
PostAction.clear_flags!(p, current_user.id)
p.reload
p.unhide!
2013-02-07 23:45:24 +08:00
render nothing: true
2013-02-06 03:16:51 +08:00
end
def agree
p = Post.find(params[:id])
post_action_type = PostAction.post_action_type_for_post(p.id)
PostAction.defer_flags!(p, current_user.id)
PostAction.hide_post!(p, post_action_type)
render nothing: true
end
def defer
p = Post.find(params[:id])
PostAction.defer_flags!(p, current_user.id)
render nothing: true
end
2013-02-06 03:16:51 +08:00
end