diff --git a/app/models/champ.rb b/app/models/champ.rb index 8cb1d8804..780f3c7b6 100644 --- a/app/models/champ.rb +++ b/app/models/champ.rb @@ -45,6 +45,7 @@ class Champ < ApplicationRecord :repetition?, :dossier_link?, :titre_identite?, + :header_section?, to: :type_de_champ scope :updated_since?, -> (date) { where('champs.updated_at > ?', date) } @@ -86,6 +87,10 @@ class Champ < ApplicationRecord end end + def sections + siblings.filter(&:header_section?) + end + def mandatory_and_blank? mandatory? && blank? end diff --git a/app/models/champs/header_section_champ.rb b/app/models/champs/header_section_champ.rb index 59fd78da0..3ea8874a6 100644 --- a/app/models/champs/header_section_champ.rb +++ b/app/models/champs/header_section_champ.rb @@ -22,9 +22,19 @@ class Champs::HeaderSectionChamp < Champ # The user cannot enter any information here so it doesn’t make much sense to search end + def libelle_with_section_index + if sections.none?(&:libelle_with_section_index?) + "#{section_index}. #{libelle}" + else + libelle + end + end + + def libelle_with_section_index? + libelle =~ /^\d/ + end + def section_index - siblings - .filter { |c| c.type_champ == TypeDeChamp.type_champs.fetch(:header_section) } - .index(self) + 1 + sections.index(self) + 1 end end diff --git a/app/models/type_de_champ.rb b/app/models/type_de_champ.rb index 913975f58..88fa0585c 100644 --- a/app/models/type_de_champ.rb +++ b/app/models/type_de_champ.rb @@ -174,6 +174,10 @@ class TypeDeChamp < ApplicationRecord ]) end + def header_section? + type_champ == TypeDeChamp.type_champs.fetch(:header_section) + end + def linked_drop_down_list? type_champ == TypeDeChamp.type_champs.fetch(:linked_drop_down_list) end diff --git a/app/views/shared/dossiers/editable_champs/_header_section.html.haml b/app/views/shared/dossiers/editable_champs/_header_section.html.haml index 5e40893c5..030efcd2b 100644 --- a/app/views/shared/dossiers/editable_champs/_header_section.html.haml +++ b/app/views/shared/dossiers/editable_champs/_header_section.html.haml @@ -1,5 +1,2 @@ %h2.header-section - - libelle_starts_with_number = (champ.libelle =~ /^\d/) - - if !libelle_starts_with_number - = "#{champ.section_index}." - = champ.libelle + = champ.libelle_with_section_index