diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml
index 93979fd3e..8b32254f8 100644
--- a/config/locales/en/admin.yml
+++ b/config/locales/en/admin.yml
@@ -390,6 +390,9 @@ en:
summary_placeholder: Short summary of the description
description_placeholder: Add a description of the process
additional_info_placeholder: Add an additional information you consider useful
+ homepage: Description
+ homepage_description: Here you can explain the content of the process
+ homepage_enabled: Homepage enabled
index:
create: New process
delete: Delete
@@ -419,10 +422,14 @@ en:
status_planned: Planned
subnav:
info: Information
+ homepage: Homepage
draft_versions: Drafting
questions: Debate
proposals: Proposals
milestones: Following
+ homepage:
+ edit:
+ title: Configure your process homepage
proposals:
index:
title: Proposals
diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml
index e4789c8b3..f630052bf 100644
--- a/config/locales/es/admin.yml
+++ b/config/locales/es/admin.yml
@@ -387,6 +387,9 @@ es:
summary_placeholder: Resumen corto de la descripción
description_placeholder: Añade una descripción del proceso
additional_info_placeholder: Añade cualquier información adicional que pueda ser de interés
+ homepage: Descripción
+ homepage_description: Aquí puedes explicar el contenido del proceso
+ homepage_enabled: Homepage activada
index:
create: Nuevo proceso
delete: Borrar
@@ -416,10 +419,14 @@ es:
status_planned: Próximamente
subnav:
info: Información
+ homepage: Homepage
draft_versions: Redacción
questions: Debate
proposals: Propuestas
milestones: Seguimiento
+ homepage:
+ edit:
+ title: Configura la homepage del proceso
proposals:
index:
title: Título
diff --git a/config/routes/admin.rb b/config/routes/admin.rb
index fac6e7d74..d62bad1a9 100644
--- a/config/routes/admin.rb
+++ b/config/routes/admin.rb
@@ -203,6 +203,7 @@ namespace :admin do
end
resources :draft_versions
resources :milestones
+ resource :homepage, only: [:edit, :update]
end
end
diff --git a/db/migrate/20181206153510_add_home_page_to_legislation_processes.rb b/db/migrate/20181206153510_add_home_page_to_legislation_processes.rb
new file mode 100644
index 000000000..47d95df93
--- /dev/null
+++ b/db/migrate/20181206153510_add_home_page_to_legislation_processes.rb
@@ -0,0 +1,16 @@
+class AddHomePageToLegislationProcesses < ActiveRecord::Migration
+ def change
+ add_column :legislation_processes, :homepage, :text
+ add_column :legislation_processes, :homepage_enabled, :boolean, default: false
+
+ reversible do |dir|
+ dir.up do
+ Legislation::Process.add_translation_fields! homepage: :text
+ end
+
+ dir.down do
+ remove_column :legislation_process_translations, :homepage
+ end
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index c9b94c457..ca61e096b 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20181121123512) do
+ActiveRecord::Schema.define(version: 20181206153510) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -631,6 +631,7 @@ ActiveRecord::Schema.define(version: 20181121123512) do
t.text "description"
t.text "additional_info"
t.text "milestones_summary"
+ t.text "homepage"
end
add_index "legislation_process_translations", ["legislation_process_id"], name: "index_199e5fed0aca73302243f6a1fca885ce10cdbb55", using: :btree
@@ -664,6 +665,8 @@ ActiveRecord::Schema.define(version: 20181121123512) do
t.date "draft_start_date"
t.date "draft_end_date"
t.boolean "draft_phase_enabled", default: false
+ t.text "homepage"
+ t.boolean "homepage_enabled", default: false
end
add_index "legislation_processes", ["allegations_end_date"], name: "index_legislation_processes_on_allegations_end_date", using: :btree
diff --git a/spec/features/legislation/processes_spec.rb b/spec/features/legislation/processes_spec.rb
index d4a38d63d..bac9f43c5 100644
--- a/spec/features/legislation/processes_spec.rb
+++ b/spec/features/legislation/processes_spec.rb
@@ -168,6 +168,32 @@ feature 'Legislation' do
end
end
+ context 'homepage' do
+ scenario 'enabled' do
+ process = create(:legislation_process, homepage_enabled: true,
+ homepage: 'This is the process homepage',
+ debate_start_date: Date.current + 1.day,
+ debate_end_date: Date.current + 2.days)
+
+ visit legislation_process_path(process)
+
+ expect(page).to have_content("This is the process homepage")
+ expect(page).to_not have_content("Participate in the debate")
+ end
+
+ scenario 'disabled', :with_frozen_time do
+ process = create(:legislation_process, homepage_enabled: false,
+ homepage: 'This is the process homepage',
+ debate_start_date: Date.current + 1.day,
+ debate_end_date: Date.current + 2.days)
+
+ visit legislation_process_path(process)
+
+ expect(page).to have_content("This phase is not open yet")
+ expect(page).to_not have_content("This is the process homepage")
+ end
+ end
+
context 'debate phase' do
scenario 'not open', :with_frozen_time do
process = create(:legislation_process, debate_start_date: Date.current + 1.day, debate_end_date: Date.current + 2.days)