phonenumber type for form

This commit is contained in:
2022-03-02 15:01:04 +01:00
parent 7bd93e53c2
commit c8c2c4c859
3 changed files with 65 additions and 27 deletions

View File

@@ -13,12 +13,14 @@ namespace Chill\PersonBundle\Form;
use Chill\MainBundle\Form\Event\CustomizeFormEvent;
use Chill\MainBundle\Form\Type\ChillDateType;
use Chill\MainBundle\Form\Type\ChillPhoneNumberType;
use Chill\MainBundle\Form\Type\PickCenterType;
use Chill\PersonBundle\Config\ConfigPersonAltNamesHelper;
use Chill\PersonBundle\Entity\Person;
use Chill\PersonBundle\Form\Type\GenderType;
use Chill\PersonBundle\Form\Type\PersonAltNameType;
use Chill\PersonBundle\Security\Authorization\PersonVoter;
use libphonenumber\PhoneNumberType;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\Form\AbstractType;
@@ -60,11 +62,13 @@ final class CreationPersonType extends AbstractType
->add('birthdate', ChillDateType::class, [
'required' => false,
])
->add('phonenumber', TelType::class, [
->add('phonenumber', ChillPhoneNumberType::class, [
'required' => false,
'type' => PhoneNumberType::FIXED_LINE
])
->add('mobilenumber', TelType::class, [
->add('mobilenumber', ChillPhoneNumberType::class, [
'required' => false,
'type' => PhoneNumberType::MOBILE,
])
->add('email', EmailType::class, [
'required' => false,

View File

@@ -14,6 +14,7 @@ namespace Chill\PersonBundle\Form;
use Chill\CustomFieldsBundle\Form\Type\CustomFieldType;
use Chill\MainBundle\Form\Type\ChillCollectionType;
use Chill\MainBundle\Form\Type\ChillDateType;
use Chill\MainBundle\Form\Type\ChillPhoneNumberType;
use Chill\MainBundle\Form\Type\ChillTextareaType;
use Chill\MainBundle\Form\Type\CommentType;
use Chill\MainBundle\Form\Type\PickCivilityType;
@@ -135,45 +136,25 @@ class PersonType extends AbstractType
}
if ('visible' === $this->config['phonenumber']) {
$examplePhoneNumber = PhoneNumberUtil::getInstance()
->getExampleNumberForType(
$this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'],
LibphonenumberPhoneNumberType::FIXED_LINE
);
$builder
->add(
'phonenumber',
PhoneNumberType::class,
ChillPhoneNumberType::class,
[
'default_region' => $this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'],
'format' => PhoneNumberFormat::NATIONAL,
'required' => false,
'attr' => [
'placeholder' => PhoneNumberUtil::getInstance()->format($examplePhoneNumber, PhoneNumberFormat::NATIONAL),
],
'type' => \libphonenumber\PhoneNumberType::FIXED_LINE,
]
);
}
if ('visible' === $this->config['mobilenumber']) {
$examplePhoneNumber = PhoneNumberUtil::getInstance()
->getExampleNumberForType(
$this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'],
LibphonenumberPhoneNumberType::MOBILE
);
$builder
->add(
'mobilenumber',
PhoneNumberType::class,
ChillPhoneNumberType::class,
[
'default_region' => $this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'],
'format' => PhoneNumberFormat::NATIONAL,
'type' => \libphonenumber\PhoneNumberType::MOBILE,
'required' => false,
'attr' => [
'placeholder' => PhoneNumberUtil::getInstance()->format($examplePhoneNumber, PhoneNumberFormat::NATIONAL),
],
]
)
->add('acceptSMS', CheckboxType::class, [
@@ -182,7 +163,7 @@ class PersonType extends AbstractType
}
$builder->add('otherPhoneNumbers', ChillCollectionType::class, [
'entry_type' => PersonPhoneType::class,
'entry_type' => ChillPhoneNumberType::class,
'button_add_label' => 'Add new phone',
'button_remove_label' => 'Remove phone',
'required' => false,