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

[EMC2] Ajout de précision sur les acquis (Application et Compétence)

parent 0ce9e8ed
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -6,7 +6,9 @@ Version 4.3.2 (XX/01/2024)
- [EMC2] Ajout d'un bouton de retour à la liste des entretiens professionnels depuis un entretien professionnel
- [EMC2] Changement sur la liste des entretiens professionnels des structures et de la méthode de filtrage en fonction des structures
- [EMC2] Correction de la fonction de recherche "élargie" d'agents pour mieux correspondent aux autres établissements 
- [Mes Froamtions] Ajout d'une garde pour l'affichage - Mes structures - dans le cas où un·e utilisateur·trice y accède sans avoir de structure 
- [Mes Formations] Ajout d'une garde pour l'affichage - Mes structures - dans le cas où un·e utilisateur·trice y accède sans avoir de structure
- [EMC2] Ajout de précision sur les acquis (Application et Compétence)

Modification en BD
---

+22 −0
Original line number Diff line number Diff line
@@ -46,7 +46,9 @@ return [
                    'action' => [
                        'changer-niveau',
                        'ajouter-application-element',
                        'modifier-application-element',
                        'ajouter-competence-element',
                        'modifier-competence-element',
                    ],
                    'privileges' => [
                        AgentPrivileges::AGENT_ELEMENT_MODIFIER,
@@ -114,6 +116,16 @@ return [
                        ],
                        'may_terminate' => true,
                    ],
                    'modifier-application-element' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/modifier-application-element/:application-element',
                            'defaults' => [
                                /** @see ElementController::modifierApplicationElementAction() */
                                'action'     => 'modifier-application-element',
                            ],
                        ],
                    ],
                    'ajouter-competence-element' => [
                        'type'  => Segment::class,
                        'options' => [
@@ -125,6 +137,16 @@ return [
                        ],
                        'may_terminate' => true,
                    ],
                    'modifier-competence-element' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/modifier-competence-element/:competence-element',
                            'defaults' => [
                                /** @see ElementController::modifierCompetenceElementAction() */
                                'action'     => 'modifier-competence-element',
                            ],
                        ],
                    ],
                ],
            ],
        ],
+58 −0
Original line number Diff line number Diff line
@@ -339,4 +339,62 @@ class ElementController extends AbstractActionController
        }
        exit();
    }

    public function modifierApplicationElementAction(): ViewModel
    {
        $applicationElement = $this->getApplicationElementService()->getRequestedApplicationElement($this);

        $form = $this->getApplicationElementForm();
        $form->setAttribute('action', $this->url()->fromRoute('element_/modifier-application-element', ['application-element' => $applicationElement->getId()], [], true));
        $form->bind($applicationElement);
        $form->masquerClef();
        $form->bloquerApplication();

        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            $data['application'] = $applicationElement->getApplication()->getId();
            $form->setData($data);
            if ($form->isValid()) {
                $this->getApplicationElementService()->update($applicationElement);
                exit();
            }
        }

        $vm = new ViewModel([
            'title' => "Modification de l'application",
            'form' => $form,
        ]);
        $vm->setTemplate('default/default-form');
        return $vm;
    }

    public function modifierCompetenceElementAction(): ViewModel
    {
        $compentenceElement = $this->getCompetenceElementService()->getRequestedCompetenceElement($this);

        $form = $this->getCompetenceElementForm();
        $form->setAttribute('action', $this->url()->fromRoute('element_/modifier-competence-element', ['competence-element' => $compentenceElement->getId()], [], true));
        $form->bind($compentenceElement);
        $form->masquerClef();
        $form->bloquerCompetence();

        $request = $this->getRequest();
        if ($request->isPost()) {
            $data = $request->getPost();
            $data['competence'] = $compentenceElement->getCompetence()->getId();
            $form->setData($data);
            if ($form->isValid()) {
                $this->getCompetenceElementService()->update($compentenceElement);
                exit();
            }
        }

        $vm = new ViewModel([
            'title' => 'Modification de la compétence',
            'form' => $form,
        ]);
        $vm->setTemplate('default/default-form');
        return $vm;
    }
}
 No newline at end of file
+35 −2
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ use Formation\Entity\Db\Formation;
            case $raison instanceof Mission :
                $text = "Obtenue grâce à la mission [" . $raison->getLibelle()."]";
                $label = "Mission";
                $class = 'activite';
                $class = 'mission';
                break;
            case $raison instanceof Formation :
                $text = "Obtenue grâce à la formation <span class='highlight formation'>" . $raison->getLibelle() . "</span>";
@@ -51,6 +51,39 @@ use Formation\Entity\Db\Formation;

        }
        ?>
        <span class="<?php echo $class; ?>" title="<?php echo $text; ?>" ><?php echo $label; ?></span>
        <span class="raison <?php echo $class; ?>" title="<?php echo $text; ?>" ><?php echo $label; ?></span>
    <?php endforeach;?>
<?php endif; ?>

<style>
    span.raison {
        font-variant-position: super;
        font-weight: bold;
    }

    span.raison.agent {
        color: darkgoldenrod;
    }

    span.raison.fiche-metier {
        color: purple;
    }

    span.raison.activite {
        color: darkslateblue;
    }

    span.raison.mission {
        color: darkred;
    }

    span.raison.formation {
        color: darkgreen;
    }

    span.raison.inconnue {
        color: gray;
    }
</style>

+1 −0
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ if ($agent !== null) {
    ];

    $options = [];
    $options['acquis'] = true;
    $options['texte'] = true;
    $options['droits'] = $droits;
    $options['retour'] = $this->url('agent/afficher', ['agent' => $agent->getId()], [], true);
Loading