From b337d94755bbff662a4ba8b1c2621959ae346fba Mon Sep 17 00:00:00 2001 From: Katherine Thiessen Date: Fri, 10 Jan 2025 08:04:03 -0600 Subject: [PATCH] applying i18n --- app/components/advanced_search/group.html.erb | 2 +- .../advanced_search_component.html.erb | 3 +++ .../advanced_search_group_validator.rb | 24 ++++++++++++------- .../projects/samples/search/_errors.html.erb | 2 +- config/locales/en.yml | 11 ++++++++- config/locales/fr.yml | 11 ++++++++- .../advanced_search_component_preview.rb | 2 +- 7 files changed, 42 insertions(+), 13 deletions(-) diff --git a/app/components/advanced_search/group.html.erb b/app/components/advanced_search/group.html.erb index b8dfec0e7e..5997297a5c 100644 --- a/app/components/advanced_search/group.html.erb +++ b/app/components/advanced_search/group.html.erb @@ -1,8 +1,8 @@ -
+
<%= @form.fields_for :groups, @group do |groups_form| %> <% @group.conditions.each do |condition| %> <%= render AdvancedSearch::Condition.new( diff --git a/app/components/advanced_search_component.html.erb b/app/components/advanced_search_component.html.erb index 2b37796328..750d273051 100644 --- a/app/components/advanced_search_component.html.erb +++ b/app/components/advanced_search_component.html.erb @@ -28,6 +28,9 @@

<%= t(".description") %>

+

+ <%= t(".rules") %> +

<% @search.groups.each_with_index do |group, group_index| %> <%= render AdvancedSearch::Group.new( form: @form, diff --git a/app/validators/advanced_search_group_validator.rb b/app/validators/advanced_search_group_validator.rb index b466452a42..dea3581b2c 100644 --- a/app/validators/advanced_search_group_validator.rb +++ b/app/validators/advanced_search_group_validator.rb @@ -11,7 +11,7 @@ def validate(record) end return if groups_valid - record.errors.add :base, 'There are group errors.' + record.errors.add :base, I18n.t('validators.advanced_search_group_validator.base_error') end private @@ -22,7 +22,7 @@ def validate_blank_fields(record, group, group_index) elsif group.conditions.any? do |condition| condition.field.blank? || condition.operator.blank? || condition.value.blank? end - record.groups[group_index].errors.add :base, 'Fields, operators, and values cannot be blank.' + record.groups[group_index].errors.add :base, I18n.t('validators.advanced_search_group_validator.blank_error') end end @@ -30,7 +30,7 @@ def validate_blank_fields_for_condition(record, group, group_index) condition = group.conditions.first unless (condition.field.blank? && condition.operator.blank? && condition.value.blank?) || (condition.field.present? && condition.operator.present? && condition.value.present?) - record.groups[group_index].errors.add :base, 'Fields, operators, and values cannot be blank.' + record.groups[group_index].errors.add :base, I18n.t('validators.advanced_search_group_validator.blank_error') end end @@ -62,32 +62,40 @@ def validate_unique_field(record, group, group_index, unique_field) def validate_contains(record, group_index, unique_field, unique_field_conditions) return if unique_field_conditions.count == 1 - record.groups[group_index].errors.add :base, "'#{unique_field}' can use 'contains' only once." + record.groups[group_index].errors.add :base, + I18n.t('validators.advanced_search_group_validator.contains_error', + unique_field:) end def validate_equals(record, group_index, unique_field, unique_field_conditions) return if unique_field_conditions.all? { |condition| condition.operator == '=' } - record.groups[group_index].errors.add :base, "'#{unique_field}' cannot use '=' with other operators." + record.groups[group_index].errors.add :base, I18n.t('validators.advanced_search_group_validator.equals_error', + unique_field:) end def validate_not_equals(record, group_index, unique_field, unique_field_conditions) return if unique_field_conditions.all? { |condition| condition.operator == '!=' } - record.groups[group_index].errors.add :base, "'#{unique_field}' cannot use '!=' with other operators." + record.groups[group_index].errors.add :base, I18n.t('validators.advanced_search_group_validator.not_equals_error', + unique_field:) end def validate_less_than_equals(record, group_index, unique_field, unique_field_conditions) unless unique_field_conditions.count == 1 || (unique_field_conditions.count == 2 && unique_field_conditions[1].operator == '>=') - record.groups[group_index].errors.add :base, "'#{unique_field}' can use '<=' and '>=' only once." + record.groups[group_index].errors.add :base, + I18n.t('validators.advanced_search_group_validator.between_error', + unique_field:) end end def validate_greater_than_equals(record, group_index, unique_field, unique_field_conditions) unless unique_field_conditions.count == 1 || (unique_field_conditions.count == 2 && unique_field_conditions[1].operator == '<=') - record.groups[group_index].errors.add :base, "'#{unique_field}' can use '<=' and '>=' only once." + record.groups[group_index].errors.add :base, + I18n.t('validators.advanced_search_group_validator.between_error', + unique_field:) end end end diff --git a/app/views/projects/samples/search/_errors.html.erb b/app/views/projects/samples/search/_errors.html.erb index 11325949f9..94ca3b4eab 100644 --- a/app/views/projects/samples/search/_errors.html.erb +++ b/app/views/projects/samples/search/_errors.html.erb @@ -1,5 +1,5 @@ <% if errors.any? %> - <%= viral_alert(type: "alert", classes: "mb-4 h-30 overflow-y-auto") do %> + <%= viral_alert(type: "alert", classes: "h-30 rounded-t-lg overflow-y-auto ") do %>