mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-13 13:54:23 +00:00
address: use address lines in address normalizer + fix tests (for distribution)
This commit is contained in:
parent
3b20ac85d9
commit
e82a71b833
@ -13,6 +13,7 @@ namespace Chill\MainBundle\Serializer\Normalizer;
|
|||||||
|
|
||||||
use Chill\DocGeneratorBundle\Serializer\Helper\NormalizeNullValueHelper;
|
use Chill\DocGeneratorBundle\Serializer\Helper\NormalizeNullValueHelper;
|
||||||
use Chill\MainBundle\Entity\Address;
|
use Chill\MainBundle\Entity\Address;
|
||||||
|
use Chill\MainBundle\Templating\Entity\AddressRender;
|
||||||
use DateTimeInterface;
|
use DateTimeInterface;
|
||||||
use Symfony\Component\Serializer\Exception\UnexpectedValueException;
|
use Symfony\Component\Serializer\Exception\UnexpectedValueException;
|
||||||
use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
|
use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
|
||||||
@ -46,6 +47,13 @@ class AddressNormalizer implements ContextAwareNormalizerInterface, NormalizerAw
|
|||||||
'validTo' => DateTimeInterface::class,
|
'validTo' => DateTimeInterface::class,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
private AddressRender $addressRender;
|
||||||
|
|
||||||
|
public function __construct(AddressRender $addressRender)
|
||||||
|
{
|
||||||
|
$this->addressRender = $addressRender;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Address $address
|
* @param Address $address
|
||||||
* @param null|string $format
|
* @param null|string $format
|
||||||
@ -65,7 +73,7 @@ class AddressNormalizer implements ContextAwareNormalizerInterface, NormalizerAw
|
|||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'address_id' => $address->getId(),
|
'address_id' => $address->getId(),
|
||||||
'text' => $text,
|
'text' => $this->addressRender->renderString($address, []),
|
||||||
'street' => $address->getStreet(),
|
'street' => $address->getStreet(),
|
||||||
'streetNumber' => $address->getStreetNumber(),
|
'streetNumber' => $address->getStreetNumber(),
|
||||||
'postcode' => [
|
'postcode' => [
|
||||||
@ -85,6 +93,7 @@ class AddressNormalizer implements ContextAwareNormalizerInterface, NormalizerAw
|
|||||||
'buildingName' => $address->getBuildingName(),
|
'buildingName' => $address->getBuildingName(),
|
||||||
'distribution' => $address->getDistribution(),
|
'distribution' => $address->getDistribution(),
|
||||||
'extra' => $address->getExtra(),
|
'extra' => $address->getExtra(),
|
||||||
|
'lines' => $this->addressRender->renderLines($address),
|
||||||
];
|
];
|
||||||
|
|
||||||
if ('json' === $format) {
|
if ('json' === $format) {
|
||||||
|
@ -141,7 +141,7 @@ class AddressRender implements ChillEntityRenderInterface
|
|||||||
if (null !== $addr->getPostCode()->getCountry()->getCountryCode()) {
|
if (null !== $addr->getPostCode()->getCountry()->getCountryCode()) {
|
||||||
if ($addr->getPostCode()->getCountry()->getCountryCode() === 'FR') {
|
if ($addr->getPostCode()->getCountry()->getCountryCode() === 'FR') {
|
||||||
if ($addr->getDistribution()) {
|
if ($addr->getDistribution()) {
|
||||||
$res = $res . $addr->getDistribution();
|
$res = $res . ' ' . $addr->getDistribution();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -141,9 +141,10 @@ final class AddressRenderTest extends KernelTestCase
|
|||||||
$addr->setFloor('2');
|
$addr->setFloor('2');
|
||||||
$addr->setCorridor('3');
|
$addr->setCorridor('3');
|
||||||
$addr->setSteps('4');
|
$addr->setSteps('4');
|
||||||
|
$addr->setExtra('A droite de la porte');
|
||||||
|
$addr->setDistribution('CEDEX');
|
||||||
|
|
||||||
|
yield [$addr, 'appart 1 - ét 2 - coul 3 - esc 4 - Résidence "Les Bleuets" - 5, Rue ABC - A droite de la porte - 012345 Locality CEDEX - France'];
|
||||||
yield [$addr, 'appart 1 - ét 2 - coul 3 - esc 4 - Résidence "Les Bleuets" - 5, Rue ABC - 012345 Locality - France'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user