Update help text and add dynamic example text

- Display help text and example text according to
  remote census configuration:

  Examples with expecte results:
  * With remote census without :date_of_birth and :postal_code:
    -> "To verify a user, your application needs: Document number"
    -> "Required fields for each user must be separated by commas and
        each user must be separated by semicolons."
    -> "Example: 12345678Z; 87654321Y"

  * With remote census with :date_of_birth required:
    -> "To verify a user, your application needs: Document number,
        Day of birth (dd/mm/yyyy)"
    -> "Required fields for each user must be separated by commas and
        each user must be separated by semicolons."
    -> "Example: 12345678Z, 01/01/1980; 87654321Y, 01/02/1990"

  * With remote census with :date_of_birth and :postal_code required:
    -> "To verify a user, your application needs: Document number,
        Day of birth (dd/mm/yyyy) and Postal Code"
    -> "Required fields for each user must be separated by commas and
        each user must be separated by semicolons."
    -> "Example: 12345678Z, 01/01/1980, 28001; 87654321Y, 01/02/1990, 28002"
This commit is contained in:
taitus
2019-05-14 11:56:38 +02:00
committed by Javi Martín
parent d07f9312e5
commit 5953e87c71
5 changed files with 141 additions and 2 deletions

View File

@@ -5,4 +5,48 @@ module SignatureSheetsHelper
[t("activerecord.models.budget/investment", count: 1), Budget::Investment]]
end
def required_fields_to_verify_text_help
if Setting["feature.remote_census"].present?
date_of_birth_and_postal_code_text_help
else
t("admin.signature_sheets.new.document_numbers_note")
end
end
def date_of_birth_and_postal_code_text_help
text_help = t("admin.signature_sheets.new.text_help.required_fields_note")
if Setting.force_presence_date_of_birth?
text_help += t("admin.signature_sheets.new.text_help.date_of_birth_note")
end
if Setting.force_presence_postal_code?
text_help += t("admin.signature_sheets.new.text_help.postal_code_note")
end
text_help += "<br/>"
text_help += t("admin.signature_sheets.new.text_help.required_fields_structure_note")
return text_help.html_safe
end
def example_text_help
text_example = t("admin.signature_sheets.new.text_help.example_text")
example_1 = "12345678Z"
example_2 = "87654321Y"
if Setting.force_presence_date_of_birth?
example_1 += ", 01/01/1980"
example_2 += ", 01/02/1990"
end
if Setting.force_presence_postal_code?
example_1 += ", 28001"
example_2 += ", 28002"
end
text_example += "#{example_1}; #{example_2}"
return text_example
end
end

View File

@@ -15,7 +15,8 @@
</div>
<%= f.label :required_fields_to_verify %>
<p class="help-text" id="required-fields-to-verify-help-text"><%= t("admin.signature_sheets.new.document_numbers_note") %></p>
<p class="help-text" id="required-fields-to-verify-help-text"><%= required_fields_to_verify_text_help %></p>
<p class="help-text"> <%= example_text_help %></p>
<%= f.text_area :required_fields_to_verify, rows: "6", label: false, aria: {describedby: "required-fields-to-verify-help-text"} %>
<%= f.submit(class: "button", value: t("admin.signature_sheets.new.submit")) %>

View File

@@ -1402,6 +1402,12 @@ en:
title: New signature sheets
document_numbers_note: "Write the numbers separated by semicolons (;)"
submit: Create signature sheet
text_help:
required_fields_note: "To verify a user, your application needs: Document number"
date_of_birth_note: ", Day of birth (dd/mm/yyyy)"
postal_code_note: " and Postal Code"
required_fields_structure_note: "Required fields for each user must be separated by commas and each user must be separated by semicolons."
example_text: "Example: "
show:
created_at: Created
author: Author

View File

@@ -1400,6 +1400,12 @@ es:
title: Nueva hoja de firmas
document_numbers_note: "Introduce los números separados por punto y coma (;)"
submit: Crear hoja de firmas
text_help:
required_fields_note: "Para verificar un usuario, su aplicación necesita: Número de documento"
date_of_birth_note: ", Día de nacimiento (dd/mm/yyyy)"
postal_code_note: " y Código Postal"
required_fields_structure_note: "Los campos requeridos para cada usuario deben ir separados por comas y cada usuario debe ir separado por punto y coma."
example_text: "Ejemplo: "
show:
created_at: Creado
author: Autor

View File

@@ -0,0 +1,82 @@
require "rails_helper"
describe SignatureSheetsHelper do
describe "#required_fields_to_verify_text_help by default" do
it "returns text help by default" do
text = "Write the numbers separated by semicolons (;)"
expect(required_fields_to_verify_text_help).to eq(text)
end
end
describe "#required_fields_to_verify_text_help with remote_census active" do
before do
Setting["feature.remote_census"] = true
end
after do
Setting["feature.remote_census"] = nil
end
it "returns text help when date_of_birth and postal_code are not required" do
text_help_1 = "To verify a user, your application needs: Document number"
text_help_2 = "Required fields for each user must be separated by commas and each user must be separated by semicolons."
text_example = "Example: 12345678Z; 87654321Y"
expect(required_fields_to_verify_text_help).to include(text_help_1)
expect(required_fields_to_verify_text_help).to include(text_help_2)
expect(example_text_help).to include(text_example)
end
it "returns text help when date_of_birth is required" do
Setting["remote_census.request.date_of_birth"] = "some.value"
text_help_1 = "To verify a user, your application needs: Document number, Day of birth (dd/mm/yyyy)"
text_help_2 = "Required fields for each user must be separated by commas and each user must be separated by semicolons."
text_example = "Example: 12345678Z, 01/01/1980; 87654321Y, 01/02/1990"
expect(required_fields_to_verify_text_help).to include(text_help_1)
expect(required_fields_to_verify_text_help).to include(text_help_2)
expect(example_text_help).to include(text_example)
Setting["remote_census.request.date_of_birth"] = nil
end
it "returns text help when postal_code is required" do
Setting["remote_census.request.postal_code"] = "some.value"
text_help_1 = "To verify a user, your application needs: Document number and Postal Code"
text_help_2 = "Required fields for each user must be separated by commas and each user must be separated by semicolons."
text_example = "Example: 12345678Z, 28001; 87654321Y, 28002"
expect(required_fields_to_verify_text_help).to include(text_help_1)
expect(required_fields_to_verify_text_help).to include(text_help_2)
expect(example_text_help).to include(text_example)
Setting["remote_census.request.postal_code"] = nil
end
it "returns text help when date_of_birth and postal_code are required" do
Setting["remote_census.request.date_of_birth"] = "some.value"
Setting["remote_census.request.postal_code"] = "some.value"
text_help_1 = "To verify a user, your application needs: Document number, Day of birth (dd/mm/yyyy) and Postal Code"
text_help_2 = "Required fields for each user must be separated by commas and each user must be separated by semicolons."
text_example = "Example: 12345678Z, 01/01/1980, 28001; 87654321Y, 01/02/1990, 28002"
expect(required_fields_to_verify_text_help).to include(text_help_1)
expect(required_fields_to_verify_text_help).to include(text_help_2)
expect(example_text_help).to include(text_example)
Setting["remote_census.request.postal_code"] = nil
Setting["remote_census.request.postal_code"] = nil
end
end
end