From 9c5a7c58a767f7c309a1d8e194476b16cc124b0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Tue, 9 Oct 2018 22:04:53 +0200 Subject: [PATCH] Update legislation process translatable fields --- .../admin/legislation/processes_controller.rb | 6 +-- app/models/legislation/process.rb | 6 ++- .../legislation/processes/_form.html.erb | 52 +++++++++---------- config/locales/en/activerecord.yml | 5 ++ .../admin/legislation/processes_spec.rb | 8 +-- 5 files changed, 39 insertions(+), 38 deletions(-) diff --git a/app/controllers/admin/legislation/processes_controller.rb b/app/controllers/admin/legislation/processes_controller.rb index 81de4b966..ac54378b0 100644 --- a/app/controllers/admin/legislation/processes_controller.rb +++ b/app/controllers/admin/legislation/processes_controller.rb @@ -46,10 +46,6 @@ class Admin::Legislation::ProcessesController < Admin::Legislation::BaseControll def allowed_params [ - :title, - :summary, - :description, - :additional_info, :start_date, :end_date, :debate_start_date, @@ -67,7 +63,7 @@ class Admin::Legislation::ProcessesController < Admin::Legislation::BaseControll :result_publication_enabled, :published, :custom_list, - *translation_params(::Legislation::Process), + translation_params(::Legislation::Process), documents_attributes: [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy] ] end diff --git a/app/models/legislation/process.rb b/app/models/legislation/process.rb index bc3df6be4..9da62403d 100644 --- a/app/models/legislation/process.rb +++ b/app/models/legislation/process.rb @@ -14,6 +14,7 @@ class Legislation::Process < ActiveRecord::Base translates :description, touch: true translates :additional_info, touch: true globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true PHASES_AND_PUBLICATIONS = %i(debate_phase allegations_phase proposals_phase draft_publication result_publication).freeze @@ -24,7 +25,10 @@ class Legislation::Process < ActiveRecord::Base has_many :questions, -> { order(:id) }, class_name: 'Legislation::Question', foreign_key: 'legislation_process_id', dependent: :destroy has_many :proposals, -> { order(:id) }, class_name: 'Legislation::Proposal', foreign_key: 'legislation_process_id', dependent: :destroy - validates :title, presence: true + translation_class.instance_eval do + validates :title, presence: true + end + validates :start_date, presence: true validates :end_date, presence: true validates :debate_start_date, presence: true, if: :debate_end_date? diff --git a/app/views/admin/legislation/processes/_form.html.erb b/app/views/admin/legislation/processes/_form.html.erb index 845f08503..7698def0c 100644 --- a/app/views/admin/legislation/processes/_form.html.erb +++ b/app/views/admin/legislation/processes/_form.html.erb @@ -173,37 +173,33 @@
-
- <%= f.translatable_text_field :title, - placeholder: t("admin.legislation.processes.form.title_placeholder") %> -
+ <%= f.translatable_fields do |translations_form| %> +
+ <%= translations_form.text_field :title, + placeholder: t("admin.legislation.processes.form.title_placeholder") %> +
-
- <%= f.label :summary %> - <%= t("admin.legislation.processes.form.use_markdown") %> - <%= f.translatable_text_area :summary, - rows: 2, - placeholder: t("admin.legislation.processes.form.summary_placeholder"), - label: false %> -
+
+ <%= translations_form.text_area :summary, + rows: 2, + placeholder: t("admin.legislation.processes.form.summary_placeholder"), + hint: t("admin.legislation.processes.form.use_markdown") %> +
-
- <%= f.label :description %> - <%= t("admin.legislation.processes.form.use_markdown") %> - <%= f.translatable_text_area :description, - rows: 5, - placeholder: t("admin.legislation.processes.form.description_placeholder"), - label: false %> -
+
+ <%= translations_form.text_area :description, + rows: 5, + placeholder: t("admin.legislation.processes.form.description_placeholder"), + hint: t("admin.legislation.processes.form.use_markdown") %> +
-
- <%= f.label :additional_info %> - <%= t("admin.legislation.processes.form.use_markdown") %> - <%= f.translatable_text_area :additional_info, - rows: 10, - placeholder: t("admin.legislation.processes.form.additional_info_placeholder"), - label: false %> -
+
+ <%= translations_form.text_area :additional_info, + rows: 10, + placeholder: t("admin.legislation.processes.form.additional_info_placeholder"), + hint: t("admin.legislation.processes.form.use_markdown") %> +
+ <% end %>
<%= f.submit(class: "button success expanded", value: t("admin.legislation.processes.#{admin_submit_action(@process)}.submit_button")) %> diff --git a/config/locales/en/activerecord.yml b/config/locales/en/activerecord.yml index 8fe133eb5..053020463 100644 --- a/config/locales/en/activerecord.yml +++ b/config/locales/en/activerecord.yml @@ -225,6 +225,11 @@ en: allegations_start_date: Allegations start date allegations_end_date: Allegations end date result_publication_date: Final result publication date + legislation/process/translation: + title: Process Title + summary: Summary + description: Description + additional_info: Additional info legislation/draft_version: title: Version title body: Text diff --git a/spec/features/admin/legislation/processes_spec.rb b/spec/features/admin/legislation/processes_spec.rb index 47aff8078..44b033328 100644 --- a/spec/features/admin/legislation/processes_spec.rb +++ b/spec/features/admin/legislation/processes_spec.rb @@ -43,9 +43,9 @@ feature 'Admin legislation processes' do click_link "New process" - fill_in 'legislation_process_title_en', with: 'An example legislation process' - fill_in 'legislation_process_summary_en', with: 'Summary of the process' - fill_in 'legislation_process_description_en', with: 'Describing the process' + fill_in 'Process Title', with: 'An example legislation process' + fill_in 'Summary', with: 'Summary of the process' + fill_in 'Description', with: 'Describing the process' base_date = Date.current fill_in 'legislation_process[start_date]', with: base_date.strftime("%d/%m/%Y") @@ -98,7 +98,7 @@ feature 'Admin legislation processes' do expect(find("#legislation_process_debate_phase_enabled")).to be_checked expect(find("#legislation_process_published")).to be_checked - fill_in 'legislation_process_summary_en', with: '' + fill_in 'Summary', with: '' click_button "Save changes" expect(page).to have_content "Process updated successfully"