Use PhoneNumber form type.

This commit is contained in:
Pol Dellaiera 2022-02-22 13:13:06 +01:00
parent 47676c67ff
commit dbbbd99788
No known key found for this signature in database
GPG Key ID: D476DFE9C67467CA
2 changed files with 15 additions and 16 deletions

View File

@ -37,6 +37,7 @@ use Doctrine\Common\Collections\Collection;
use Doctrine\Common\Collections\Criteria; use Doctrine\Common\Collections\Criteria;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use Exception; use Exception;
use libphonenumber\PhoneNumber;
use Symfony\Component\Serializer\Annotation\DiscriminatorMap; use Symfony\Component\Serializer\Annotation\DiscriminatorMap;
use Symfony\Component\Validator\Constraints as Assert; use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Context\ExecutionContextInterface;
@ -371,12 +372,9 @@ class Person implements HasCenterInterface, TrackCreationInterface, TrackUpdateI
/** /**
* The person's mobile phone number. * The person's mobile phone number.
* *
* @ORM\Column(type="text") * @ORM\Column(type="phone_number")
* @PhonenumberConstraint(
* type="mobile",
* )
*/ */
private string $mobilenumber = ''; private ?PhoneNumber $mobilenumber;
/** /**
* The person's nationality. * The person's nationality.
@ -426,12 +424,9 @@ class Person implements HasCenterInterface, TrackCreationInterface, TrackUpdateI
/** /**
* The person's phonenumber. * The person's phonenumber.
* *
* @ORM\Column(type="text", nullable=true) * @ORM\Column(type="phone_number")
* @PhonenumberConstraint(
* type="landline",
* )
*/ */
private ?string $phonenumber = null; private ?PhoneNumber $phonenumber;
/** /**
* The person's place of birth. * The person's place of birth.

View File

@ -31,8 +31,9 @@ use Chill\PersonBundle\Form\Type\Select2MaritalStatusType;
use Doctrine\ORM\EntityRepository; use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\QueryBuilder; use Doctrine\ORM\QueryBuilder;
use libphonenumber\PhoneNumberFormat; use libphonenumber\PhoneNumberFormat;
use libphonenumber\PhoneNumberType; use libphonenumber\PhoneNumberType as LibphonenumberPhoneNumberType;
use libphonenumber\PhoneNumberUtil; use libphonenumber\PhoneNumberUtil;
use Misd\PhoneNumberBundle\Form\Type\PhoneNumberType;
use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;
@ -41,7 +42,6 @@ use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\DateType; use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\EmailType; use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType; use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\OptionsResolver\OptionsResolver;
@ -141,14 +141,16 @@ class PersonType extends AbstractType
$examplePhoneNumber = PhoneNumberUtil::getInstance() $examplePhoneNumber = PhoneNumberUtil::getInstance()
->getExampleNumberForType( ->getExampleNumberForType(
$this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'], $this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'],
PhoneNumberType::FIXED_LINE LibphonenumberPhoneNumberType::FIXED_LINE
); );
$builder $builder
->add( ->add(
'phonenumber', 'phonenumber',
TelType::class, PhoneNumberType::class,
[ [
'default_region' => $this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'],
'format' => PhoneNumberFormat::NATIONAL,
'required' => false, 'required' => false,
'attr' => [ 'attr' => [
'placeholder' => PhoneNumberUtil::getInstance()->format($examplePhoneNumber, PhoneNumberFormat::NATIONAL) 'placeholder' => PhoneNumberUtil::getInstance()->format($examplePhoneNumber, PhoneNumberFormat::NATIONAL)
@ -161,14 +163,16 @@ class PersonType extends AbstractType
$examplePhoneNumber = PhoneNumberUtil::getInstance() $examplePhoneNumber = PhoneNumberUtil::getInstance()
->getExampleNumberForType( ->getExampleNumberForType(
$this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'], $this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'],
PhoneNumberType::MOBILE LibphonenumberPhoneNumberType::MOBILE
); );
$builder $builder
->add( ->add(
'mobilenumber', 'mobilenumber',
TelType::class, PhoneNumberType::class,
[ [
'default_region' => $this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'],
'format' => PhoneNumberFormat::NATIONAL,
'required' => false, 'required' => false,
'attr' => [ 'attr' => [
'placeholder' => PhoneNumberUtil::getInstance()->format($examplePhoneNumber, PhoneNumberFormat::NATIONAL) 'placeholder' => PhoneNumberUtil::getInstance()->format($examplePhoneNumber, PhoneNumberFormat::NATIONAL)