Commit 198d498a authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Corrections autour de la substitution de structures

parent 3ee92274
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -9,7 +9,8 @@ select
  nextval('structure_id_seq'), 'COMUE',
  '{ETAB_COMUE_SIGLE}',   --> sigle ou abbréviation à personnaliser
  '{ETAB_COMUE_LIBELLE}', --> libellé à personnaliser
  null, 1, 'COMUE', 1, 1
  1, 1, 'COMUE', 1, 1
from type_structure ts
where {ETAB_COMUE} = 1
;

+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ class TableauDeBordController extends AbstractController
        $source = $this->sourceService->fetchApplicationSource();
        $etablissements = $this->getEtablissementService()->getRepository()->findAllBySource($source->getCode());
        $etablissements = array_filter($etablissements, function (Etablissement $etablissement) { return count($etablissement->getStructure()->getStructuresSubstituees())==0; });
        $etablissements = array_filter($etablissements, function (Etablissement $etablissement) { return $etablissement->getSigle() != "NU";});
        $etablissements = array_filter($etablissements, function (Etablissement $etablissement) { return $etablissement->getStructure()->getSigle() != "NU";});

        return new ViewModel([
            'anomaliesTables' => $anomaliesTables,
+0 −69
Original line number Diff line number Diff line
<?php

namespace Application\Controller\Traits;

use Structure\Entity\Db\StructureConcreteInterface;
use Structure\Service\Structure\StructureService;
use UnicaenApp\Exception\RuntimeException;
use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger;
use Laminas\Mvc\Controller\Plugin\Params;

/**
 * Trait LogoAwareControllerTrait
 *
 * @method Params params()
 * @method FlashMessenger flashMessenger()
 *
 * @property StructureService $structureService

 * @package Application\Controller\Traits
 *
 * @deprecated Mis dans StructureConcreteController
 */
trait LogoAwareControllerTrait
{
    /**
     * Retire le logo associé à une structure :
     * - effacement du chemin en bdd,
     * - effacement du fichier stocké sur le serveur.
     *
     * @param StructureConcreteInterface $structure
     */
    public function supprimerLogoStructure(StructureConcreteInterface $structure)
    {
        try {
            $fileDeleted = $this->structureService->deleteLogoStructure($structure);
        } catch (RuntimeException $e) {
            $this->flashMessenger()->addErrorMessage(
                "Erreur lors de l'effacement du logo de la structure '$structure' : " . $e->getMessage());
            return;
        }

        if ($fileDeleted) {
            $this->flashMessenger()->addSuccessMessage("Le logo de la structure '$structure' vient d'être supprimé.");
        } else {
            $this->flashMessenger()->addWarningMessage("Aucun logo à supprimer pour la structure '$structure'.");
        }
    }

    /**
     * Ajoute le logo associé à une structure :
     * - suppression du précédent logo éventuel,
     * - modification du chemin en bdd
     * - création du fichier sur le serveur.
     *
     * @param StructureConcreteInterface $structure
     * @param string                     $cheminLogoUploade chemin vers le fichier temporaire associé au logo
     */
    public function ajouterLogoStructure(StructureConcreteInterface $structure, $cheminLogoUploade)
    {
        try {
            $this->structureService->updateLogoStructure($structure, $cheminLogoUploade);
        } catch (RuntimeException $e) {
            $this->flashMessenger()->addErrorMessage(
                "Erreur lors de l'enregistrement du logo de la structure '$structure' : " . $e->getMessage());
        }

        $this->flashMessenger()->addSuccessMessage("Le logo de la structure '$structure' vient d'être ajouté.");
    }
}
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -245,7 +245,7 @@ class ApplicationNavigationFactory extends NavigationFactory
        switch (true) {
            case $role->isEcoleDoctoraleDependant():
                $ed = $role->getStructure()->getEcoleDoctorale();
                $label = $ed->getSigle();
                $label = $ed->getStructure()->getSigle();
                $query = [EcoleDoctoraleSearchFilter::NAME => $ed->getSourceCode()];
                break;
            case $role->isUniteRechercheDependant():
+2 −2
Original line number Diff line number Diff line
@@ -128,10 +128,10 @@ class ListeDiffusionAddressGenerator
            return null;
        }

        Assert::notEmpty($this->ecoleDoctorale->getSigle(),
        Assert::notEmpty($this->ecoleDoctorale->getStructure()->getSigle(),
            "Ecole doctorale n°{$this->ecoleDoctorale->getId()} sans sigle");

        return trim(str_replace(str_split(' -_'), '', $this->ecoleDoctorale->getSigle())); // ex: 'ED590MIIS'
        return trim(str_replace(str_split(' -_'), '', $this->ecoleDoctorale->getStructure()->getSigle())); // ex: 'ED590MIIS'
    }

    /**
Loading