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

Formation + debug de la console

parent d6a694cf
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -23,10 +23,13 @@ class Module
        $sharedEvents->attach(AbstractActionController::class, 'dispatch', function($e) {
            /** @var $e MvcEvent */
            $controller = $e->getTarget();
            $type = $controller->getRequest()->getParams()['controller'];
            if ($type !== 'UnicaenDbImport\Controller\ConsoleController') {
                $hostname = $controller->getRequest()->getUri()->getHost();
                if (preg_match('/mes-formations.*/', $hostname)) {
                    $controller->layout('layout/layout-formation');
                }
            }
        }, 100);
    }

+32 −1
Original line number Diff line number Diff line
@@ -3,18 +3,30 @@
namespace Formation\Controller;

use Application\Service\Agent\AgentServiceAwareTrait;
use Application\Service\AgentAffectation\AgentAffectationServiceAwareTrait;
use Application\Service\AgentGrade\AgentGradeServiceAwareTrait;
use Application\Service\AgentStatut\AgentStatutServiceAwareTrait;
use Formation\Service\FormationInstanceInscrit\FormationInstanceInscritServiceAwareTrait;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\View\Model\ViewModel;
use UnicaenUtilisateur\Service\User\UserServiceAwareTrait;

class AgentController extends AbstractActionController {
    use AgentServiceAwareTrait;
    use AgentAffectationServiceAwareTrait;
    use AgentGradeServiceAwareTrait;
    use AgentStatutServiceAwareTrait;
    use FormationInstanceInscritServiceAwareTrait;
    use UserServiceAwareTrait;


