Skip to content

Commit

Permalink
fix demande relogement requests #2161
Browse files Browse the repository at this point in the history
  • Loading branch information
emilschn committed Feb 6, 2024
1 parent 6328a43 commit a0f2d00
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 82 deletions.
7 changes: 0 additions & 7 deletions src/Dto/Request/Signalement/SituationFoyerRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ public function __construct(
private readonly ?string $isLogementSocial = null,
#[Assert\NotBlank(['message' => 'Veuillez définir le champ demande relogement', 'groups' => ['LOCATAIRE', 'BAILLEUR_OCCUPANT']])]
private readonly ?string $isRelogement = null,
#[Assert\NotBlank(['message' => 'Veuillez définir le champ demande relogement', 'groups' => ['TIERS_PARTICULIER', 'TIERS_PRO']])]
private readonly ?string $demandeRelogement = null,
#[Assert\NotBlank(['message' => 'Veuillez définir le champ allocataire', 'groups' => ['LOCATAIRE', 'BAILLEUR_OCCUPANT', 'BAILLEUR', 'TIERS_PARTICULIER', 'TIERS_PRO']])]
private readonly ?string $isAllocataire = null,
#[Assert\DateTime('Y-m-d')]
Expand All @@ -39,11 +37,6 @@ public function getIsRelogement(): ?string
return $this->isRelogement;
}

public function getDemandeRelogement(): ?string
{
return $this->demandeRelogement;
}

