Commit 94fae018 authored by Thomas Hamel's avatar Thomas Hamel Committed by Bertrand Gauthier
Browse files

[FIX] Module Soutenance : Un meme individu avec le meme role pouvait etre associe plusieurs acteurs

parent 15da5e8c
Loading
Loading
Loading
Loading
+1 −0
Changes for CHANGELOG.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ Journal des modifications
- [FIX] Affichage des fichiers/justificatifs pouvait dépasser de leurs conteneurs sur de petits écrans
- [FIX] Dépendance erronée pour OrigineFinancementSearchFilter dans certaines classes
- [FIX] Module Soutenance : Génération du document pour la présidence inaccessible
- [FIX] Module Soutenance : Un même individu avec le même role pouvait être associé à plusieurs acteurs 
- [FIX] Module Formation : Possibilité de valider plusieurs fois la même formation externe, ce qui faisait planter ultérieurement la page
- [FIX] Module Admission : Dossier inaccessible si le numéro de candidature n'était pas renseigné

+26 −0
Changes for module/Acteur/view/acteur/acteur/modifier.phtml: 26 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -5,10 +5,12 @@
 * @see ActeurHDRController::modifierAction()
 * @var \Acteur\Form\ActeurThese\ActeurTheseForm|\Acteur\Form\ActeurHDR\ActeurHDRForm $form
 * @var string $returnUrl
 * @var Membre $membre
 */

use Acteur\Entity\Db\ActeurHDR;
use Acteur\Entity\Db\ActeurThese;
use Soutenance\Entity\Membre;

$this->headTitle()->append("Acteur");

@@ -27,6 +29,30 @@ if (!$form->getObject()->getId() && !$form->getObject()->getSource()->getImporta
    </div>
<?php endif ?>

<h3>Informations concernant le membre</h3>
<table class="table table-extra-condensed">
    <thead>
    <tr>
        <th> Dénomination</th>
        <th> Rôle</th>
        <th> Qualité</th>
        <th> Établissement</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>    <?php echo $membre->getDenomination(); ?>                                                   </td>
        <td>    <?php echo $membre->getRole(); ?>                                                           </td>
        <td>    <?php echo ($membre->getQualite()) ? $membre->getQualite()->getLibelle() : "Non définie"; ?>    </td>
        <td>    <?php echo $membre->getEtablissement(); ?>                                                  </td>
    </tr>
    </tbody>
</table>

<br>
<div class="separator"></div>
<br>

<?php echo $this->form()->openTag($form->prepare()); ?>

<div class="row">
+6 −0
Changes for module/Soutenance/src/Soutenance/Controller/HDR/Presoutenance/PresoutenanceHDRController.php: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -181,6 +181,12 @@ class PresoutenanceHDRController extends PresoutenanceController

        /** @var ActeurHDR $acteur **/
        $acteur = $form->getData();

        $acteurInBdd = $this->acteurService->getRepository()->findActeurByIndividuAndHDRAndRole($acteur->getIndividu(), $acteur->getHDR(), $acteur->getRole());
        if ($acteurInBdd !== null) {
            $this->flashMessenger()->addErrorMessage($acteur->getIndividu()." est déjà associé à un membre avec le rôle ".$acteur->getRole());
            return $this->redirect()->toRoute("soutenance_{$this->type}/presoutenance", ['hdr' => $this->entity->getId()], [], true);
        }
        try {
            //mise à jour du membre de soutenance
//        $membre->setActeur($acteur);
+6 −0
Changes for module/Soutenance/src/Soutenance/Controller/These/Presoutenance/PresoutenanceTheseController.php: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -181,6 +181,12 @@ class PresoutenanceTheseController extends PresoutenanceController

        /** @var ActeurThese $acteur **/
        $acteur = $form->getData();

        $acteurInBdd = $this->acteurService->getRepository()->findActeurByIndividuAndTheseAndRole($acteur->getIndividu(), $acteur->getThese(), $acteur->getRole());
        if ($acteurInBdd !== null) {
            $this->flashMessenger()->addErrorMessage($acteur->getIndividu()." est déjà associé à un membre avec le rôle ".$acteur->getRole());
            return $this->redirect()->toRoute("soutenance_{$this->type}/presoutenance", ['these' => $this->entity->getId()], [], true);
        }
        try {
            $this->acteurService->save($acteur);
        }catch(RuntimeException) {
+8 −3
Changes for module/Soutenance/view/soutenance/presoutenance/partial/association-jury.phtml: 8 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ $president = $proposition->getObject()->getActeursByRoleCode(Role::CODE_PRESIDEN
                <th> Rôle</th>
                <th> Qualité</th>
                <th> Établissement</th>
                <th> Id <?php echo $this->appInfos()->nom ?> </th>
                <th> Informations sur l'acteur </th>
                <th> Action</th>
            </tr>
            </thead>
@@ -85,7 +85,12 @@ $president = $proposition->getObject()->getActeursByRoleCode(Role::CODE_PRESIDEN
                    <td>    <?php echo $membre->getRole(); ?>                                                           </td>
                    <td>    <?php echo ($membre->getQualite()) ? $membre->getQualite()->getLibelle() : "Non définie"; ?>    </td>
                    <td>    <?php echo $membre->getEtablissement(); ?>                                                  </td>
                    <td>    <?php echo ($acteurMembre) ? $acteurMembre->getId() . ' ' . $acteurMembre->getIndividu()->getNomComplet() : ''; ?>                  </td>
                    <td>
                        <?php if($acteurMembre): ?>
                            <?php echo $acteurMembre->getIndividu()->getNomComplet(); ?>
                            <span class="icon icon-info" data-bs-toggle="tooltip" data-bs-html="true" title="ID de l'acteur : <?= $acteurMembre->getId() ?> <br> ID de l'individu associé : <?= $acteurMembre->getIndividu()->getId() ?>"></span>
                        <?php endif; ?>
                    </td>
                    <td>
                        <?php if ($canAssocierMembreIndividu): ?>
                            <?php if (!$acteurMembre): ?>
@@ -146,7 +151,7 @@ $president = $proposition->getObject()->getActeursByRoleCode(Role::CODE_PRESIDEN
                    <thead>
                    <tr>
                        <th> Dénomination</th>
                        <th> Id <?php echo $this->appInfos()->nom ?> </th>
                        <th> Informations sur l'acteur </th>
                        <th> Action</th>
                    </tr>
                    </thead>
Loading