diff --git a/app/controllers/admin/legislation/processes_controller.rb b/app/controllers/admin/legislation/processes_controller.rb index 995e34eee..fb4e8ee3f 100644 --- a/app/controllers/admin/legislation/processes_controller.rb +++ b/app/controllers/admin/legislation/processes_controller.rb @@ -49,7 +49,8 @@ class Admin::Legislation::ProcessesController < Admin::Legislation::BaseControll :debate_phase_enabled, :allegations_phase_enabled, :draft_publication_enabled, - :result_publication_enabled + :result_publication_enabled, + :published ) end end diff --git a/app/controllers/legislation/processes_controller.rb b/app/controllers/legislation/processes_controller.rb index ee5c10830..6593821cb 100644 --- a/app/controllers/legislation/processes_controller.rb +++ b/app/controllers/legislation/processes_controller.rb @@ -4,7 +4,7 @@ class Legislation::ProcessesController < Legislation::BaseController def index @current_filter ||= 'open' - @processes = ::Legislation::Process.send(@current_filter).page(params[:page]) + @processes = ::Legislation::Process.send(@current_filter).published.page(params[:page]) end def show @@ -13,14 +13,13 @@ class Legislation::ProcessesController < Legislation::BaseController if @process.allegations_phase.enabled? && @process.allegations_phase.started? && draft_version.present? redirect_to legislation_process_draft_version_path(@process, draft_version) elsif @process.debate_phase.enabled? - redirect_to legislation_process_debate_path(@process) + redirect_to debate_legislation_process_path(@process) else - redirect_to legislation_process_allegations_path(@process) + redirect_to allegations_legislation_process_path(@process) end end def debate - set_process @phase = :debate_phase if @process.debate_phase.started? @@ -31,7 +30,6 @@ class Legislation::ProcessesController < Legislation::BaseController end def draft_publication - set_process @phase = :draft_publication if @process.draft_publication.started? @@ -48,7 +46,6 @@ class Legislation::ProcessesController < Legislation::BaseController end def allegations - set_process @phase = :allegations_phase if @process.allegations_phase.started? @@ -65,7 +62,6 @@ class Legislation::ProcessesController < Legislation::BaseController end def result_publication - set_process @phase = :result_publication if @process.result_publication.started? @@ -81,9 +77,5 @@ class Legislation::ProcessesController < Legislation::BaseController end end - private - def set_process - @process = ::Legislation::Process.find(params[:process_id]) - end end diff --git a/app/models/abilities/everyone.rb b/app/models/abilities/everyone.rb index eaa971016..4e6183a2a 100644 --- a/app/models/abilities/everyone.rb +++ b/app/models/abilities/everyone.rb @@ -19,7 +19,7 @@ module Abilities can [:read, :print], Budget::Investment can :read_results, Budget, phase: "finished" can :new, DirectMessage - can [:read, :debate, :draft_publication, :allegations, :result_publication], Legislation::Process + can [:read, :debate, :draft_publication, :allegations, :result_publication], Legislation::Process, published: true can [:read, :changes, :go_to_version], Legislation::DraftVersion can [:read], Legislation::Question can [:create], Legislation::Answer diff --git a/app/models/legislation/process.rb b/app/models/legislation/process.rb index 61dc1f7a0..59ab99433 100644 --- a/app/models/legislation/process.rb +++ b/app/models/legislation/process.rb @@ -21,6 +21,8 @@ class Legislation::Process < ActiveRecord::Base scope :next, -> { where("start_date > ?", Date.current).order('id DESC') } scope :past, -> { where("end_date < ?", Date.current).order('id DESC') } + scope :published, -> { where(published: true) } + def debate_phase Legislation::Process::Phase.new(debate_start_date, debate_end_date, debate_phase_enabled) end diff --git a/app/views/admin/legislation/processes/_form.html.erb b/app/views/admin/legislation/processes/_form.html.erb index 7d2b21703..205d97361 100644 --- a/app/views/admin/legislation/processes/_form.html.erb +++ b/app/views/admin/legislation/processes/_form.html.erb @@ -39,6 +39,9 @@ class: "js-calendar-full", id: "end_date" %> +
+ <%= f.check_box :published, checked: @process.published?, label: t('admin.legislation.processes.form.enabled') %> +

diff --git a/app/views/legislation/processes/_key_dates.html.erb b/app/views/legislation/processes/_key_dates.html.erb index d6131034b..375be7d51 100644 --- a/app/views/legislation/processes/_key_dates.html.erb +++ b/app/views/legislation/processes/_key_dates.html.erb @@ -9,7 +9,7 @@