public function getIsAllocataire(): ?string
{
return $this->isAllocataire;
Expand Down
34 changes: 19 additions & 15 deletions src/Manager/SignalementManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -588,31 +588,29 @@ public function updateFromSituationFoyerRequest(
Signalement $signalement,
SituationFoyerRequest $situationFoyerRequest
) {
$signalement->setIsLogementSocial(
$this->signalementInputValueMapper->map(
$situationFoyerRequest->getIsLogementSocial()
$signalement
->setIsLogementSocial(
$this->signalementInputValueMapper->map(
$situationFoyerRequest->getIsLogementSocial()
)
)
);
if (!$signalement->getIsNotOccupant()) {
$signalement->setIsRelogement(
->setIsRelogement(
$this->signalementInputValueMapper->map(
$situationFoyerRequest->getIsRelogement()
)
);
}
$signalement->setIsAllocataire(
$this->signalementInputValueMapper->map(
$situationFoyerRequest->getIsAllocataire()
)
);
->setIsAllocataire(
$this->signalementInputValueMapper->map(
$situationFoyerRequest->getIsAllocataire()
)
)
->setNumAllocataire($situationFoyerRequest->getNumAllocataire());

if (!empty($situationFoyerRequest->getDateNaissanceOccupant())) {
$dateNaissance = new \DateTimeImmutable($situationFoyerRequest->getDateNaissanceOccupant());
$signalement->setDateNaissanceOccupant($dateNaissance);
}

$signalement->setNumAllocataire($situationFoyerRequest->getNumAllocataire());

$situationFoyer = new SituationFoyer();
if (!empty($signalement->getSituationFoyer())) {
$situationFoyer = clone $signalement->getSituationFoyer();
Expand All @@ -632,6 +630,12 @@ public function updateFromSituationFoyerRequest(
} else {
$situationFoyer->setLogementSocialAllocation('oui');
}
if (!$signalement->getIsNotOccupant()) {
$situationFoyer
->setLogementSocialDemandeRelogement(
$situationFoyerRequest->getIsRelogement()
);
}
$signalement->setSituationFoyer($situationFoyer);

$informationComplementaire = new InformationComplementaire();
Expand All @@ -648,7 +652,7 @@ public function updateFromSituationFoyerRequest(
if ($signalement->getIsNotOccupant()) {
$informationComplementaire
->setInformationsComplementairesSituationOccupantsDemandeRelogement(
$situationFoyerRequest->getDemandeRelogement()
$situationFoyerRequest->getIsRelogement()
);
}
if ($situationFoyerRequest->getRevenuFiscal()) {
Expand Down
4 changes: 2 additions & 2 deletions src/Service/Signalement/SignalementBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,6 @@ public function withSituationFoyer(): self
{
$this->signalement
->setSituationFoyer($this->situationFoyerFactory->createFromSignalementDraftPayload($this->payload))
->setIsRelogement($this->evalBoolean($this->signalementDraftRequest->getLogementSocialDemandeRelogement()))
->setIsAllocataire($this->resolveIsAllocataire())
->setNumAllocataire($this->signalementDraftRequest->getLogementSocialNumeroAllocataire())
->setMontantAllocation($this->signalementDraftRequest->getLogementSocialMontantAllocation())
Expand Down Expand Up @@ -493,7 +492,8 @@ private function resolveDateEmmenagement(): ?\DateTimeImmutable

private function isDemandeRelogement(): ?bool
{
if (ProfileDeclarant::LOCATAIRE === $this->signalementDraft->getProfileDeclarant()) {
if (ProfileDeclarant::LOCATAIRE === $this->signalementDraft->getProfileDeclarant()
|| ProfileDeclarant::BAILLEUR_OCCUPANT === $this->signalementDraft->getProfileDeclarant()) {
return $this->evalBoolean($this->signalementDraftRequest->getLogementSocialDemandeRelogement());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,43 +30,14 @@
</select>
</div>

{% if signalement.isNotOccupant %}
<div class="fr-select-group">
{% set demandeRelogement = 'nsp' %}
{% if signalement.informationComplementaire %}
{% if signalement.informationComplementaire.informationsComplementairesSituationOccupantsDemandeRelogement is same as 'oui' %}
{% set demandeRelogement = 'oui' %}
{% elseif signalement.informationComplementaire.informationsComplementairesSituationOccupantsDemandeRelogement is same as 'non' %}
{% set demandeRelogement = 'non' %}
{% endif %}
{% endif %}
<label class="fr-label" for="demandeRelogement">Demande logement social / relogement</label>
<select class="fr-select" name="demandeRelogement">
<option value="" disabled hidden>Sélectionnez un choix</option>
<option value="oui" {{ demandeRelogement is same as 'oui' ? 'selected' : '' }}>Oui</option>
<option value="non" {{ demandeRelogement is same as 'non' ? 'selected' : '' }}>Non</option>
<option value="nsp" {{ demandeRelogement is same as 'nsp' ? 'selected' : '' }}>Je ne sais pas</option>
</select>
</div>
{% else %}
<div class="fr-select-group">
{% set isRelogement = 'nsp' %}
{% if signalement.isRelogement is null %}
{% set isRelogement = 'nsp' %}
{% elseif signalement.isRelogement %}
{% set isRelogement = 'oui' %}
{% else %}
{% set isRelogement = 'non' %}
{% endif %}
<label class="fr-label" for="isRelogement">Demande relogement</label>
<select class="fr-select" name="isRelogement">
<option value="" disabled hidden>Sélectionnez un choix</option>
<option value="oui" {{ isRelogement is same as 'oui' ? 'selected' : '' }}>Oui</option>
<option value="non" {{ isRelogement is same as 'non' ? 'selected' : '' }}>Non</option>
<option value="nsp" {{ isRelogement is same as 'nsp' ? 'selected' : '' }}>Je ne sais pas</option>
</select>
</div>
{% endif %}
<div class="fr-select-group">
<label class="fr-label" for="isRelogement">Demande logement social / relogement</label>
<select class="fr-select" name="isRelogement">
<option value=""></option>
<option value="oui" {{ signalement.isRelogement is same as true ? 'selected' : '' }}>Oui</option>
<option value="non" {{ signalement.isRelogement is same as false ? 'selected' : '' }}>Non</option>
</select>
</div>

<div class="fr-select-group">
{% set isAllocataire = 'nsp' %}
Expand Down
23 changes: 2 additions & 21 deletions templates/back/signalement/view/information.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -571,33 +571,14 @@
{{ static_picto_no|raw }}
{% endif %}
</div>
{% if signalement.isNotOccupant %}
<div class="fr-col-12">
<strong>Demande logement social / relogement :</strong>
{% if signalement.informationComplementaire %}
{% if signalement.informationComplementaire.informationsComplementairesSituationOccupantsDemandeRelogement is same as 'oui' %}
{{ static_picto_yes|raw }}
{% elseif signalement.informationComplementaire.informationsComplementairesSituationOccupantsDemandeRelogement is same as 'non' %}
{{ static_picto_no|raw }}
{% else %}
Ne sait pas
{% endif %}
{% else %}
N/C
{% endif %}
</div>
{% else %}
<div class="fr-col-12 fr-col-md-6">
<strong>Demande relogement :</strong>
{% if signalement.isRelogement is null %}
Ne sait pas
{% elseif signalement.isRelogement %}
{% if signalement.isRelogement is same as true %}
{{ static_picto_yes|raw }}
{% else %}
{% elseif signalement.isRelogement is same as false %}
{{ static_picto_no|raw }}
{% endif %}
</div>
{% endif %}
<div class="fr-col-12 fr-col-md-6">
<strong>Allocataire :</strong>
{% if signalement.isAllocataire is null %}
Expand Down

0 comments on commit a0f2d00

Please sign in to comment.