refuse les numéros de tel invalides

rend facultatif les numéros de téléphone
This commit is contained in:
Christophe Robillard 2019-11-14 18:31:14 +01:00
parent b60aff8468
commit 4e7c779116
6 changed files with 35 additions and 3 deletions

View file

@ -47,6 +47,7 @@ gem 'omniauth-rails_csrf_protection', '~> 0.1'
gem 'openid_connect'
gem 'openstack'
gem 'pg'
gem 'phonelib'
gem 'prawn' # PDF Generation
gem 'prawn_rails'
gem 'premailer-rails'

View file

@ -420,6 +420,7 @@ GEM
ast (~> 2.4.0)
pdf-core (0.7.0)
pg (1.1.3)
phonelib (0.6.39)
powerpack (0.1.2)
prawn (2.2.2)
pdf-core (~> 0.7.0)
@ -767,6 +768,7 @@ DEPENDENCIES
openid_connect
openstack
pg
phonelib
prawn
prawn_rails
premailer-rails

View file

@ -20,7 +20,7 @@ class Service < ApplicationRecord
validates :organisme, presence: { message: 'doit être renseigné' }, allow_nil: false
validates :type_organisme, presence: { message: 'doit être renseigné' }, allow_nil: false
validates :email, presence: { message: 'doit être renseigné' }, allow_nil: false
validates :telephone, presence: { message: 'doit être renseigné' }, allow_nil: false
validates :telephone, phone: { possible: true, allow_blank: true }
validates :horaires, presence: { message: 'doivent être renseignés' }, allow_nil: false
validates :adresse, presence: { message: 'doit être renseignée' }, allow_nil: false
validates :administrateur, presence: { message: 'doit être renseigné' }, allow_nil: false

View file

@ -21,7 +21,7 @@
%p.explication
Votre démarche sera hébergée par demarche-simplifiees.fr mais nous ne pouvons pas assurer le support des démarches. Et malgré la dématérialisation, les usagers se poseront parfois des questions légitimes sur le processus administratif.
Il est donc important que les usagers puissent contacter votre service s'ils ont des questions sur votre démarche.
Il est donc important que les usagers puissent vous contacter s'ils ont des questions sur votre démarche.
Ces informations seront visibles par les utilisateurs de la démarche, affichées dans le menu "Aide".

View file

@ -0,0 +1,2 @@
Phonelib.default_country = "FR"
Phonelib.parse_special = true

View file

@ -7,7 +7,7 @@ describe Service, type: :model do
organisme: 'mairie des iles',
type_organisme: Service.type_organismes.fetch(:association),
email: 'super@email.com',
telephone: '1212202',
telephone: '012345678',
horaires: 'du lundi au vendredi',
adresse: '12 rue des schtroumpfs',
administrateur_id: administrateur.id
@ -16,6 +16,33 @@ describe Service, type: :model do
it { expect(Service.new(params).valid?).to be_truthy }
it 'should forbid invalid phone numbers' do
service = Service.create(params)
invalid_phone_numbers = ["1", "Néant", "01 60 50 40 30 20"]
invalid_phone_numbers.each do |tel|
service.telephone = tel
expect(service.valid?).to be_falsey
end
end
it 'should accept no phone numbers' do
service = Service.create(params)
service.telephone = nil
expect(service.valid?).to be_truthy
end
it 'should accept valid phone numbers' do
service = Service.create(params)
valid_phone_numbers = ["3646", "273115", "0160376983", "01 60 50 40 30 ", "+33160504030"]
valid_phone_numbers.each do |tel|
service.telephone = tel
expect(service.valid?).to be_truthy
end
end
context 'when a first service exists' do
before { Service.create(params) }