diff --git a/src/Bundle/ChillPersonBundle/Form/PersonType.php b/src/Bundle/ChillPersonBundle/Form/PersonType.php index 3e809ad49..4fc078cf1 100644 --- a/src/Bundle/ChillPersonBundle/Form/PersonType.php +++ b/src/Bundle/ChillPersonBundle/Form/PersonType.php @@ -20,6 +20,7 @@ use Chill\MainBundle\Form\Type\PickCivilityType; use Chill\MainBundle\Form\Type\Select2CountryType; use Chill\MainBundle\Form\Type\Select2LanguageType; use Chill\MainBundle\Templating\TranslatableStringHelper; +use Chill\MainBundle\Templating\TranslatableStringHelperInterface; use Chill\PersonBundle\Config\ConfigPersonAltNamesHelper; use Chill\PersonBundle\Entity\Person; use Chill\PersonBundle\Entity\PersonPhone; @@ -27,6 +28,13 @@ use Chill\PersonBundle\Form\Type\GenderType; use Chill\PersonBundle\Form\Type\PersonAltNameType; use Chill\PersonBundle\Form\Type\PersonPhoneType; use Chill\PersonBundle\Form\Type\Select2MaritalStatusType; +use Doctrine\ORM\EntityRepository; +use Doctrine\ORM\QueryBuilder; +use libphonenumber\PhoneNumberFormat; +use libphonenumber\PhoneNumberType; +use libphonenumber\PhoneNumberUtil; +use Symfony\Bridge\Doctrine\Form\Type\EntityType; +use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\CallbackTransformer; use Symfony\Component\Form\Extension\Core\Type\CheckboxType; @@ -57,17 +65,21 @@ class PersonType extends AbstractType protected TranslatableStringHelper $translatableStringHelper; + private ParameterBagInterface $parameterBag; + /** * @param string[] $personFieldsConfiguration configuration of visibility of some fields */ public function __construct( array $personFieldsConfiguration, ConfigPersonAltNamesHelper $configAltNamesHelper, - TranslatableStringHelper $translatableStringHelper + TranslatableStringHelperInterface $translatableStringHelper, + ParameterBagInterface $parameterBag ) { $this->config = $personFieldsConfiguration; $this->configAltNamesHelper = $configAltNamesHelper; $this->translatableStringHelper = $translatableStringHelper; + $this->parameterBag = $parameterBag; } public function buildForm(FormBuilderInterface $builder, array $options) @@ -126,15 +138,43 @@ class PersonType extends AbstractType } if ('visible' === $this->config['phonenumber']) { - $builder->add('phonenumber', TelType::class, [ - 'required' => false, - // 'placeholder' => '+33623124554' //TODO placeholder for phone numbers - ]); + $examplePhoneNumber = PhoneNumberUtil::getInstance() + ->getExampleNumberForType( + $this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'], + PhoneNumberType::FIXED_LINE + ); + + $builder + ->add( + 'phonenumber', + TelType::class, + [ + 'required' => false, + 'attr' => [ + 'placeholder' => PhoneNumberUtil::getInstance()->format($examplePhoneNumber, PhoneNumberFormat::NATIONAL) + ], + ] + ); } if ('visible' === $this->config['mobilenumber']) { + $examplePhoneNumber = PhoneNumberUtil::getInstance() + ->getExampleNumberForType( + $this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'], + PhoneNumberType::MOBILE + ); + $builder - ->add('mobilenumber', TelType::class, ['required' => false]) + ->add( + 'mobilenumber', + TelType::class, + [ + 'required' => false, + 'attr' => [ + 'placeholder' => PhoneNumberUtil::getInstance()->format($examplePhoneNumber, PhoneNumberFormat::NATIONAL) + ], + ] + ) ->add('acceptSMS', CheckboxType::class, [ 'required' => false, ]); diff --git a/src/Bundle/ChillPersonBundle/config/services/form.yaml b/src/Bundle/ChillPersonBundle/config/services/form.yaml index 2390005cf..52bf1f494 100644 --- a/src/Bundle/ChillPersonBundle/config/services/form.yaml +++ b/src/Bundle/ChillPersonBundle/config/services/form.yaml @@ -1,15 +1,15 @@ services: - Chill\PersonBundle\Form\: autowire: true autoconfigure: true resource: '../../Form/' Chill\PersonBundle\Form\PersonType: + autowire: true + autoconfigure: true arguments: $personFieldsConfiguration: '%chill_person.person_fields%' $configAltNamesHelper: '@Chill\PersonBundle\Config\ConfigPersonAltNamesHelper' - $translatableStringHelper: '@Chill\MainBundle\Templating\TranslatableStringHelper' tags: - { name: form.type, alias: '@chill.person.form.person_creation' }