diff --git a/assets/vue/components/signalement-form/components/SignalementFormModalAlreadyExists.vue b/assets/vue/components/signalement-form/components/SignalementFormModalAlreadyExists.vue index 1c286ec81..dbbe5fe78 100644 --- a/assets/vue/components/signalement-form/components/SignalementFormModalAlreadyExists.vue +++ b/assets/vue/components/signalement-form/components/SignalementFormModalAlreadyExists.vue @@ -172,10 +172,10 @@ export default defineComponent({ } }, makeNewSignalement () { - if (formStore.alreadyExists.uuidDraft !== null && ( - formStore.alreadyExists.type === 'draft' || formStore.alreadyExists.type === 'signalement' - )) { + if (formStore.alreadyExists.uuidDraft !== null && (formStore.alreadyExists.type === 'draft' || formStore.alreadyExists.type === 'signalement')){ requests.archiveDraft(formStore.alreadyExists.uuidDraft, this.saveAndContinue) + } else if(formStore.alreadyExists.type === 'signalement'){ + this.saveAndContinue() } }, saveAndContinue () { diff --git a/src/Manager/SignalementDraftManager.php b/src/Manager/SignalementDraftManager.php index 5cb27ac3b..b9e4bc02b 100644 --- a/src/Manager/SignalementDraftManager.php +++ b/src/Manager/SignalementDraftManager.php @@ -54,7 +54,11 @@ public function update( ->setProfileDeclarant(ProfileDeclarant::from(strtoupper($signalementDraftRequest->getProfil()))); if (self::LAST_STEP === $signalementDraftRequest->getCurrentStep()) { - $signalement = $this->dispatchSignalementDraftCompleted($signalementDraft); + if (SignalementDraftStatus::EN_SIGNALEMENT === $signalementDraft->getStatus()) { + $signalement = $signalementDraft->getSignalements()->first(); + } else { + $signalement = $this->dispatchSignalementDraftCompleted($signalementDraft); + } } $this->save($signalementDraft); diff --git a/src/Repository/SignalementRepository.php b/src/Repository/SignalementRepository.php index 425d44c29..e8f2a1a55 100755 --- a/src/Repository/SignalementRepository.php +++ b/src/Repository/SignalementRepository.php @@ -1192,11 +1192,11 @@ public function findAllForEmailAndAddress( bool $isTiersDeclarant = true ): array { $qb = $this->createQueryBuilder('s'); - /*if ($isTiersDeclarant) { + if ($isTiersDeclarant) { $qb->andWhere('s.mailDeclarant = :email')->setParameter('email', $email); } else { $qb->andWhere('s.mailOccupant = :email')->setParameter('email', $email); - }*/ + } $qb->andWhere('LOWER(s.adresseOccupant) = :address')->setParameter('address', strtolower($address)) ->andWhere('s.cpOccupant = :zipcode')->setParameter('zipcode', $zipcode) ->andWhere('LOWER(s.villeOccupant) = :city')->setParameter('city', strtolower($city)) @@ -1214,6 +1214,7 @@ public function findAllForEmailAndAddress( $qb->addOrderBy('s.createdAt', 'DESC'); } else { $qb->addOrderBy('s.lastSuiviAt', 'DESC'); + $qb->setMaxResults(1); } return $qb->getQuery()->getResult(); diff --git a/templates/front/_partials/_suivi_signalement_tab_infos.html.twig b/templates/front/_partials/_suivi_signalement_tab_infos.html.twig index ebaeba8ec..da672090c 100755 --- a/templates/front/_partials/_suivi_signalement_tab_infos.html.twig +++ b/templates/front/_partials/_suivi_signalement_tab_infos.html.twig @@ -258,7 +258,7 @@ and signalement.profileDeclarant is not same as enum('App\\Entity\\Enum\\Profile
Le logement
{% set zone = 'batiment' %} - {% for situation,criteres in infoDesordres['criticitesArranged'][enum('App\\Entity\\Enum\\DesordreCritereZone').LOGEMENT.name] %} + {% for situation,criteres in infoDesordres['criticitesArranged'][enum('App\\Entity\\Enum\\DesordreCritereZone').BATIMENT.name] %} {% include 'front/_partials/_desordre-v2.html.twig' %} {% endfor %} {% endif %}