Files
nairobi/app/controllers/legislation/processes_controller.rb

70 lines
1.8 KiB
Ruby

class Legislation::ProcessesController < Legislation::BaseController
has_filters %w{open next past}, only: :index
load_and_authorize_resource
def index
@current_filter ||= 'open'
@processes = ::Legislation::Process.send(@current_filter).page(params[:page])
end
def show
if process.active_phase?(:allegations) && process.allegations_phase.started? && draft_version = process.draft_versions.published.last
redirect_to legislation_process_draft_version_path(process, draft_version)
elsif process.active_phase?(:debate)
redirect_to legislation_process_debate_path(process)
else
redirect_to legislation_process_allegations_path(process)
end
end
def debate
if process.debate_phase.started?
render :debate
else
render :phase_not_open
end
end
def draft_publication
if process.draft_publication.started?
if draft_version = process.draft_versions.published.last
redirect_to legislation_process_draft_version_path(process, draft_version)
else
render :phase_empty
end
else
render :phase_not_open
end
end
def allegations
if process.allegations_phase.started?
if draft_version = process.draft_versions.published.last
redirect_to legislation_process_draft_version_path(process, draft_version)
else
render :phase_empty
end
else
render :phase_not_open
end
end
def result_publication
if process.result_publication.started?
if final_version = process.final_draft_version
redirect_to legislation_process_draft_version_path(process, final_version)
else
render :phase_empty
end
else
render :phase_not_open
end
end
private
def process
@process ||= ::Legislation::Process.find(params[:process_id])
end
end