Commit 29abab5b authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Ajout/retrait impossible d'un établissement de rattachement ou d'un domaine à une UR.

parent 6c211a86
Loading
Loading
Loading
Loading
+1 −0
Changes for CHANGELOG.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ Journal des modifications
- [FIX] Jury de soutenance de thèse : rétablissement de la vérification des rapporteurs de rang B sans HDR.
- [FIX] Etablissement/ED/UR : suppression du tooltip Bootstrap gênant sur l'icône de suppression d'un document associé à la structure.
- [FIX] Ajout/modification de structure (établissement, ED, UR) : correction plantage, ajout de l'article indéfini et améliorations visuelles dans le formulaire.
- [FIX] Ajout/retrait impossible d'un établissement de rattachement ou d'un domaine à une UR.

10.3.0
------
+4 −0
Changes for module/Structure/config/others/unite-recherche.config.php: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -154,6 +154,7 @@ return [
                                'options'       => [
                                    'route'       => '/ajouter-etablissement-rattachement/:etablissement',
                                    'defaults'    => [
                                        /** @see UniteRechercheController::ajouterEtablissementRattachementAction() */
                                        'action' => 'ajouter-etablissement-rattachement',
                                    ],
                                ],
@@ -163,6 +164,7 @@ return [
                                'options'       => [
                                    'route'       => '/retirer-etablissement-rattachement/:etablissement',
                                    'defaults'    => [
                                        /** @see UniteRechercheController::retirerEtablissementRattachementAction() */
                                        'action' => 'retirer-etablissement-rattachement',
                                    ],
                                ],
@@ -181,6 +183,7 @@ return [
                                'options'       => [
                                    'route'       => '/ajouter-domaine-scientifique/:domaineScientifique',
                                    'defaults'    => [
                                        /** @see UniteRechercheController::ajouterDomaineScientifiqueAction() */
                                        'action' => 'ajouter-domaine-scientifique',
                                    ],
                                ],
@@ -190,6 +193,7 @@ return [
                                'options'       => [
                                    'route'       => '/retirer-domaine-scientifique/:domaineScientifique',
                                    'defaults'    => [
                                        /** @see UniteRechercheController::retirerDomaineScientifiqueAction() */
                                        'action' => 'retirer-domaine-scientifique',
                                    ],
                                ],
+1 −1
Changes for module/Structure/src/Structure/Controller/StructureConcreteController.php: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -188,7 +188,7 @@ abstract class StructureConcreteController extends AbstractController
    /**
     * Retourne la structure concrète (etab/ed/ur) spécifiée dans la requête.
     */
    protected function getRequestedStructureConcrete(): StructureConcreteInterface
    protected function getRequestedStructureConcrete(): ?StructureConcreteInterface
    {
        return $this->getStructureConcreteService()->getRepository()->find(
            $this->params()->fromRoute($this->routeParamName)
+12 −12
Changes for module/Structure/src/Structure/Controller/UniteRechercheController.php: 12 added lines, 12 removed lines.
Original line number Diff line number Diff line
@@ -133,10 +133,10 @@ class UniteRechercheController extends StructureConcreteController
        return $viewModel;
    }

    public function ajouterEtablissementRattachementAction()
    public function ajouterEtablissementRattachementAction(): void
    {
        $structureId = $this->params()->fromRoute("structure");
        $unite = $this->getUniteRechercheService()->getRepository()->findByStructureId($structureId);
        /** @var UniteRecherche $unite */
        $unite = $this->getRequestedStructureConcrete();
        $etablissementId = $this->params()->fromRoute("etablissement");

        if ($etablissementId == 0) {
@@ -162,10 +162,10 @@ class UniteRechercheController extends StructureConcreteController
        $this->redirect()->toRoute("unite-recherche/modifier", ['unite-recherche' => $unite->getId()], [], true);
    }

    public function retirerEtablissementRattachementAction()
    public function retirerEtablissementRattachementAction(): void
    {
        $structureId = $this->params()->fromRoute("structure");
        $unite = $this->getUniteRechercheService()->getRepository()->findByStructureId($structureId);
        /** @var UniteRecherche $unite */
        $unite = $this->getRequestedStructureConcrete();
        $etablissementId = $this->params()->fromRoute("etablissement");
        /** @var \Structure\Entity\Db\Etablissement $etablissement */
        $etablissement = $this->getEtablissementService()->getRepository()->find($etablissementId);
@@ -179,11 +179,11 @@ class UniteRechercheController extends StructureConcreteController
    /**
     * @throws \Doctrine\ORM\OptimisticLockException
     */
    public function ajouterDomaineScientifiqueAction()
    public function ajouterDomaineScientifiqueAction(): void
    {
        $structureId = $this->params()->fromRoute("structure");
        /** @var UniteRecherche $unite */
        $unite = $this->getRequestedStructureConcrete();
        $domaineId = $this->params()->fromRoute("domaineScientifique");
        $unite = $this->getUniteRechercheService()->getRepository()->findByStructureId($structureId);
        $domaine = $this->getDomaineScientifiqueService()->getRepository()->find($domaineId);

        if ($domaine !== null && !array_search($domaine, $unite->getDomaines())) {
@@ -200,11 +200,11 @@ class UniteRechercheController extends StructureConcreteController
    /**
     * @throws \Doctrine\ORM\OptimisticLockException
     */
    public function retirerDomaineScientifiqueAction()
    public function retirerDomaineScientifiqueAction(): Response
    {
        $structureId = $this->params()->fromRoute("structure");
        /** @var UniteRecherche $unite */
        $unite = $this->getRequestedStructureConcrete();
        $domaineId = $this->params()->fromRoute("domaineScientifique");
        $unite = $this->getUniteRechercheService()->getRepository()->findByStructureId($structureId);
        $domaine = $this->getDomaineScientifiqueService()->getRepository()->find($domaineId);

        $domaine = $domaine->removeUnite($unite);
+9 −12
Changes for module/Structure/view/structure/unite-recherche/modifier.phtml: 9 added lines, 12 removed lines.
Original line number Diff line number Diff line
<?php

use Application\Entity\Db\DomaineScientifique;
use Application\View\Helper\SelectHelper;
use Application\View\Renderer\PhpRenderer;
use Structure\Entity\Db\Etablissement;
use Structure\Entity\Db\EtablissementRattachement;
use Structure\Entity\Db\Structure;
use Structure\Entity\Db\UniteRecherche;
use Structure\Form\UniteRechercheForm;
use Application\View\Helper\SelectHelper;
use UnicaenSearch\View\Helper\FiltersPanel\FiltersPanelHelper;
use Application\View\Renderer\PhpRenderer;
use UnicaenIdref\Domain\Index1;

/**
@@ -32,7 +31,6 @@ $structure = $structure ?? null;

/** @var UniteRecherche $unite */
$unite = $form->getObject();
$idUniteRecherche = $unite->getStructure()->getId();
$isNew = $unite->getId() === null;
$estImportee = $unite->getSource()?->getImportable() ?? false;
$fcg = $this->formControlGroup();
@@ -208,7 +206,7 @@ $this->headTitle("Modification de l'UR " . $unite->getStructure()->getCode());
                    <td> <?php echo $etablissementRattachement->getEtablissement()->getStructure()->getLibelle(); ?> </td>
                    <td>
                        <a
                                href="<?php echo $this->url("unite-recherche/modifier/retirer-etablissement-rattachement", ["unite-recherche" => $idUniteRecherche, "etablissement" => $etablissementRattachement->getEtablissement()->getId()], [], true); ?>"
                                href="<?php echo $this->url("unite-recherche/modifier/retirer-etablissement-rattachement", ["unite-recherche" => $unite->getId(), "etablissement" => $etablissementRattachement->getEtablissement()->getId()], [], true); ?>"
                                data-toggle="confirmationx"
                                data-bs-toggle="tooltip"
                                data-bs-html="true"
@@ -252,7 +250,7 @@ $this->headTitle("Modification de l'UR " . $unite->getStructure()->getCode());
        <a
                class="btn btn-success"
                id="ajout-rattachement"
                href="<?php echo $this->url("unite-recherche/modifier/ajouter-etablissement-rattachement", ["unite-recherche" => $idUniteRecherche, "etablissement" => 0], [], true); ?>"
                href="<?php echo $this->url("unite-recherche/modifier/ajouter-etablissement-rattachement", ["unite-recherche" => $unite->getId(), "etablissement" => 0], [], true); ?>"
        >
            <span class="icon icon-plus"></span>
            Ajouter un établissement de rattachement
@@ -288,7 +286,7 @@ $this->headTitle("Modification de l'UR " . $unite->getStructure()->getCode());
                    </td>
                    <td>
                        <a
                                href="<?php echo $this->url('unite-recherche/modifier/retirer-domaine-scientifique', ["unite-recherche" => $idUniteRecherche, 'domaineScientifique' => $domaineScientifique->getId()], [], true); ?>"
                                href="<?php echo $this->url('unite-recherche/modifier/retirer-domaine-scientifique', ["unite-recherche" => $unite->getId(), 'domaineScientifique' => $domaineScientifique->getId()], [], true); ?>"
                                data-toggle="confirmationx"
                                data-bs-toggle="tooltip"
                                data-bs-html="true"
@@ -309,7 +307,7 @@ $this->headTitle("Modification de l'UR " . $unite->getStructure()->getCode());
        $selectDomaine = new SelectHelper("domaines", $domainesScientifiques, 'Choisissez un domaine scientifique ...');
        ?>

        <input type="hidden" id="unite" value="<?php echo $unite->getStructure()->getId(); ?>">
        <input type="hidden" id="unite" value="<?php echo $unite->getId(); ?>">
        <select title=""
                class="filter selectpicker show-menu-arrow"
                name="domaines"
@@ -333,7 +331,7 @@ $this->headTitle("Modification de l'UR " . $unite->getStructure()->getCode());
        <br/>
        <a class="btn btn-success"
           id="ajout-domaine"
           href="<?php echo $this->url("unite-recherche/modifier/ajouter-domaine-scientifique", ["unite-recherche" => $idUniteRecherche, "domaineScientifique" => 0], [], true); ?>">
           href="<?php echo $this->url("unite-recherche/modifier/ajouter-domaine-scientifique", ["unite-recherche" => $unite->getId(), "domaineScientifique" => 0], [], true); ?>">
            <span class="icon icon-plus"></span>
            Ajouter un domaine scientifique
        </a>
@@ -348,13 +346,12 @@ $this->headTitle("Modification de l'UR " . $unite->getStructure()->getCode());

        //remplacement dans la structure cible
        $("input[name='cheminLogo']").on("change", function () {

            var myFile = $("input[name='cheminLogo']").prop('files');
            console.log(myFile[0]);
            //console.log(myFile[0]);
            fr = new FileReader();
            fr.onload = function () {
                var content = fr.result;
                console.log(content);
                //console.log(content);
                $('#logo').attr("src", content);
            };
            fr.readAsDataURL(myFile[0]);