    public function indexAction() : ViewModel
    {
        $params = $this->params()->fromQuery();
        $agents = [];
        if ($params !== null AND !empty($params)) {
            $agents = $this->getAgentService()->getAgentsWithFiltre($params);
        }

        return new ViewModel([
            'agents' => $agents,
@@ -25,8 +37,27 @@ class AgentController extends AbstractActionController {
    public function afficherAction() : ViewModel
    {
        $agent = $this->getAgentService()->getRequestedAgent($this);
        $agentAffectations = $this->getAgentAffectationService()->getAgentAffectationsByAgent($agent);
        $agentGrades = $this->getAgentGradeService()->getAgentGradesByAgent($agent);
        $agentStatuts = $this->getAgentStatutService()->getAgentStatutsByAgent($agent);

        $formations = $this->getFormationInstanceInscritService()->getFormationsBySuivies($agent);
        $inscriptions = $this->getFormationInstanceInscritService()->getFormationsByInscrit($agent);

        $stages = [];
//        $demandes = $this->getDemandeExterneService()->getDemandesExternesByAgent($agent);
//        $demandes = array_filter($demandes, function (DemandeExterne $d) { return $d->estNonHistorise() AND $d->getEtat()->getCode() !== DemandeExterneEtats::ETAT_REJETEE AND $d->getEtat()->getCode() !== DemandeExterneEtats::ETAT_TERMINEE;});
//        $demandesValidees    = array_filter($demandes, function (DemandeExterne $d) { return $d->getEtat()->getCode() !== DemandeExterneEtats::ETAT_CREATION_EN_COURS; });

        return new ViewModel([
            'agent' => $agent,
            'agentAffectations' => $agentAffectations,
            'agentGrades' => $agentGrades,
            'agentStatuts' => $agentStatuts,

            'inscriptions' => $inscriptions,
            'stages' => $stages,
            'formations' => $formations,
        ]);
    }

+17 −0
Original line number Diff line number Diff line
@@ -3,6 +3,10 @@
namespace Formation\Controller;

use Application\Service\Agent\AgentService;
use Application\Service\AgentAffectation\AgentAffectationService;
use Application\Service\AgentGrade\AgentGradeService;
use Application\Service\AgentStatut\AgentStatutService;
use Formation\Service\FormationInstanceInscrit\FormationInstanceInscritService;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface;
use Psr\Container\NotFoundExceptionInterface;
@@ -18,14 +22,27 @@ class AgentControllerFactory {
    {
        /**
         * @var AgentService $agentService
         * @var AgentAffectationService $affectationService
         * @var AgentGradeService $gradeService
         * @var AgentStatutService $statutService
         * @var FormationInstanceInscritService $inscriptionService
         * @var UserService $userService
         */
        $agentService = $container->get(AgentService::class);
        $affectationService = $container->get(AgentAffectationService::class);
        $gradeService = $container->get(AgentGradeService::class);
        $statutService = $container->get(AgentStatutService::class);
        $inscriptionService = $container->get(FormationInstanceInscritService::class);
        $userService = $container->get(UserService::class);

        $controller = new AgentController();
        $controller->setAgentService($agentService);
        $controller->setAgentAffectationService($affectationService);
        $controller->setAgentGradeService($gradeService);
        $controller->setAgentStatutService($statutService);
        $controller->setFormationInstanceInscritService($inscriptionService);
        $controller->setUserService($userService);

        return $controller;
    }
}
 No newline at end of file
+130 −2
Original line number Diff line number Diff line
@@ -3,11 +3,30 @@
/**
 * @see \Formation\Controller\AgentController::afficherAction()
 * @var Agent $agent
 * @var AgentAffectation[] $agentAffectations
 * @var AgentGrade[] $agentGrades
 * @var AgentStatut[] $agentStatuts
 * @var Formation[] $formations
 * @var Formation[] $inscriptions
 * @var DemandeExterne[] $stages
 */

use Application\Entity\Db\Agent;
use Application\Entity\Db\AgentAffectation;
use Application\Entity\Db\AgentGrade;
use Application\Entity\Db\AgentStatut;
use Formation\Entity\Db\DemandeExterne;
use Formation\Entity\Db\Formation;

$this->headTitle("Afficher l'agent " . $agent->getDenomination());

$statuts = [];
foreach ($agentStatuts as $agentStatut) {
    if ($agentStatut->isTitulaire()) $statuts['Titulaire'] = 'Titulaire';
    if ($agentStatut->isCdi()) $statuts['C.D.I'] = 'C.D.I.';
    if ($agentStatut->isCdd()) $statuts['C.D.D'] = 'C.D.D.';
    if ($agentStatut->isAdministratif()) $statuts['Administratif'] = 'Administratif';
}
?>

<h1 class="page-header">
@@ -20,8 +39,117 @@ $this->headTitle("Afficher l'agent " . $agent->getDenomination());
<h2> Information sur l'agent </h2>

<div class="row">
    <div class="col-md-6">INFO</div>
    <div class="col-md-6">AFFECTATION</div>
    <div class="col-md-6">
        <dl class="row">
            <dt class="col-md-4"> Dénomination </dt>
            <dd class="col-md-8"> <?php echo $agent->getDenomination(); ?> </dd>
            <dt class="col-md-4"> Affectation·s </dt>
            <dd class="col-m">
                <ul>
                <?php foreach ($agentAffectations as $agentAffectation) : ?>
                    <li>
                    <?php
                        $structure = $agentAffectation->getStructure();
                        $niveau2 = $structure?$structure->getNiv2():null;
                    ?>
                    <?php if ($structure) : ?>
                        <?php echo $structure->getLibelleLong(); ?>
                        <?php if ($niveau2 AND $niveau2 !== $structure) : ?>
                            <br/> Rattaché&middot;e à <?php echo $niveau2->getLibelleLong(); ?>
                        <?php endif; ?>
                    <?php endif; ?>
                    <?php if ($agentAffectation->isPrincipale()) : ?>
                        <br/> <em>Affectation principale</em>
                    <?php endif; ?>
                    </li>
                <?php endforeach; ?>
                </ul>
            </dd>
        </dl>
    </div>
    <div class="col-md-6">
        <dl class="row">
            <dt class="col-md-4"> Statut·s </dt>
            <dd class="col-md-8">
                <ul>
                    <?php foreach ($statuts as $statut) : ?>
                        <li>
                            <?php echo $statut; ?>
                        </li>
                    <?php endforeach; ?>
                </ul>
            </dd>
            <dt class="col-md-4"> Informations supplémentaires </dt>
            <dd class="col-md-8">
                <ul>
                    <?php foreach ($agentGrades as $agentGrade) : ?>
                        <?php $grade = $agentGrade->getGrade(); ?>
                        <?php $corps = $agentGrade->getCorps(); ?>
                        <?php $correspondance = $agentGrade->getBap(); ?>
                        <li>
                            <?php echo ($grade)?$grade->getLibelleLong():"Grade non renseigné"; ?> <br/>
                            <?php echo ($corps)?$corps->getLibelleLong():"Corps non renseigné"; ?> <br/>
                            <?php echo ($correspondance)?$correspondance->getLibelleLong():"Correspondance non renseignée"; ?>
                        </li>
                    <?php endforeach; ?>
                </ul>
            </dd>
        </dl>
    </div>
</div>

<div role="tabpanel">
    <ul class="nav nav-tabs" role="tablist">
        <li class="nav-item">
            <a href="#formations" class="nav-link" aria-controls="formations" role="tab" data-toggle="tabz">
                Formations  <br> suivies
            </a>
        </li>
        <li class="nav-item">
            <a href="#inscriptions-internes" class="nav-link" aria-controls="inscriptions-internes" role="tab" data-toggle="tabz">
                Inscriptions en cours <br>
                Plan de formation
            </a>
        </li>
        <li class="nav-item">
            <a href="#inscriptions-externes" class="nav-link" aria-controls="inscriptions-externes" role="tab" data-toggle="tabz">
                Inscriptions en cours <br>
                Stage externe
            </a>
        </li>
    </ul>
</div>
<div class="tab-content">
    <div id="formations" class="tab-pane " role="tabpanel">
        <?php echo $this->partial('partial/formations', ['agent' => $agent, 'formations' => $formations], [], true); ?>
    </div>
    <div id="inscriptions-internes" class="tab-pane " role="tabpanel">
        <?php echo $this->partial('partial/inscriptions', ['agent' => $agent, 'inscriptions' => $inscriptions], [], true); ?>
    </div>
    <div id="inscriptions-externes" class="tab-pane " role="tabpanel">
        <?php echo $this->partial('partial/stages', ['agent' => $agent, 'stages' => $stages], [], true); ?>
    </div>
</div>


<script>
    $(function() {
        let hash = $(location).attr('hash');
        let name = hash.substr(1);
        if (name === undefined || name === "") name = "formations";

        $('a[aria-controls=' + name + ']').tab('show');

        $('.nav-tabs a').click(function (e) {
            // No e.preventDefault() here
            $(this).tab('show');
        });
    });
    $(function() {
        $("body").on("modification", function (event) {
            event.div.modal('hide');
            window.location.reload();
        });
    });
</script>
+26 −0
Original line number Diff line number Diff line
<?php

/**
 * @var Agent $agent
 * @var Formation[] $formations
 */

use Application\Entity\Db\Agent;
use Formation\Entity\Db\Formation;
use Formation\Provider\Privilege\FormationinstancedocumentPrivileges;


$canHistorique = $this->isAllowed(FormationinstancedocumentPrivileges::getResourceId(FormationinstancedocumentPrivileges::FORMATIONINSTANCEDOCUMENT_HISTORIQUE));


?>

<?php if ($canHistorique) : ?>
    <?php /**  @see \Formation\Controller\FormationInstanceDocumentController::genererHistoriqueAction() */ ?>
    <a href="<?php echo $this->url('formation-instance/generer-historique', ['agent' => $agent->getId()], [], true); ?>"
       class="btn btn-primary" target="_blank"
    >
        <span class="icon icon-pdf"></span>
        Générer l'historique de formation
    </a>
<?php endif; ?>
 No newline at end of file
Loading