Commit ad4b23b8 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Admission : impossible de déclarer complète l'étape Document par les gestionnaires.

parent f282e7d7
Loading
Loading
Loading
Loading
+1 −0
Changes for CHANGELOG.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ Journal des modifications
- Pages 'Rôles et privilèges' et 'Profils et privilèges' : harmonisation + mention du code de chaque catégorie/privilège pour faciliter la recherche.
- [FIX] Le menu Formations n'était pas généré pour le rôle Gestionnaire de formation.
- [FIX] Retour en arrière : un candidat peut de nouveau attester sur l'honneur même si le dossier n'a pas été jugé complet par la gestionnaire.
- [FIX] Admission : impossible de déclarer complète l'étape Document par les gestionnaires.
- [FIX] Admission : la marge du bas dans des PDF générés n'était pas respectée (pb dans unicaen/pdf).
- [FIX] Admission : dans le formulaire en mode lecture seule, des boutons radios étaient débloqués à tort.
- [FIX] Cosmétique : pages de connexion et de création de compte local plus sobres.
+4 −0
Changes for module/Admission/src/Admission/Controller/AdmissionController.php: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -632,6 +632,10 @@ class AdmissionController extends AdmissionAbstractController {
            $verification = $this->verificationService->getRepository()->findOneByDocument($document);
            /** @var DocumentFieldset $documentFieldset */
            $documentFieldset = $this->admissionForm->get('document');
            if(isset($data['document']['verificationDocument'])){
                $documentFieldset->get('verificationDocument')->bindValues($data['document']['verificationDocument']);
            }

            /** @var Verification $verificationDocument */
            $verificationDocument = $documentFieldset->get('verificationDocument')->getObject();
            if ($verification === null) {
+16 −3
Changes for module/Admission/src/Admission/Entity/Db/Admission.php: 16 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -360,6 +360,18 @@ class Admission implements HistoriqueAwareInterface, ResourceInterface{
        return $this->document;
    }

    /**
     * Retourne le Document qui n'a aucun Fichier associé.
     *
     * @return \Admission\Entity\Db\Document|null
     */
    public function getDocumentWhereNoFichier(): ?Document
    {
        return $this->document->filter(
            fn(Document $d) => $d->estNonHistorise() && $d->getFichier() === null
        )->first() ?: null;
    }

    /**
     * Set individu.
     *
@@ -414,7 +426,8 @@ class Admission implements HistoriqueAwareInterface, ResourceInterface{
        return "Admission";
    }

    public function isDossierComplet(){
    public function isDossierComplet(): bool
    {
        /** @var Verification $verificationEtudiant */
        $verificationEtudiant = $this->getEtudiant()->first()->getVerificationEtudiant()->first()
            ? $this->getEtudiant()->first()->getVerificationEtudiant()->first()
@@ -434,8 +447,8 @@ class Admission implements HistoriqueAwareInterface, ResourceInterface{
        $isCompletFinancement = $verificationFinancement && $verificationFinancement->getEstComplet();

        /** @var Verification $verificationDocument */
        $verificationDocument = $this->getDocument()->first() && $this->getDocument()->first()->getVerificationDocument()->first()
        ? $this->getDocument()->first()->getVerificationDocument()->first()
        $verificationDocument = $this->getDocumentWhereNoFichier() && $this->getDocumentWhereNoFichier()->getVerificationDocument()->first()
        ? $this->getDocumentWhereNoFichier()->getVerificationDocument()->first()
        : null;
        $isCompletDocument = $verificationDocument && $verificationDocument->getEstComplet();

+4 −0
Changes for module/Admission/src/Admission/Entity/Db/Repository/AdmissionRepository.php: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -19,6 +19,10 @@ class AdmissionRepository extends DefaultEntityRepository
    public function findOneByIndividu(Individu|string $individu): Admission|null
    {
        $qb = $this->createQueryBuilder('a')
            ->leftJoin('a.etudiant', 'e')->addSelect('e')
            ->leftJoin('a.inscription', 'i')->addSelect('i')
            ->leftJoin('a.financement', 'f')->addSelect('f')
            ->leftJoin('a.document', 'd')->addSelect('d')
            ->where('a.individu = :individu')->setParameter('individu', $individu)
            ->andWhereNotHistorise('a');

+3 −1
Changes for module/Admission/src/Admission/Hydrator/Admission/AdmissionHydrator.php: 3 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
namespace Admission\Hydrator\Admission;

use Admission\Entity\Db\Admission;
use Admission\Entity\Db\Document;
use Doctrine\Laminas\Hydrator\DoctrineObject;

class AdmissionHydrator extends DoctrineObject
@@ -15,7 +16,8 @@ class AdmissionHydrator extends DoctrineObject
        $data['inscription'] = $object->getInscription()->first() ?: null;
        $data['financement'] = $object->getFinancement()->first() ?: null;
        $data['etudiant'] = $object->getEtudiant()->first() ?: null;
        $data['document'] = $object->getDocument()->first() ?: null;
//        $data['document'] = $object->getDocument()->first() ?: null; // POURQOI ???
        $data['document'] = $object->getDocumentWhereNoFichier();

        return $data;
    }