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

[FIX] Correction du chemin de stockage des rapports CSI et de mi-parcours...

[FIX] Correction du chemin de stockage des rapports CSI et de mi-parcours (voir les [releases notes](./doc/release-notes/v5.0.2.md)).
parent 5fbcfff9
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
Journal des modifications
=========================

5.0.2
-----
- [FIX] Correction du chemin de stockage des rapports CSI et de mi-parcours (voir les [releases notes](./doc/release-notes/v5.0.2.md)).

5.0.1
-----
- [FIX] Abandon des 'data:image/*;base64,' dans les templates mPDF.
+44 −0
Original line number Diff line number Diff line
# Version 5.0.2

## 1. Sur le serveur d'application

- Placez-vous dans le répertoire de l'application puis lancez la commande suivante
  pour installer la nouvelle version :

```bash
git fetch --tags && git checkout --force 5.0.2 && bash ./install.sh
```

- Selon le moteur PHP que vous avez installé, rechargez le service, exemple :
    - php7.4-fpm         : `service php7.4-fpm reload`
    - apache2-mod-php7.4 : `service apache2 reload`


- Certains fichiers téléversés jusqu'à maintenant dans l'application ont été stockés dans le mauvais répertoire
  ("rapport_activite"), ce n'est pas rédhibitoire mais nous allons quand même corriger cela, en concordance avec 
  cette version 5.0.2 :

    - Placez-vous dans le répertoire destination des fichiers téléversés : son chemin est configuré via la clé de config 
      `fichier` > `dir_root_path` d'un fichier de config, ex : "config/autoload/prod.secret.local.php"), ex :
      ```bash
      cd /app/upload
      ```
    - Créez les répertoires `rapport_csi` et `rapport_miparcours` :
      ```bash
      mkdir -p rapport_csi
      mkdir -p rapport_miparcours
      ```
    - Lancez la commande suivante pour déplacer les fichiers au bon endroit :
      ```bash
      sudo mv -v rapport_activite/RAPPORT-CSI-*        rapport_csi
      sudo mv -v rapport_activite/RAPPORT-MIPARCOURS-* rapport_miparcours
      ```
    - Ajustez les droits d'accès aux répertoires `rapport_csi` et `rapport_miparcours` :
      ```bash
      sudo chown -R www-data:root rapport_csi        && sudo chmod -R 770 rapport_csi
      sudo chown -R www-data:root rapport_miparcours && sudo chmod -R 770 rapport_miparcours
      ```

## 2. Dans la base de données

RAS.
+6 −3
Original line number Diff line number Diff line
@@ -11,15 +11,18 @@ class NatureFichier
    const CODE_FICHIER_NON_PDF = 'FICHIER_NON_PDF';

    const CODE_PV_SOUTENANCE = 'PV_SOUTENANCE';
    const CODE_RAPPORT_SOUTENANCE = 'RAPPORT_SOUTENANCE';
    const CODE_RAPPORT_ACTIVITE = 'RAPPORT_ACTIVITE';
    const CODE_PRE_RAPPORT_SOUTENANCE = 'PRE_RAPPORT_SOUTENANCE';
    const CODE_DEMANDE_CONFIDENT = 'DEMANDE_CONFIDENT';
    const CODE_PROLONG_CONFIDENT = 'PROLONG_CONFIDENT';
    const CODE_CONV_MISE_EN_LIGNE = 'CONV_MISE_EN_LIGNE';
    const CODE_AVENANT_CONV_MISE_EN_LIGNE = 'AVENANT_CONV_MISE_EN_LIGNE';
    const CODE_COMMUNS = 'COMMUNS';

    const CODE_RAPPORT_SOUTENANCE = 'RAPPORT_SOUTENANCE';
    const CODE_RAPPORT_ACTIVITE = 'RAPPORT_ACTIVITE';
    const CODE_RAPPORT_CSI = 'RAPPORT_CSI';
    const CODE_RAPPORT_MIPARCOURS = 'RAPPORT_MIPARCOURS';
    const CODE_PRE_RAPPORT_SOUTENANCE = 'PRE_RAPPORT_SOUTENANCE';

    const CODE_SIGNATURE_CONVOCATION = 'SIGNATURE_CONVOCATION';
    const CODE_SIGNATURE_RAPPORT_ACTIVITE = 'SIGNATURE_RAPPORT_ACTIVITE';

+16 −1
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ use Application\Entity\Db\These;
use Application\Entity\Db\TypeRapport;
use Application\Filter\NomFichierRapportFormatter;
use Application\Service\BaseService;
use InvalidArgumentException;
use Structure\Service\Etablissement\EtablissementServiceAwareTrait;
use Application\Service\Fichier\FichierServiceAwareTrait;
use Application\Service\FichierThese\PdcData;
@@ -102,8 +103,10 @@ class RapportService extends BaseService
     */
    public function saveRapport(Rapport $rapport, array $uploadData): Rapport
    {
        $codeNatureFichier = $this->computeCodeNatureFichierFromTypeRapport($rapport);

        $this->fichierService->setNomFichierFormatter(new NomFichierRapportFormatter($rapport));
        $fichiers = $this->fichierService->createFichiersFromUpload($uploadData, NatureFichier::CODE_RAPPORT_ACTIVITE);
        $fichiers = $this->fichierService->createFichiersFromUpload($uploadData, $codeNatureFichier);

        $this->entityManager->beginTransaction();
        try {
@@ -126,6 +129,18 @@ class RapportService extends BaseService
        return $rapport;
    }

    private function computeCodeNatureFichierFromTypeRapport(Rapport $rapport): string
    {
        switch ($rapport->getTypeRapport()->getCode()) {
            case TypeRapport::RAPPORT_CSI:
                return NatureFichier::CODE_RAPPORT_CSI;
            case TypeRapport::RAPPORT_MIPARCOURS:
                return NatureFichier::CODE_RAPPORT_MIPARCOURS;
            default:
                throw new InvalidArgumentException("Le type du rapport spécifié n'est pas supporté");
        }
    }

    /**
     * @param Rapport $rapport
     */