Commit 6e9143f4 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Admission : enregistrement de la nature de la PJ déposée dans le dossier...

[FIX] Admission : enregistrement de la nature de la PJ déposée dans le dossier et ajout d'une contrainte en bdd empêchant le dépôt de plusieurs PJ du même nature.
parent 94857572
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ Journal des modifications
- [FIX] Admission : on doit écarter les documents supprimés-historisés.
- [FIX] Admission : il était impossible de déclarer l'étape 2 (inscription) incomplète (éditeur tinymce initialisé en double).
- [FIX] Admission : augmentation de la marge du bas dans le récapitulatif du dossier d'admission.
- [FIX] Admission : enregistrement de la nature de la PJ déposée dans le dossier et ajout d'une contrainte en bdd empêchant le dépôt de plusieurs PJ du même nature.
- [FIX] Editeur HTML TinyMCE : il était impossible d'insérer un lien hypertexte si l'éditeur était ouvert dans un fenêtre modale. 

10.2.1
+17 −0
Original line number Diff line number Diff line
@@ -48,3 +48,20 @@ update admission_type_validation

alter table admission_financement
    add autre_financement_que_contrat_doct varchar(1024);


update admission_document ad set nature_id = f.nature_id from fichier f where ad.fichier_id = f.id;

create unique index admission_document_uniq
    on admission_document (admission_id, nature_id)
    where (histo_destruction IS NULL);
create unique index admission_document_uniq_histo
    on admission_document (admission_id, nature_id, histo_destruction)
    where (histo_destruction IS NOT NULL);
-- -- Si la création d'index échoue, voici de quoi trouver les admissions en anomalie
-- -- (i.e. pour lesquelles plusieurs fichiers ont été déposés pour une même nature de fichier) :
-- select admission_id, nature_id, count(*)
-- from admission_document
-- where histo_destruction is null
-- group by admission_id, nature_id
-- having count(*) > 1;
+5 −1
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ class DocumentService extends BaseService

    /**
     * @param Admission $admission
     * @param Fichier $fichiers
     * @param Fichier $fichier
     * @return Document
     */
    public function createDocumentFromUpload(Admission $admission, Fichier $fichier) : Document
@@ -70,6 +70,10 @@ class DocumentService extends BaseService
        $document->setAdmission($admission);
        $document->setFichier($fichier);

        // Nature redondante avec celle de Fichier mais permet de créer un "index unique" en bdd sur Document
        // pour garantir 1 fichier max par admisison et nature de fichier.
        $document->setNature($fichier->getNature());

        try {
            $this->fichierService->saveFichiers([$fichier]);
            $this->getEntityManager()->persist($document);