Update legislation questions translatable fields

This commit is contained in:
Javi Martín
2018-10-10 14:04:52 +02:00
parent 5bfc7ca2e3
commit 85701bd754
6 changed files with 46 additions and 29 deletions

View File

@@ -9,7 +9,6 @@ class Admin::Legislation::QuestionsController < Admin::Legislation::BaseControll
end
def new
@question.question_options.build
end
def create
@@ -47,11 +46,8 @@ class Admin::Legislation::QuestionsController < Admin::Legislation::BaseControll
def question_params
params.require(:legislation_question).permit(
:title,
*translation_params(::Legislation::Question),
question_options_attributes: [:id, :value,
*translation_params(::Legislation::QuestionOption)]
)
translation_params(::Legislation::Question),
question_options_attributes: [translation_params(::Legislation::QuestionOption)])
end
def resource

View File

@@ -5,6 +5,7 @@ class Legislation::Question < ActiveRecord::Base
translates :title, touch: true
globalize_accessors
accepts_nested_attributes_for :translations, allow_destroy: true
belongs_to :author, -> { with_hidden }, class_name: 'User', foreign_key: 'author_id'
belongs_to :process, class_name: 'Legislation::Process', foreign_key: 'legislation_process_id'
@@ -17,7 +18,10 @@ class Legislation::Question < ActiveRecord::Base
accepts_nested_attributes_for :question_options, reject_if: proc { |attributes| attributes.all? { |k, v| v.blank? } }, allow_destroy: true
validates :process, presence: true
validates :title, presence: true
translation_class.instance_eval do
validates :title, presence: true
end
scope :sorted, -> { order('id ASC') }

View File

@@ -4,10 +4,14 @@ class Legislation::QuestionOption < ActiveRecord::Base
translates :value, touch: true
globalize_accessors
accepts_nested_attributes_for :translations, allow_destroy: true
belongs_to :question, class_name: 'Legislation::Question', foreign_key: 'legislation_question_id', inverse_of: :question_options
has_many :answers, class_name: 'Legislation::Answer', foreign_key: 'legislation_question_id', dependent: :destroy, inverse_of: :question
validates :question, presence: true
validates :value, presence: true, uniqueness: { scope: :legislation_question_id }
translation_class.instance_eval do
validates :value, presence: true # TODO: add uniqueness again
end
end

View File

@@ -17,12 +17,14 @@
</div>
<% end %>
<div class="small-12 medium-9 column">
<%= f.translatable_text_area :title,
rows: 5,
placeholder: t("admin.legislation.questions.form.title_placeholder"),
label: t("admin.legislation.questions.form.title") %>
</div>
<%= f.translatable_fields do |translations_form| %>
<div class="small-12 medium-9 column">
<%= translations_form.text_area :title,
rows: 5,
placeholder: t("admin.legislation.questions.form.title_placeholder"),
label: t("admin.legislation.questions.form.title") %>
</div>
<% end %>
<div class="small-12 medium-9 column">
<%= f.label :question_options, t("admin.legislation.questions.form.question_options") %>

View File

@@ -1,10 +1,13 @@
<div class="nested-fields">
<div class="field">
<div class="small-12 medium-9 column">
<%= f.translatable_text_field :value,
placeholder: t("admin.legislation.questions.form.value_placeholder"),
label: false %>
<%= f.translatable_fields do |translations_form| %>
<%= translations_form.text_field :value,
placeholder: t("admin.legislation.questions.form.value_placeholder"),
label: false %>
<% end %>
</div>
<div class="small-12 medium-3 column">
<%= link_to_remove_association t("admin.legislation.questions.question_option_fields.remove_option"), f, class: "delete"%>
</div>