diff --git a/src/Service/Signalement/SignalementBuilder.php b/src/Service/Signalement/SignalementBuilder.php index 285e6ed97..b6a5b22df 100644 --- a/src/Service/Signalement/SignalementBuilder.php +++ b/src/Service/Signalement/SignalementBuilder.php @@ -316,12 +316,8 @@ public function build(): Signalement private function setAddressData(): void { - $isLogementSocial = $this->isServiceSecours() - ? $this->evalBoolean($this->signalementDraftRequest->getSignalementConcerneLogementSocialServiceSecours()) - : $this->evalBoolean($this->signalementDraftRequest->getSignalementConcerneLogementSocialAutreTiers()); - $this->signalement - ->setIsLogementSocial($isLogementSocial) + ->setIsLogementSocial($this->isLogementSocial()) ->setAdresseOccupant($this->signalementDraftRequest->getAdresseLogementAdresseDetailNumero()) ->setCpOccupant($this->signalementDraftRequest->getAdresseLogementAdresseDetailCodePostal()) ->setInseeOccupant($this->signalementDraftRequest->getAdresseLogementAdresseDetailInsee()) @@ -414,9 +410,12 @@ private function setProprietaireData(): void ->setTelProprio($this->signalementDraftRequest->getCoordonneesBailleurTel()) ->setTelProprioSecondaire($this->signalementDraftRequest->getCoordonneesBailleurTelSecondaire()); - $bailleur = $this->bailleurRepository->findOneBailleurBy($bailleurNom, $this->territory->getZip()); - if (null !== $bailleur) { - $this->signalement->setBailleur($bailleur); + if ($this->isLogementSocial() && $bailleurNom) { + $bailleur = $this->bailleurRepository->findOneBailleurBy($bailleurNom, $this->territory->getZip()); + + if (null !== $bailleur) { + $this->signalement->setBailleur($bailleur); + } } } } @@ -449,7 +448,7 @@ private function isTiersPro(): bool private function evalBoolean(?string $value): ?bool { - if (null === $value) { + if (null === $value || 'ne-sais-pas' === $value || 'nsp' === $value) { return null; } @@ -538,4 +537,11 @@ private function resolveDateNaissanceOccupant(): ?\DateTimeImmutable return new \DateTimeImmutable($this->signalementDraftRequest->getLogementSocialDateNaissance()); } + + private function isLogementSocial(): ?bool + { + return $this->isServiceSecours() + ? $this->evalBoolean($this->signalementDraftRequest->getSignalementConcerneLogementSocialServiceSecours()) + : $this->evalBoolean($this->signalementDraftRequest->getSignalementConcerneLogementSocialAutreTiers()); + } }