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

Nom de famille ... + Filtrage des status avec le code de la structure chapeau

parent b2bade47
Loading
Loading
Loading
Loading
+1 −1
Changes for module/Application/src/Application/Entity/Db/Agent.php: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -211,7 +211,7 @@ class Agent implements
        $prenom = $this->getPrenom();
        $prenom = str_replace("É", "é", $prenom);
        $prenom = str_replace("È", "è", $prenom);
        return ucwords(strtolower($prenom), "- ") . ' ' . (($this->getNomUsuel())??$this->getNomFamille());
        return ucwords(strtolower($prenom), "- ") . ' ' . (($this->getNomUsuel())??'<em>'.$this->getNomFamille().'</em>');

    }

+1 −0
Changes for module/Application/src/Application/Provider/Parametre/GlobalParametres.php: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -6,4 +6,5 @@ class GlobalParametres {
    const TYPE = "GLOBAL";
    const INSTALL_PATH = "INSTALL_PATH";
    const EMAIL_ASSISTANCE = "EMAIL_ASSISTANCE";
    const CODE_CHAPEAU = 'CODE_CHAPEAU';
}
 No newline at end of file
+20 −3
Changes for module/Application/src/Application/Service/Agent/AgentService.php: 20 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -4,14 +4,17 @@ namespace Application\Service\Agent;

use Application\Entity\Db\Agent;
use Application\Entity\Db\AgentAffectation;
use Application\Entity\Db\AgentStatut;
use Application\Entity\Db\Complement;
use Application\Entity\Db\Traits\HasPeriodeTrait;
use Application\Provider\Parametre\GlobalParametres;
use Application\Service\AgentAffectation\AgentAffectationServiceAwareTrait;
use Application\Service\Complement\ComplementServiceAwareTrait;
use DateTime;
use Doctrine\ORM\NonUniqueResultException;
use Doctrine\ORM\ORMException;
use Doctrine\ORM\QueryBuilder;
use Exception;
use Fichier\Entity\Db\Fichier;
use Formation\Entity\Db\FormationElement;
use Laminas\Mvc\Controller\AbstractActionController;
@@ -22,6 +25,7 @@ use Structure\Entity\Db\StructureResponsable;
use Structure\Service\Structure\StructureServiceAwareTrait;
use UnicaenApp\Exception\RuntimeException;
use UnicaenApp\Service\EntityManagerAwareTrait;
use UnicaenParametre\Service\Parametre\ParametreServiceAwareTrait;
use UnicaenUtilisateur\Entity\Db\Role;
use UnicaenUtilisateur\Entity\Db\User;
use UnicaenUtilisateur\Service\User\UserServiceAwareTrait;
@@ -33,6 +37,8 @@ class AgentService {
    use StructureServiceAwareTrait;
    use UserServiceAwareTrait;

    use ParametreServiceAwareTrait;

    /** AGENT *********************************************************************************************************/

    /**
@@ -776,12 +782,23 @@ class AgentService {
    /** Filtrer les agent·es ayant seulement un statuts de Administratif/Vacataire ou de détaché_out */
    public function filtrerByStatutInvalide(Agent $agent, ?DateTime $date = null) : bool
    {
//      var_dump($agent->getDenomination());
        try {
            $code = $this->getParametreService()->getValeurForParametre(GlobalParametres::TYPE, GlobalParametres::CODE_CHAPEAU);
        } catch (Exception $e) {
            $code = null;
        }

        $statuts = $agent->getStatutsActifs($date);
        if ($code !== null) {
            $statuts = array_filter($statuts, function (AgentStatut $a) use ($code) { return $a->getStructure()->getCode() === $code;});
        }
        if (empty($statuts)) return false;
        foreach ($statuts as $statut) {
//          var_dump($agent->getDenomination(). " - Administritif:".(($statut->isAdministratif())?"Oui":"Non") . " --- ". " Vacataire:".(($statut->isVacataire())?"Oui":"Non"));
            if (!($statut->isAdministratif() AND $statut->isVacataire()) AND !($statut->isDetacheOut())) {
            if (!($statut->isAdministratif() AND $statut->isVacataire())
                AND !($statut->isDetacheOut())
                AND !($statut->isDispo())
                AND !($statut->isRetraite())
            ) {
                return false;
            }
        }
+4 −0
Changes for module/Application/src/Application/Service/Agent/AgentServiceFactory.php: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ use Interop\Container\ContainerInterface;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
use Structure\Service\Structure\StructureService;
use UnicaenParametre\Service\Parametre\ParametreService;
use UnicaenUtilisateur\Service\User\UserService;

class AgentServiceFactory {
@@ -25,12 +26,14 @@ class AgentServiceFactory {
         * @var EntityManager $entityManager
         * @var AgentAffectationService $agentAffectationService
         * @var ComplementService $complementService
         * @var ParametreService $parametreService
         * @var StructureService $structureService
         * @var UserService $userService
         */
        $entityManager = $container->get('doctrine.entitymanager.orm_default');
        $agentAffectationService = $container->get(AgentAffectationService::class);
        $complementService = $container->get(ComplementService::class);
        $parametreService = $container->get(ParametreService::class);
        $structureService = $container->get(StructureService::class);
        $userService = $container->get(UserService::class);

@@ -39,6 +42,7 @@ class AgentServiceFactory {
        $service->setEntityManager($entityManager);
        $service->setAgentAffectationService($agentAffectationService);
        $service->setComplementService($complementService);
        $service->setParametreService($parametreService);
        $service->setStructureService($structureService);
        $service->setUserService($userService);