diff --git a/app/controllers/legislation/processes_controller.rb b/app/controllers/legislation/processes_controller.rb
index fd301fb07..53addd566 100644
--- a/app/controllers/legislation/processes_controller.rb
+++ b/app/controllers/legislation/processes_controller.rb
@@ -87,6 +87,10 @@ class Legislation::ProcessesController < Legislation::BaseController
end
end
+ def milestones
+ @phase = :milestones
+ end
+
def proposals
set_process
@phase = :proposals_phase
diff --git a/app/models/abilities/everyone.rb b/app/models/abilities/everyone.rb
index 18927cc80..ab5a095e0 100644
--- a/app/models/abilities/everyone.rb
+++ b/app/models/abilities/everyone.rb
@@ -24,7 +24,8 @@ module Abilities
can [:read, :print, :json_data], Budget::Investment
can [:read_results, :read_executions], Budget, phase: "finished"
can :new, DirectMessage
- can [:read, :debate, :draft_publication, :allegations, :result_publication, :proposals], Legislation::Process, published: true
+ can [:read, :debate, :draft_publication, :allegations, :result_publication,
+ :proposals, :milestones], Legislation::Process, published: true
can [:read, :changes, :go_to_version], Legislation::DraftVersion
can [:read], Legislation::Question
can [:read, :map, :share], Legislation::Proposal
diff --git a/app/views/legislation/processes/_key_dates.html.erb b/app/views/legislation/processes/_key_dates.html.erb
index 0ada8de08..6fbea5053 100644
--- a/app/views/legislation/processes/_key_dates.html.erb
+++ b/app/views/legislation/processes/_key_dates.html.erb
@@ -49,6 +49,15 @@
<% end %>
<% end %>
+
+ <% if process.milestones.any? %>
+
">
+ <%= link_to milestones_legislation_process_path(process) do %>
+ <%= t("legislation.processes.shared.milestones_date") %>
+ <%= format_date(process.milestones.order_by_publication_date.last.publication_date) %>
+ <% end %>
+
+ <% end %>
diff --git a/app/views/legislation/processes/milestones.html.erb b/app/views/legislation/processes/milestones.html.erb
new file mode 100644
index 000000000..d54d5d54f
--- /dev/null
+++ b/app/views/legislation/processes/milestones.html.erb
@@ -0,0 +1,9 @@
+<% provide(:title) { @process.title } %>
+
+<%= render "legislation/processes/header", process: @process, header: :full %>
+
+<%= render "key_dates", process: @process, phase: @phase %>
+
+
+ <%= render "milestones/milestones_content", milestoneable: @process %>
+
diff --git a/config/locales/en/legislation.yml b/config/locales/en/legislation.yml
index bd3ed87c1..ed142fd49 100644
--- a/config/locales/en/legislation.yml
+++ b/config/locales/en/legislation.yml
@@ -87,6 +87,7 @@ en:
draft_publication_date: Draft publication
allegations_dates: Comments
result_publication_date: Final result publication
+ milestones_date: Following
proposals_dates: Proposals
questions:
comments:
diff --git a/config/locales/es/legislation.yml b/config/locales/es/legislation.yml
index 03f4724fd..766089a43 100644
--- a/config/locales/es/legislation.yml
+++ b/config/locales/es/legislation.yml
@@ -87,6 +87,7 @@ es:
draft_publication_date: Publicación borrador
allegations_dates: Comentarios
result_publication_date: Publicación resultados
+ milestones_date: Seguimiento
proposals_dates: Propuestas
questions:
comments:
diff --git a/config/routes/legislation.rb b/config/routes/legislation.rb
index a38dfcac5..d5054e2d4 100644
--- a/config/routes/legislation.rb
+++ b/config/routes/legislation.rb
@@ -6,6 +6,7 @@ namespace :legislation do
get :allegations
get :result_publication
get :proposals
+ get :milestones
end
resources :questions, only: [:show] do
diff --git a/spec/features/legislation/processes_spec.rb b/spec/features/legislation/processes_spec.rb
index aa0b55f6e..d4a38d63d 100644
--- a/spec/features/legislation/processes_spec.rb
+++ b/spec/features/legislation/processes_spec.rb
@@ -292,5 +292,40 @@ feature 'Legislation' do
include_examples "not published permissions", :legislation_process_proposals_path
end
+
+ context "Milestones" do
+ scenario "Without milestones" do
+ process = create(:legislation_process, :upcoming_proposals_phase)
+
+ visit legislation_process_path(process)
+
+ within(".legislation-process-list") do
+ expect(page).not_to have_css "li.milestones"
+ end
+ end
+
+ scenario "With milestones" do
+ process = create(:legislation_process, :upcoming_proposals_phase)
+ create(:milestone,
+ milestoneable: process,
+ description: "Something important happened",
+ publication_date: Date.new(2018, 3, 22)
+ )
+
+ visit legislation_process_path(process)
+
+ within(".legislation-process-list li.milestones") do
+ click_link "Following 22 Mar 2018"
+ end
+
+ within(".legislation-process-list .is-active") do
+ expect(page).to have_link "Following 22 Mar 2018"
+ end
+
+ within(".tab-milestones") do
+ expect(page).to have_content "Something important happened"
+ end
+ end
+ end
end
end