logs activity when bulk-hiding proposals

This commit is contained in:
Juanjo Bazán
2015-09-22 16:28:50 +02:00
parent 23eba622a2
commit 5aa5fc5b7f
2 changed files with 32 additions and 3 deletions

View File

@@ -15,15 +15,14 @@ class Moderation::ProposalsController < Moderation::BaseController
end
def hide
@proposal.hide
Activity.log(current_user, :hide, @proposal)
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(&:hide)
@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)
@@ -42,4 +41,9 @@ class Moderation::ProposalsController < Moderation::BaseController
@proposals = Proposal.accessible_by(current_ability, :moderate)
end
def hide_proposal(proposal)
proposal.hide
Activity.log(current_user, :hide, proposal)
end
end

View File

@@ -24,6 +24,31 @@ feature 'Admin activity' do
expect(page).to have_content(@admin.user.username)
end
end
scenario "Shows moderation activity from moderation screen" do
proposal1 = create(:proposal)
proposal2 = create(:proposal)
proposal3 = create(:proposal)
visit moderation_proposals_path(filter: 'all')
within("#proposal_#{proposal1.id}") do
check "proposal_#{proposal1.id}_check"
end
within("#proposal_#{proposal3.id}") do
check "proposal_#{proposal3.id}_check"
end
click_on "Hide proposals"
visit admin_activity_path
expect(page).to have_content(proposal1.title)
expect(page).to_not have_content(proposal2.title)
expect(page).to have_content(proposal3.title)
end
end
end