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

Changement afficahge structure

parent 99e676f9
Loading
Loading
Loading
Loading
+6 −0
Changes for module/EntretienProfessionnel/src/EntretienProfessionnel/Controller/CampagneController.php: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -197,8 +197,14 @@ class CampagneController extends AbstractActionController {
            }
        }

        $last =  $this->getCampagneService()->getLastCampagne();
        $campagnes =  $this->getCampagneService()->getCampagnesActives();
        $campagnes[] = $last;
        usort($campagnes, function (Campagne $a, Campagne $b) { return $a->getDateDebut() > $b->getDateDebut();});

        return new ViewModel([
            'campagne' => $campagne,
            'campagnes' => $campagnes,
            'structure' => $structure,
            'structures' => $structures,
            'agents' => $agents,
+75 −0
Changes for module/EntretienProfessionnel/view/entretien-professionnel/campagne/partial/entete.phtml: 75 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php

use EntretienProfessionnel\Entity\Db\Campagne;
use Structure\Entity\Db\Structure;

/**
 * @var Structure $structure
 * @var string $current <i> onglet actif pour mise en forme
 * @var Campagne[] $campagnes
 */

?>

<h1 class="page-header">
    <strong><?php echo $structure->getLibelleLong(); ?></strong>
    <br>
    <?php echo $structure->getType()->getLibelle(); ?>
</h1>

<div role="tabpanel">
    <ul class="nav nav-tabs" role="tablist">
        <li class="nav-item">
            <?php /** @see \Structure\Controller\StructureController::descriptionAction() */ ?>
            <a href="<?php echo $this->url('structure/description', ['structure' => $structure->getId()],[], true); ?>"
               class="nav-link" aria-controls="description" role="tab">
                Description de <br/> la structure
            </a>
        </li>
        <li class="nav-item">
            <?php /** @see \Structure\Controller\StructureController::agentsAction() */ ?>
            <a href="<?php echo $this->url('structure/agents', ['structure' => $structure->getId()],[], true); ?>"
               class="nav-link" aria-controls="agents" role="tab">
                Liste des <br/>Agent·es
            </a>
        </li>
        <li class="nav-item">
            <?php /** @see \Structure\Controller\StructureController::fichesDePosteAction() */ ?>
            <a href="<?php echo $this->url('structure/fiches-de-poste', ['structure' => $structure->getId()],[], true); ?>"
               class="nav-link" aria-controls="fiches-de-poste" role="tab">
                Fiches de <br/>poste
            </a>
        </li>
        <li class="nav-item">
            <?php /** @see \Structure\Controller\StructureController::missionsSpecifiquesAction() */ ?>
            <a href="<?php echo $this->url('structure/missions-specifiques', ['structure' => $structure->getId()],[], true); ?>"
               class="nav-link" aria-controls="missions-specifiques" role="tab">
                Missions <br/> spécifiques
            </a>
        </li>
        <?php foreach ($campagnes as $campagne) : ?>
        <li class="nav-item">
            <a href="<?php echo $this->url('entretien-professionnel/campagne/structure', ['structure' => $structure->getId(), 'campagne' => $campagne->getId()],[],true); ?>"
               class="nav-link" aria-controls="campagne_<?php echo $campagne->getId(); ?>" role="tab">
                Entretiens professionnels <br/> <?php echo $campagne->getAnnee(); ?>
            </a>
        </li>
        <?php endforeach; ?>
        <li class="nav-item">
            <?php /** @see \Structure\Controller\StructureController::extractionsAction() */ ?>
            <a href="<?php echo $this->url('structure/extractions', ['structure' => $structure->getId()], [], true); ?>" class="nav-link" aria-controls="extractions" role="tab">
                Extractions <br/> &nbsp;
            </a>
        </li>
    </ul>
</div>

<script>
    $('a[aria-controls="<?php echo $current; ?>"]').addClass('active');
    $(function() {
        $("body").on("modification", function (event) {
            event.div.modal('hide');
            window.location.reload();
        });
    });
</script>
+3 −0
Changes for module/EntretienProfessionnel/view/entretien-professionnel/campagne/structure.phtml: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ use Structure\Entity\Db\Structure;
/**
 * @see \EntretienProfessionnel\Controller\CampagneController::structureAction()
 * @var Campagne $campagne
 * @var Campagne[] $campagnes
 * @var DateTime $dateMinEnPoste
 *
 * @var Structure $structure
@@ -25,6 +26,8 @@ use Structure\Entity\Db\Structure;
$this->headTitle("Campagne d'entretien professionnel " . $campagne->getAnnee() . " - " . $structure->getLibelleLong())
?>

<?php echo $this->partial('partial/entete', ['structure' => $structure, 'campagnes' => $campagnes, 'current' => 'campagne_'.$campagne->getId()]); ?>

<h1 class="page-header">
    Campagne d'entretien professionnel <?php echo $campagne->getAnnee(); ?>
    <br>
+48 −2
Changes for module/Structure/config/merged/structure.config.php: 48 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -79,6 +79,10 @@ return [
                    'action' => [
                        'afficher',
                        'description',
                        'agents',
                        'missions-specifiques',
                        'fiches-de-poste',
                        'extractions',
                    ],
                    'privileges' => StructurePrivileges::STRUCTURE_AFFICHER,
                    'assertion'  => StructureAssertion::class,
@@ -178,8 +182,50 @@ return [
                                'action'     => 'description',
                            ],
                        ],
                        'may_terminate' => true,
                        'child_routes' => [],
                    ],
                    'agents' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/agents/:structure',
                            'defaults' => [
                                /** @see StructureController::agentsAction() */
                                'controller' => StructureController::class,
                                'action'     => 'agents',
                            ],
                        ],
                    ],
                    'missions-specifiques' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/missions-specifiques/:structure',
                            'defaults' => [
                                /** @see StructureController::missionsSpecifiquesAction() */
                                'controller' => StructureController::class,
                                'action'     => 'missions-specifiques',
                            ],
                        ],
                    ],
                    'fiches-de-poste' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/fiches-de-poste/:structure',
                            'defaults' => [
                                /** @see StructureController::fichesDePosteAction() */
                                'controller' => StructureController::class,
                                'action'     => 'fiches-de-poste',
                            ],
                        ],
                    ],
                    'extractions' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/extractions/:structure',
                            'defaults' => [
                                /** @see StructureController::extractionsAction() */
                                'controller' => StructureController::class,
                                'action'     => 'extractions',
                            ],
                        ],
                    ],
                    'organigramme' => [
                        'type'  => Segment::class,
+105 −0
Changes for module/Structure/src/Structure/Controller/StructureController.php: 105 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -167,6 +167,11 @@ class StructureController extends AbstractActionController {
        $parent = $structure->getParent();
        $filles = $structure->getEnfants();

        $last =  $this->getCampagneService()->getLastCampagne();
        $campagnes =  $this->getCampagneService()->getCampagnesActives();
        $campagnes[] = $last;
        usort($campagnes, function (Campagne $a, Campagne $b) { return $a->getDateDebut() > $b->getDateDebut();});

        return new ViewModel([
            'structure' => $structure,
            'responsables' => $responsables,
@@ -174,6 +179,106 @@ class StructureController extends AbstractActionController {
            'niveau2' => $niveau2,
            'parent' => $parent,
            'filles' => $filles,

            'campagnes' => $campagnes,
        ]);
    }

    public function agentsAction() : ViewModel
    {
        $structure = $this->getStructureService()->getRequestedStructure($this);
        $structures = $this->getStructureService()->getStructuresFilles($structure, true);

        $agents = $this->getAgentService()->getAgentsByStructures($structures);
        $agentsForces = $this->getStructureService()->getAgentsForces($structure);
        $allAgents = array_merge($agents, $agentsForces);

        $superieurs = []; $autorites = [];
        foreach ($allAgents as $agent) {
            $sup = $this->getAgentService()->computeSuperieures($agent);
            $aut = $this->getAgentService()->computeAutorites($agent, $sup);
            $superieurs[$agent->getId()] = $sup;
            $autorites[$agent->getId()] = $aut;
        }


        $last =  $this->getCampagneService()->getLastCampagne();
        $campagnes =  $this->getCampagneService()->getCampagnesActives();
        $campagnes[] = $last;
        usort($campagnes, function (Campagne $a, Campagne $b) { return $a->getDateDebut() > $b->getDateDebut();});

        return new ViewModel([
            'structure' => $structure,
            'agents' => $agents,
            'agentsForces' => $agentsForces,
            'superieurs' => $superieurs,
            'autorites' => $autorites,

            'campagnes' => $campagnes,
            'emailAssistance' => $this->getParametreService()->getValeurForParametre(GlobalParametres::TYPE, GlobalParametres::EMAIL_ASSISTANCE),
        ]);
    }

    public function missionsSpecifiquesAction() : ViewModel
    {
        $structure = $this->getStructureService()->getRequestedStructure($this);
        $structures = $this->getStructureService()->getStructuresFilles($structure, true);

        $missionsSpecifiques = $this->getAgentMissionSpecifiqueService()->getAgentMissionsSpecifiquesByStructures($structures, false);

        $last =  $this->getCampagneService()->getLastCampagne();
        $campagnes =  $this->getCampagneService()->getCampagnesActives();
        $campagnes[] = $last;
        usort($campagnes, function (Campagne $a, Campagne $b) { return $a->getDateDebut() > $b->getDateDebut();});

        return new ViewModel([
            'structure' => $structure,
            'missionsSpecifiques' => $missionsSpecifiques,
            'campagnes' => $campagnes,
        ]);
    }

    public function fichesDePosteAction() : ViewModel
    {
        $structure = $this->getStructureService()->getRequestedStructure($this);
        $structures = $this->getStructureService()->getStructuresFilles($structure, true);

        $agents = $this->getAgentService()->getAgentsByStructures($structures);
        $agentsForces = $this->getStructureService()->getAgentsForces($structure);
        $allAgents = array_merge($agents, $agentsForces);

//        $fichesDePoste = $this->getFichePosteService()->getFichesPostesbyAgents($allAgents);
        $fichesDePostePdf = $this->getAgentService()->getFichesPostesPdfByAgents($allAgents);

        $last =  $this->getCampagneService()->getLastCampagne();
        $campagnes =  $this->getCampagneService()->getCampagnesActives();
        $campagnes[] = $last;
        usort($campagnes, function (Campagne $a, Campagne $b) { return $a->getDateDebut() > $b->getDateDebut();});

        return new ViewModel([
            'structure' => $structure,
            'campagnes' => $campagnes,

            'agents' => $allAgents,
//            'fichesDePoste' => $fichesDePoste,
            'fichesDePostePdf' => $fichesDePostePdf,
            'etats' => $this->getEtatService()->getEtatsByTypeCode(FichePosteEtats::TYPE),

        ]);
    }

    public function extractionsAction() : ViewModel
    {
        $structure = $this->getStructureService()->getRequestedStructure($this);

        $last =  $this->getCampagneService()->getLastCampagne();
        $campagnes =  $this->getCampagneService()->getCampagnesActives();
        $campagnes[] = $last;
        usort($campagnes, function (Campagne $a, Campagne $b) { return $a->getDateDebut() > $b->getDateDebut();});

        return new ViewModel([
            'structure' => $structure,
            'campagnes' => $campagnes,
        ]);
    }

Loading