work in progress

This commit is contained in:
Pol Dellaiera 2022-02-15 13:55:21 +01:00
parent 4822acb6fb
commit d780d95157
No known key found for this signature in database
GPG Key ID: D476DFE9C67467CA
8 changed files with 61 additions and 12 deletions

View File

@ -89,13 +89,16 @@ class Configuration implements ConfigurationInterface
->end() ->end()
->end() // end of notifications ->end() // end of notifications
->arrayNode('phone_helper') ->arrayNode('phone_helper')
->canBeUnset() ->canBeUnset()
->children() ->children()
->scalarNode('twilio_sid') ->scalarNode('twilio_sid')
->defaultNull() ->defaultNull()
->end() ->end()
->scalarNode('twilio_secret') ->scalarNode('twilio_secret')
->defaultNull() ->defaultNull()
->end()
->scalarNode('default_carrier_code')
->defaultNull()
->end() ->end()
->end() ->end()
->end() ->end()

View File

@ -139,7 +139,7 @@ final class PhonenumberHelper implements PhoneNumberHelperInterface
} }
/** /**
* REturn true if the phoennumber is a mobile phone. Return always true * REturn true if the phonenumber is a mobile phone. Return always true
* if the validation is not configured. * if the validation is not configured.
* *
* @param string $phonenumber * @param string $phonenumber

View File

@ -25,7 +25,7 @@ final class Templating extends AbstractExtension
public function formatPhonenumber(string $phonenumber): string public function formatPhonenumber(string $phonenumber): string
{ {
return $this->phonenumberHelper->format($phonenumber) ?? $phonenumber; return $this->phonenumberHelper->format($phonenumber);
} }
public function getFilters() public function getFilters()

View File

@ -37,6 +37,8 @@ final class ValidPhonenumber extends ConstraintValidator
*/ */
public function validate($value, Constraint $constraint) public function validate($value, Constraint $constraint)
{ {
dump($value);
if (false === $this->phonenumberHelper->isPhonenumberValidationConfigured()) { if (false === $this->phonenumberHelper->isPhonenumberValidationConfigured()) {
$this->logger->debug('[phonenumber] skipping validation due to not configured helper'); $this->logger->debug('[phonenumber] skipping validation due to not configured helper');

View File

@ -85,3 +85,4 @@ services:
- "@security.token_storage" - "@security.token_storage"
Chill\MainBundle\Security\Resolver\CenterResolverDispatcherInterface: '@Chill\MainBundle\Security\Resolver\CenterResolverDispatcher' Chill\MainBundle\Security\Resolver\CenterResolverDispatcherInterface: '@Chill\MainBundle\Security\Resolver\CenterResolverDispatcher'

View File

@ -3,6 +3,8 @@ services:
autowire: true autowire: true
autoconfigure: true autoconfigure: true
Chill\MainBundle\Phonenumber\PhoneNumberHelperInterface: '@Chill\MainBundle\Phonenumber\PhonenumberHelper'
Chill\MainBundle\Phonenumber\PhonenumberHelper: ~ Chill\MainBundle\Phonenumber\PhonenumberHelper: ~
Chill\MainBundle\Phonenumber\Templating: Chill\MainBundle\Phonenumber\Templating:

View File

@ -429,7 +429,7 @@ class Person implements HasCenterInterface, TrackCreationInterface, TrackUpdateI
/** /**
* The person's phonenumber. * The person's phonenumber.
* *
* @ORM\Column(type="text") * @ORM\Column(type="text", nullable=true)
* @Assert\Regex( * @Assert\Regex(
* pattern="/^([\+{1}])([0-9\s*]{4,20})$/", * pattern="/^([\+{1}])([0-9\s*]{4,20})$/",
* ) * )
@ -437,7 +437,7 @@ class Person implements HasCenterInterface, TrackCreationInterface, TrackUpdateI
* type="landline", * type="landline",
* ) * )
*/ */
private string $phonenumber = ''; private ?string $phonenumber = null;
/** /**
* The person's place of birth. * The person's place of birth.
@ -1298,7 +1298,7 @@ class Person implements HasCenterInterface, TrackCreationInterface, TrackUpdateI
/** /**
* Get phonenumber. * Get phonenumber.
*/ */
public function getPhonenumber(): string public function getPhonenumber(): ?string
{ {
return $this->phonenumber; return $this->phonenumber;
} }

View File

@ -0,0 +1,41 @@
<?php
declare(strict_types=1);
namespace Chill\Migrations\Person;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
use Exception;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20220215135508 extends AbstractMigration
{
public function getDescription(): string
{
return 'Update phone numbers';
}
public function up(Schema $schema): void
{
$this->addSql('DROP INDEX phonenumber_trgm_idx');
$this->addSql('DROP INDEX mobilenumber_trgm_idx');
$this->addSql('ALTER TABLE chill_person_person ALTER phonenumber TYPE TEXT');
$this->addSql('ALTER TABLE chill_person_person ALTER phonenumber DROP DEFAULT');
$this->addSql('ALTER TABLE chill_person_person ALTER phonenumber DROP NOT NULL');
$this->addSql('ALTER TABLE chill_person_person ALTER mobilenumber TYPE TEXT');
$this->addSql('ALTER TABLE chill_person_person ALTER mobilenumber DROP DEFAULT');
$this->addSql('COMMENT ON COLUMN chill_person_person.phonenumber IS NULL');
$this->addSql('COMMENT ON COLUMN chill_person_person.mobilenumber IS NULL');
$this->addSql('ALTER TABLE chill_person_phone ALTER phonenumber TYPE TEXT');
$this->addSql('ALTER TABLE chill_person_phone ALTER phonenumber DROP DEFAULT');
$this->addSql('COMMENT ON COLUMN chill_person_phone.phonenumber IS NULL');
}
public function down(Schema $schema): void
{
throw new Exception('You should not do that.');
}
}