refactors moderator actions

This commit is contained in:
rgarcia
2015-10-11 13:40:58 +02:00
parent b4adca0559
commit 3edc23abe5
4 changed files with 76 additions and 123 deletions

View File

@@ -1,54 +1,16 @@
class Moderation::ProposalsController < Moderation::BaseController
include ModerateActions
has_filters %w{pending_flag_review all with_ignored_flag}, only: :index
has_orders %w{flags created_at}, only: :index
before_filter :load_proposals, only: [:index, :moderate]
before_filter :load_resources, only: [:index, :moderate]
load_and_authorize_resource
def index
@proposals = @proposals.send(@current_filter)
.send("sort_by_#{@current_order}")
.page(params[:page])
.per(50)
end
def hide
hide_proposal @proposal
end
def moderate
@proposals = @proposals.where(id: params[:proposal_ids])
if params[:hide_proposals].present?
@proposals.accessible_by(current_ability, :hide).each {|proposal| hide_proposal proposal}
elsif params[:ignore_flags].present?
@proposals.accessible_by(current_ability, :ignore_flag).each(&:ignore_flag)
elsif params[:block_authors].present?
author_ids = @proposals.pluck(:author_id).uniq
User.where(id: author_ids).accessible_by(current_ability, :block).each {|user| block_user user}
end
redirect_to request.query_parameters.merge(action: :index)
end
private
def load_proposals
@proposals = Proposal.accessible_by(current_ability, :moderate)
def resource_model
Proposal
end
def hide_proposal(proposal)
proposal.hide
Activity.log(current_user, :hide, proposal)
end
def block_user(user)
user.block
Activity.log(current_user, :block, user)
end
end