review: detailled error message
This commit is contained in:
parent
2ad4e4c01f
commit
30eef3e128
6 changed files with 43 additions and 10 deletions
|
@ -5,7 +5,8 @@ module SiretChampEtablissementFetchableConcern
|
|||
|
||||
def fetch_etablissement!(siret, user)
|
||||
return clear_etablissement!(:empty) if siret.empty?
|
||||
return clear_etablissement!(:invalid) unless Siret.new(siret: siret).valid? # i18n-tasks-use t('errors.messages.invalid_siret')
|
||||
return clear_etablissement!(:invalid_length) if invalid_because?(siret, :length) # i18n-tasks-use t('errors.messages.invalid_siret_length')
|
||||
return clear_etablissement!(:invalid_checksum) if invalid_because?(siret, :checksum) # i18n-tasks-use t('errors.messages.invalid_siret_checksum')
|
||||
return clear_etablissement!(:not_found) unless (etablissement = APIEntrepriseService.create_etablissement(self, siret, user&.id)) # i18n-tasks-use t('errors.messages.siret_not_found')
|
||||
|
||||
update!(value: siret, etablissement: etablissement)
|
||||
|
@ -35,4 +36,11 @@ module SiretChampEtablissementFetchableConcern
|
|||
|
||||
false
|
||||
end
|
||||
|
||||
def invalid_because?(siret, criteria)
|
||||
validatable_siret = Siret.new(siret: siret)
|
||||
return false if validatable_siret.valid?
|
||||
|
||||
validatable_siret.errors.details[:siret].any? && validatable_siret.errors.details[:siret].first[:error] == criteria
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
- case siret
|
||||
- when :invalid
|
||||
Le numéro de SIRET doit comporter exactement 14 chiffres.
|
||||
- when :invalid_length
|
||||
= t('errors.messages.invalid_siret_length')
|
||||
|
||||
- when :invalid_checksum
|
||||
= t('errors.messages.invalid_siret_checksum')
|
||||
|
||||
- when :not_found
|
||||
Nous n’avons pas trouvé d’établissement correspondant à ce numéro de SIRET.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue