Commit 7f4106ab authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Tenir compte de l'arborescence des sous structures pour la bascule du...

Tenir compte de l'arborescence des sous structures pour la bascule du prévisionnel vers le réalisé (#63508)
parent 3f3b4945
Loading
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -743,11 +743,14 @@ class ServiceService extends AbstractEntityService
        $role       = $this->getServiceContext()->getSelectedIdentityRole();
        $rStructure = $role ? $role->getStructure() : null;
        $sStructure = $service->getElementPedagogique() ? $service->getElementPedagogique()->getStructure() : null;

        if ($rStructure && $sStructure && $rStructure != $sStructure) {
        $intervenant = $service->getIntervenant();
            if (!($intervenant->getStatut()->estPermanent() && $intervenant->getStructure() == $rStructure)) {
                return; // on ne reporte pas de service si l'utilisateur est d'une composante différente de celle du service
        //On ne reporte pas le service d'une autre composante que celle de son affectation
        if ($rStructure && $sStructure && !$sStructure->inStructure($rStructure)) {
            //Sauf si il s'agit d'un intervenant permanent et que cette intervenant est affecté
            //dans la même composante que le gestionnaire (sous structures comprise)
            if (!($intervenant->getStatut()->estPermanent() && $intervenant->getStructure()->inStructure($rStructure))) {
                //Sinon on annule l'action de report sur prévisionnel vers le réalisé
                return;
            }
        }