From 03dc43a500b5dfa3bf0ff360dcfcc95223cfd3eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Mon, 19 Nov 2018 15:50:55 +0100 Subject: [PATCH] Manage legislation process milestones --- .../admin/legislation/milestones_controller.rb | 18 ++++++++++++++++++ app/helpers/legislation_helper.rb | 3 ++- app/models/legislation/process.rb | 1 + .../legislation/milestones/index.html.erb | 11 +++++++++++ config/locales/en/admin.yml | 4 ++++ config/locales/es/admin.yml | 4 ++++ config/routes/admin.rb | 1 + .../admin/legislation/processes_spec.rb | 4 ++++ 8 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 app/controllers/admin/legislation/milestones_controller.rb create mode 100644 app/views/admin/legislation/milestones/index.html.erb diff --git a/app/controllers/admin/legislation/milestones_controller.rb b/app/controllers/admin/legislation/milestones_controller.rb new file mode 100644 index 000000000..09d55f6ca --- /dev/null +++ b/app/controllers/admin/legislation/milestones_controller.rb @@ -0,0 +1,18 @@ +class Admin::Legislation::MilestonesController < Admin::MilestonesController + include FeatureFlags + feature_flag :legislation + + def index + @process = milestoneable + end + + private + + def milestoneable + ::Legislation::Process.find(params[:process_id]) + end + + def milestoneable_path + admin_legislation_process_milestones_path(milestoneable) + end +end diff --git a/app/helpers/legislation_helper.rb b/app/helpers/legislation_helper.rb index b2cd1399c..0fc045c16 100644 --- a/app/helpers/legislation_helper.rb +++ b/app/helpers/legislation_helper.rb @@ -32,7 +32,8 @@ module LegislationHelper "info" => edit_admin_legislation_process_path(process), "questions" => admin_legislation_process_questions_path(process), "proposals" => admin_legislation_process_proposals_path(process), - "draft_versions" => admin_legislation_process_draft_versions_path(process) + "draft_versions" => admin_legislation_process_draft_versions_path(process), + "milestones" => admin_legislation_process_milestones_path(process) } end end diff --git a/app/models/legislation/process.rb b/app/models/legislation/process.rb index 4e506de1f..9ce0bff2f 100644 --- a/app/models/legislation/process.rb +++ b/app/models/legislation/process.rb @@ -1,6 +1,7 @@ class Legislation::Process < ActiveRecord::Base include ActsAsParanoidAliases include Taggable + include Milestoneable include Documentable documentable max_documents_allowed: 3, max_file_size: 3.megabytes, diff --git a/app/views/admin/legislation/milestones/index.html.erb b/app/views/admin/legislation/milestones/index.html.erb new file mode 100644 index 000000000..4f4f9741b --- /dev/null +++ b/app/views/admin/legislation/milestones/index.html.erb @@ -0,0 +1,11 @@ +<% provide :title do %> + <%= "#{t("admin.header.title")} - #{t("admin.menu.legislation")}" %> - + <%= "#{@process.title} - #{t("admin.legislation.milestones.index.title")}" %> +<% end %> + +<%= back_link_to admin_legislation_processes_path, t("admin.legislation.processes.edit.back") %> + +

<%= @process.title %>

+ +<%= render "admin/legislation/processes/subnav", process: @process, active: "milestones" %> +<%= render "admin/milestones/milestones", milestoneable: @process %> diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml index 0fd2a0d56..246656754 100644 --- a/config/locales/en/admin.yml +++ b/config/locales/en/admin.yml @@ -422,6 +422,7 @@ en: draft_versions: Drafting questions: Debate proposals: Proposals + milestones: Following proposals: index: title: Proposals @@ -520,6 +521,9 @@ en: comments_count: Comments count question_option_fields: remove_option: Remove option + milestones: + index: + title: Following managers: index: title: Managers diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index 5798dd0b1..add0bf2a9 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -419,6 +419,7 @@ es: draft_versions: Redacción questions: Debate proposals: Propuestas + milestones: Seguimiento proposals: index: title: Título @@ -516,6 +517,9 @@ es: comments_count: Número de comentarios question_option_fields: remove_option: Eliminar + milestones: + index: + title: Seguimiento managers: index: title: Gestores diff --git a/config/routes/admin.rb b/config/routes/admin.rb index a6ccf2de3..e618854b9 100644 --- a/config/routes/admin.rb +++ b/config/routes/admin.rb @@ -198,6 +198,7 @@ namespace :admin do member { patch :toggle_selection } end resources :draft_versions + resources :milestones end end diff --git a/spec/features/admin/legislation/processes_spec.rb b/spec/features/admin/legislation/processes_spec.rb index f9e575d3d..8e7216cf9 100644 --- a/spec/features/admin/legislation/processes_spec.rb +++ b/spec/features/admin/legislation/processes_spec.rb @@ -12,6 +12,10 @@ feature 'Admin legislation processes' do "edit_admin_legislation_process_path", %w[title summary description additional_info] + it_behaves_like "admin_milestoneable", + :legislation_process, + "admin_legislation_process_milestones_path" + context "Feature flag" do scenario 'Disabled with a feature flag' do