person: add current residential address in normalizer

This commit is contained in:
nobohan
2022-02-17 15:42:37 +01:00
parent 2926965400
commit 24fc7a216b
2 changed files with 25 additions and 1 deletions

View File

@@ -17,6 +17,7 @@ use Chill\MainBundle\Templating\Entity\ChillEntityRenderExtension;
use Chill\PersonBundle\Entity\Person;
use Chill\PersonBundle\Entity\PersonAltName;
use Chill\PersonBundle\Repository\PersonRepository;
use Chill\PersonBundle\Repository\ResidentialAddressRepository;
use DateTime;
use DateTimeImmutable;
use Doctrine\Common\Collections\Collection;
@@ -51,14 +52,18 @@ class PersonJsonNormalizer implements
private PersonRepository $repository;
private ResidentialAddressRepository $residentialAddressRepository;
public function __construct(
ChillEntityRenderExtension $render,
PersonRepository $repository,
CenterResolverManagerInterface $centerResolverManager
CenterResolverManagerInterface $centerResolverManager,
ResidentialAddressRepository $residentialAddressRepository
) {
$this->render = $render;
$this->repository = $repository;
$this->centerResolverManager = $centerResolverManager;
$this->residentialAddressRepository = $residentialAddressRepository;
}
public function denormalize($data, $type, $format = null, array $context = [])
@@ -181,6 +186,7 @@ class PersonJsonNormalizer implements
public function normalize($person, $format = null, array $context = [])
{
$household = $person->getCurrentHousehold();
$currentResidentialAddress = $this->residentialAddressRepository->findCurrentResidentialAddressByPerson($person);
return [
'type' => 'person',
@@ -200,6 +206,7 @@ class PersonJsonNormalizer implements
'gender' => $person->getGender(),
'current_household_address' => $this->normalizer->normalize($person->getCurrentHouseholdAddress(), $format, $context),
'current_household_id' => $household ? $this->normalizer->normalize($household->getId(), $format, $context) : null,
'current_residential_address' => $currentResidentialAddress ? $this->normalizer->normalize($currentResidentialAddress->getAddress()): null
];
}