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

Ajout de l'unité de recherche des acteurs (manuel pour le moment) pour...

Ajout de l'unité de recherche des acteurs (manuel pour le moment) pour améliorer les pages de couverture
parent 087f314f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ Journal des modifications
- Corrections et améliorations de la doc d'install suite aux remarques de l'université de Montpellier (merci)
- [FIX] Correction de l'affichage de la date d'historisation dans Individu lié
- [FIX] Correction de la signature de Membre::setEtablissement(?string) qui faisait planter la création de proprosition (lorsqu'aucun établissement n'était fourni)

- Ajout de l'unité de recherche des acteurs (manuel pour le moment) pour améliorer les pages de couverture
4.0.2
-----
- [FIX] Affichage de la bonne adresse électronique institutionnelle sur la fiche thèse 
+6 −1
Original line number Diff line number Diff line
@@ -15,4 +15,9 @@ git fetch --tags && git checkout --force 4.0.3 && bash ./install.sh

## 2. Dans la base de données

R.A.S.
 No newline at end of file
```SQL
alter table acteur add acteur_uniterech_id bigint;

alter table acteur add constraint acteur_unite_rech_id_fk
foreign key (acteur_uniterech_id) references unite_rech on delete set null;
```
 No newline at end of file
+17 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ use Laminas\Permissions\Acl\Resource\ResourceInterface;
 * @var Role     $role                  Role de l'acteur (p.e. directeur de thèse)
 * @var string   $qualite               la qualité de l'acteur (p.e. chargé de recherche, ...)
 * @var string   $etalissement          l'étabilissement d'attachement de l'acteur (p.e. Université de Caen Normandie,
 * @var string   $uniteRecherche        l'unité de recherche d'attachement de l'acteur (p.e. GREYC,
 *      ...)
 */
class Acteur implements HistoriqueAwareInterface, ResourceInterface, IndividuAwareInterface
@@ -71,6 +72,13 @@ class Acteur implements HistoriqueAwareInterface, ResourceInterface, IndividuAwa
     */
    private $etablissement;

    /**
     * Etablissement auquel appartient l'individu.
     *
     * @var UniteRecherche
     */
    private $uniteRecherche;

    /**
     * Retourne la fonction de callback à utiliser pour trier une collection d'entités Acteur selon leur rôle.
     * @see usort()
@@ -302,11 +310,19 @@ class Acteur implements HistoriqueAwareInterface, ResourceInterface, IndividuAwa
     *
     * @return Etablissement|null
     */
    public function getEtablissement()
    public function getEtablissement() : ?Etablissement
    {
        return $this->etablissement;
    }

    /**
     * @return UniteRecherche|null
     */
    public function getUniteRecherche() : ?UniteRecherche
    {
        return $this->uniteRecherche;
    }

    /**
     * @param Role $role
     * @return self
+5 −0
Original line number Diff line number Diff line
@@ -36,6 +36,11 @@
                <join-column name="ACTEUR_ETABLISSEMENT_ID" referenced-column-name="ID"/>
            </join-columns>
        </many-to-one>
        <many-to-one field="uniteRecherche" target-entity="Application\Entity\Db\UniteRecherche">
            <join-columns>
                <join-column name="ACTEUR_UNITERECH_ID" referenced-column-name="ID"/>
            </join-columns>
        </many-to-one>

        <many-to-one field="source" target-entity="Application\Entity\Db\Source">
            <join-columns>
+8 −2
Original line number Diff line number Diff line
@@ -611,10 +611,16 @@ class TheseService extends BaseService implements ListenerAggregateInterface
        /** Directeurs de thèses */
        $nomination = [];
        foreach ($directeurs as $directeur) {
            $nomination[] = strtoupper($directeur->getIndividu()->getNomComplet(false, false, false, true, true));
            $current = strtoupper($directeur->getIndividu()->getNomComplet(false, false, false, true, true));
            $structure = ($these->getUniteRecherche())?:$directeur->getEtablissement();
            if ($structure !== null) $current .= " (". $structure->getLibelle() .")";
            $nomination[] = $current;
        }
        foreach ($codirecteurs as $directeur) {
            $nomination[] = strtoupper($directeur->getIndividu()->getNomComplet(false, false, false, true, true));
            $current = strtoupper($directeur->getIndividu()->getNomComplet(false, false, false, true, true));
            $structure = ($directeur->getUniteRecherche())?:$directeur->getEtablissement();
            if ($structure !== null) $current .= " (". $structure->getLibelle() .")";
            $nomination[] = $current;
        }
        $pdcData->setListing(implode(" et ", $nomination) . ", ");
        if ($these->getUniteRecherche()) $pdcData->setUniteRecherche($these->getUniteRecherche()->getStructure()->getLibelle());
Loading