Commit 5765c72c authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Titre de thèse importée : application du transcodage Apogée uniquement pour la source Apogée.

parent a66facbd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ Journal des modifications
- [FIX] Page Session de formation : correction du plantage en cas de doctorant sans thèse inscrit (anomalie).
- [FIX] Import des acteurs de thèses : suppression de la config en double.
- [FIX] HDR : blocage lors de la pré-soutenance pour la validation de l'établissement
- [FIX] Titre de thèse importée : application du transcodage Apogée uniquement pour la source Apogée.

10.5.0
------
+8 −0
Original line number Diff line number Diff line
@@ -19,4 +19,12 @@ class Source extends AbstractSource
    {
        return $this->etablissement;
    }

    /**
     * Indique si les données de cette source proviennent d'Apogée.
     */
    public function estApogee(): bool
    {
        return $this->importable && str_contains($this->code, 'apogee');
    }
}
 No newline at end of file
+8 −14
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ use Fichier\Entity\Db\Fichier;
use Fichier\Entity\Db\NatureFichier;
use Fichier\Entity\Db\VersionFichier;
use Individu\Entity\Db\Individu;
use Laminas\Filter\FilterInterface;
use Laminas\Permissions\Acl\Resource\ResourceInterface;
use Soutenance\Entity\PropositionThese;
use Soutenance\Entity\SoutenanceTargetEntityInterface;
@@ -41,7 +42,7 @@ use Validation\Entity\Db\TypeValidation;
use Validation\Entity\Db\ValidationThese;

/**
 * These
 * @property \Application\Entity\Db\Source $source
 */
class These implements HistoriqueAwareInterface, ResourceInterface, SoutenanceTargetEntityInterface
{
@@ -222,10 +223,7 @@ class These implements HistoriqueAwareInterface, ResourceInterface, SoutenanceTa
     */
    private $titreAcces;

    /**
     * @var TitreApogeeFilter
     */
    private $titreFilter;
    private ?FilterInterface $titreFilter = null;

    /**
     * @var Etablissement
@@ -274,10 +272,7 @@ class These implements HistoriqueAwareInterface, ResourceInterface, SoutenanceTa
     */
    private $paysCoTutelle;

    /**
     * @return TitreApogeeFilter
     */
    public function getTitreFilter()
    private function getTitreApogeeFilter(): FilterInterface
    {
        if ($this->titreFilter === null) {
            $this->titreFilter = new TitreApogeeFilter();
@@ -362,12 +357,11 @@ class These implements HistoriqueAwareInterface, ResourceInterface, SoutenanceTa
        return $this->sourceCode;
    }

    /**
     * @return string
     */
    public function getTitre()
    public function getTitre(): string
    {
        return $this->getTitreFilter()->filter($this->titre);
        return $this->source->estApogee() ?
            $this->getTitreApogeeFilter()->filter($this->titre) :
            $this->titre;
    }

    /**
+2 −2
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@

namespace These\Filter;

use Laminas\Filter\AbstractFilter;
use Laminas\Filter\FilterInterface;

/**
 * Class TitreApogeeFilter
@@ -15,7 +15,7 @@ use Laminas\Filter\AbstractFilter;
 *
 * @package Application\Filter
 */
class TitreApogeeFilter extends AbstractFilter
class TitreApogeeFilter implements FilterInterface
{
    /**
     * Returns the result of filtering $value