logs activity: hiding debates
This commit is contained in:
@@ -14,14 +14,14 @@ class Moderation::DebatesController < Moderation::BaseController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def hide
|
def hide
|
||||||
@debate.hide
|
hide_debate @debate
|
||||||
end
|
end
|
||||||
|
|
||||||
def moderate
|
def moderate
|
||||||
@debates = @debates.where(id: params[:debate_ids])
|
@debates = @debates.where(id: params[:debate_ids])
|
||||||
|
|
||||||
if params[:hide_debates].present?
|
if params[:hide_debates].present?
|
||||||
@debates.accessible_by(current_ability, :hide).each(&:hide)
|
@debates.accessible_by(current_ability, :hide).each {|debate| hide_debate debate}
|
||||||
|
|
||||||
elsif params[:ignore_flags].present?
|
elsif params[:ignore_flags].present?
|
||||||
@debates.accessible_by(current_ability, :ignore_flag).each(&:ignore_flag)
|
@debates.accessible_by(current_ability, :ignore_flag).each(&:ignore_flag)
|
||||||
@@ -40,4 +40,9 @@ class Moderation::DebatesController < Moderation::BaseController
|
|||||||
@debates = Debate.accessible_by(current_ability, :moderate)
|
@debates = Debate.accessible_by(current_ability, :moderate)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def hide_debate(debate)
|
||||||
|
debate.hide
|
||||||
|
Activity.log(current_user, :hide, debate)
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ class Moderation::ProposalsController < Moderation::BaseController
|
|||||||
@proposals = @proposals.where(id: params[:proposal_ids])
|
@proposals = @proposals.where(id: params[:proposal_ids])
|
||||||
|
|
||||||
if params[:hide_proposals].present?
|
if params[:hide_proposals].present?
|
||||||
@proposals.accessible_by(current_ability, :hide).each{|proposal| hide_proposal proposal}
|
@proposals.accessible_by(current_ability, :hide).each {|proposal| hide_proposal proposal}
|
||||||
|
|
||||||
elsif params[:ignore_flags].present?
|
elsif params[:ignore_flags].present?
|
||||||
@proposals.accessible_by(current_ability, :ignore_flag).each(&:ignore_flag)
|
@proposals.accessible_by(current_ability, :ignore_flag).each(&:ignore_flag)
|
||||||
|
|||||||
@@ -51,4 +51,48 @@ feature 'Admin activity' do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "Debates" do
|
||||||
|
scenario "Shows moderation activity on debates", :js do
|
||||||
|
debate = create(:debate)
|
||||||
|
|
||||||
|
visit debate_path(debate)
|
||||||
|
|
||||||
|
within("#debate_#{debate.id}") do
|
||||||
|
click_link 'Hide'
|
||||||
|
end
|
||||||
|
|
||||||
|
visit admin_activity_path
|
||||||
|
|
||||||
|
within("#activity_#{Activity.last.id}") do
|
||||||
|
expect(page).to have_content(debate.title)
|
||||||
|
expect(page).to have_content(@admin.user.username)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Shows moderation activity from moderation screen" do
|
||||||
|
debate1 = create(:debate)
|
||||||
|
debate2 = create(:debate)
|
||||||
|
debate3 = create(:debate)
|
||||||
|
|
||||||
|
visit moderation_debates_path(filter: 'all')
|
||||||
|
|
||||||
|
within("#debate_#{debate1.id}") do
|
||||||
|
check "debate_#{debate1.id}_check"
|
||||||
|
end
|
||||||
|
|
||||||
|
within("#debate_#{debate3.id}") do
|
||||||
|
check "debate_#{debate3.id}_check"
|
||||||
|
end
|
||||||
|
|
||||||
|
click_on "Hide debates"
|
||||||
|
|
||||||
|
visit admin_activity_path
|
||||||
|
|
||||||
|
|
||||||
|
expect(page).to have_content(debate1.title)
|
||||||
|
expect(page).to_not have_content(debate2.title)
|
||||||
|
expect(page).to have_content(debate3.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
Reference in New Issue
Block a user