Merge pull request #2945 from consul/backport-legislation_proposals
Add admin permissions in legislation proposals
This commit is contained in:
@@ -27,7 +27,7 @@ class Legislation::ProcessesController < Legislation::BaseController
|
||||
set_process
|
||||
@phase = :debate_phase
|
||||
|
||||
if @process.debate_phase.started?
|
||||
if @process.debate_phase.started? || (current_user && current_user.administrator?)
|
||||
render :debate
|
||||
else
|
||||
render :phase_not_open
|
||||
@@ -90,7 +90,7 @@ class Legislation::ProcessesController < Legislation::BaseController
|
||||
@phase = :proposals_phase
|
||||
@proposals = ::Legislation::Proposal.where(process: @process).order('random()').page(params[:page])
|
||||
|
||||
if @process.proposals_phase.started?
|
||||
if @process.proposals_phase.started? || (current_user && current_user.administrator?)
|
||||
legislation_proposal_votes(@proposals)
|
||||
render :proposals
|
||||
else
|
||||
|
||||
@@ -14,6 +14,10 @@ module Abilities
|
||||
can :restore, Proposal
|
||||
cannot :restore, Proposal, hidden_at: nil
|
||||
|
||||
can :create, Legislation::Proposal
|
||||
can :show, Legislation::Proposal
|
||||
can :proposals, ::Legislation::Process
|
||||
|
||||
can :restore, Legislation::Proposal
|
||||
cannot :restore, Legislation::Proposal, hidden_at: nil
|
||||
|
||||
|
||||
@@ -66,6 +66,18 @@ FactoryBot.define do
|
||||
result_publication_date { Date.current + 5.days }
|
||||
end
|
||||
|
||||
trait :in_proposals_phase do
|
||||
proposals_phase_start_date { Date.current - 1.day }
|
||||
proposals_phase_end_date { Date.current + 2.days }
|
||||
proposals_phase_enabled true
|
||||
end
|
||||
|
||||
trait :upcoming_proposals_phase do
|
||||
proposals_phase_start_date { Date.current + 1.day }
|
||||
proposals_phase_end_date { Date.current + 2.days }
|
||||
proposals_phase_enabled true
|
||||
end
|
||||
|
||||
trait :published do
|
||||
published true
|
||||
end
|
||||
|
||||
@@ -237,5 +237,25 @@ feature 'Legislation' do
|
||||
|
||||
include_examples "not published permissions", :result_publication_legislation_process_path
|
||||
end
|
||||
|
||||
context 'proposals phase' do
|
||||
scenario 'not open' do
|
||||
process = create(:legislation_process, :upcoming_proposals_phase)
|
||||
|
||||
visit legislation_process_proposals_path(process)
|
||||
|
||||
expect(page).to have_content("This phase is not open yet")
|
||||
end
|
||||
|
||||
scenario 'open' do
|
||||
process = create(:legislation_process, :in_proposals_phase)
|
||||
|
||||
visit legislation_process_proposals_path(process)
|
||||
|
||||
expect(page).to have_content("There are no proposals")
|
||||
end
|
||||
|
||||
include_examples "not published permissions", :legislation_process_proposals_path
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user