Commit cc5e203c authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

[MesFormations] Mise en place du téléversement de documents associés aux inscriptions

parent fee37bd6
Loading
Loading
Loading
Loading
+48 −0
Original line number Diff line number Diff line
Version 4.3.1 (22/12/2023)
====

Évolution
---
- [MesFormations] Mise en place du téléversement de documents associés aux inscriptions
- [MesFormations] Si une attestation PDF est déposé, elle est proposée directement aux stagiaires plutôt que l'ancien système

Modification en BD
---

```postgresql
create table formation_inscription_fichier
(
    inscription_id integer not null
        constraint formation_inscription_fichier_formation_inscription_id_fk
            references formation_inscription
            on delete cascade,
    fichier_id     varchar(13) not null
        constraint formation_inscription_fichier_fichier_fichier_id_fk
            references fichier_fichier
            on delete cascade,
    constraint formation_inscription_fichier_pk
        primary key (inscription_id, fichier_id)
);

INSERT INTO fichier_nature (code, libelle, description)
VALUES ('INSCRIPTION_ATTESTATION', 'Attestation de formation', 'Attestion de formation déposer dans [Mes Formations] qui se substituera à l''attestation générée');
```

Evolution des librairies
---


```bash
composer upgrade unicaen/autoform
```

ou

```bash
rm -fr vendor
rm -fr composer.lock
composer install
```

Evolution des macros et templates
---
+1 −0
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ return [
                'options' => [
                    'route'    => '/download-fichier/:fichier',
                    'defaults' => [
                        /** @see FichierController::downloadAction() */
                        'controller' => FichierController::class,
                        'action'     => 'download',
                    ],
+8 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ namespace Formation;

use Formation\Controller\FormationInstanceController;
use Formation\Controller\FormationInstanceControllerFactory;
use Formation\Controller\InscriptionController;
use Formation\Form\FormationInstance\FormationInstanceForm;
use Formation\Form\FormationInstance\FormationInstanceFormFactory;
use Formation\Form\FormationInstance\FormationInstanceHydrator;
@@ -130,6 +131,13 @@ return [
                                'order'    => 230,
                                'icon' => 'fas fa-angle-right',
                            ],
                            'isncription_' => [
                                'label'    => 'Inscriptions',
                                'route'    => 'formation/inscription',
                                'resource' => PrivilegeController::getResourceId(InscriptionController::class, 'index') ,
                                'order'    => 240,
                                'icon' => 'fas fa-angle-right',
                            ],
                        ],
                    ],
                ],
+50 −0
Original line number Diff line number Diff line
@@ -90,6 +90,25 @@ return [
                        'Stagiaire externe',
                    ],
                ],
                [
                    'controller' => InscriptionController::class,
                    'action' => [
                        'telecharger-attestation',
                    ],
                    'privileges' => [
                        FormationinstancePrivileges::FORMATIONINSTANCE_AFFICHER,
                    ],
                ],
                [
                    'controller' => InscriptionController::class,
                    'action' => [
                        'televerser-attestation',
                        'supprimer-attestation',
                    ],
                    'privileges' => [
                        FormationinstancePrivileges::FORMATIONINSTANCE_GERER_INSCRIPTION,
                    ],
                ],
            ],
        ],
    ],
@@ -178,6 +197,37 @@ return [
                                    ],
                                ],
                            ],
                            /** Attestation ***************************************************************************/
                            'televerser-attestation' => [
                                'type' => Segment::class,
                                'options' => [
                                    'route' => '/televerser-attestation/:inscription',
                                    'defaults' => [
                                        /** @see InscriptionController::televerserAttestationAction() */
                                        'action' => 'televerser-attestation',
                                    ],
                                ],
                            ],
                            'telecharger-attestation' => [
                                'type' => Segment::class,
                                'options' => [
                                    'route' => '/telecharger-attestation/:inscription/:attestation',
                                    'defaults' => [
                                        /** @see InscriptionController::telechargerAttestationAction() */
                                        'action' => 'telecharger-attestation',
                                    ],
                                ],
                            ],
                            'supprimer-attestation' => [
                                'type' => Segment::class,
                                'options' => [
                                    'route' => '/supprimer-attestation/:inscription/:attestation',
                                    'defaults' => [
                                        /** @see InscriptionController::supprimerAttestationAction() */
                                        'action' => 'supprimer-attestation',
                                    ],
                                ],
                            ],
                            /** Validation ****************************************************************************/
                            'valider-responsable' => [
                                'type' => Segment::class,
+2 −1
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ use Formation\Form\DemandeExterne\DemandeExterneFormAwareTrait;
use Formation\Form\Inscription\InscriptionFormAwareTrait;
use Formation\Provider\Etat\DemandeExterneEtats;
use Formation\Provider\Etat\InscriptionEtats;
use Formation\Provider\FichierNature\FichierNature;
use Formation\Provider\Validation\DemandeExterneValidations;
use Formation\Service\DemandeExterne\DemandeExterneServiceAwareTrait;
use Formation\Service\Notification\NotificationServiceAwareTrait;
@@ -414,7 +415,7 @@ class DemandeExterneController extends AbstractActionController {
        $demande = $this->getDemandeExterneService()->getRequestedDemandeExterne($this);

        $fichier = new Fichier();
        $devisNature = $this->getNatureService()->getNatureByCode('DEMANDEEXTERNE_DEVIS');
        $devisNature = $this->getNatureService()->getNatureByCode(FichierNature::DEMANDEEXTERNE_DEVIS);
        $fichier->setNature($devisNature);
        $form = $this->getUploadForm();
        $form->setAttribute('action', $this->url()->fromRoute('formation/demande-externe/ajouter-devis', ['demande-externe' => $demande->getId()], [], true));
Loading