refuse les numéros de tel invalides
rend facultatif les numéros de téléphone
This commit is contained in:
parent
b60aff8468
commit
4e7c779116
6 changed files with 35 additions and 3 deletions
1
Gemfile
1
Gemfile
|
@ -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'
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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".
|
||||
|
||||
|
|
2
config/initializers/phonelib.rb
Normal file
2
config/initializers/phonelib.rb
Normal file
|
@ -0,0 +1,2 @@
|
|||
Phonelib.default_country = "FR"
|
||||
Phonelib.parse_special = true
|
|
@ -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) }
|
||||
|
||||
|
|
Loading…
Reference in a new issue