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

Formulaire entretien de formation

parent ed3f0415
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -107,8 +107,10 @@ class EntretienProfessionnelController extends AbstractActionController
            $data = $request->getPost();
            $form->setData($data);
            if ($form->isValid()) {
                $instance = $this->getFormulaireInstanceService()->createInstance('ENTRETIEN_PROFESSIONNEL');
                $entretien->setFormulaireInstance($instance);
                $entretien_instance = $this->getFormulaireInstanceService()->createInstance('ENTRETIEN_PROFESSIONNEL');
                $formation_instance = $this->getFormulaireInstanceService()->createInstance('FORMATION');
                $entretien->setFormulaireInstance($entretien_instance);
                $entretien->setFormationInstance($formation_instance);
                $this->getEntretienProfessionnelService()->create($entretien);
                $this->getEntretienProfessionnelService()->recopiePrecedent($entretien);
                $this->getMailingService()->sendMailType("ENTRETIEN_CONVOCATION_AGENT", ['campagne' => $entretien->getCampagne(), 'entretien' => $entretien, 'user' => $entretien->getAgent()->getUtilisateur()]);
+20 −0
Original line number Diff line number Diff line
@@ -32,6 +32,8 @@ class EntretienProfessionnel implements HistoriqueAwareInterface, ResourceInterf
    private $dateEntretien;
    /** @var FormulaireInstance */
    private $formulaireInstance;
    /** @var FormulaireInstance */
    private $formationInstance;

    /** @var ArrayCollection (Observation) */
    private $observations;
@@ -151,6 +153,24 @@ class EntretienProfessionnel implements HistoriqueAwareInterface, ResourceInterf
        return $this;
    }

    /**
     * @return FormulaireInstance
     */
    public function getFormationInstance()
    {
        return $this->formationInstance;
    }

    /**
     * @param FormulaireInstance $formationInstance
     * @return EntretienProfessionnel
     */
    public function setFormationInstance($formationInstance)
    {
        $this->formationInstance = $formationInstance;
        return $this;
    }

    /** OBSERVATIONS **************************************************************************************************/

    /**
+3 −0
Original line number Diff line number Diff line
@@ -21,6 +21,9 @@
        <many-to-one target-entity="Autoform\Entity\Db\FormulaireInstance"  field="formulaireInstance">
            <join-column name="formulaire_instance" referenced-column-name="id"/>
        </many-to-one>
        <many-to-one target-entity="Autoform\Entity\Db\FormulaireInstance"  field="formationInstance">
            <join-column name="formation_instance" referenced-column-name="id"/>
        </many-to-one>

        <field name="dateEntretien"     type="datetime"                 column="date_entretien"     nullable="false"/>

+1 −1
Original line number Diff line number Diff line
@@ -93,6 +93,6 @@ $now = new DateTime();
    <?php endif; ?>
<?php else : ?>
    <div class="alert alert-danger">
        Vous ne pouvez vous le formulaire d'entretien professionnel.
        Vous ne pouvez pas saisir le formulaire d'entretien professionnel.
    </div>
<?php endif; ?>
+41 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ use Application\Entity\Db\AgentFormation;
use Application\Entity\Db\EntretienProfessionnel;
use Application\Entity\Db\ParcoursDeFormation;
use Application\Provider\Privilege\AgentPrivileges;
use Application\Provider\Privilege\EntretienproPrivileges;

$agent = $entretien->getAgent();

@@ -22,6 +23,11 @@ $canHistoriser = $this->isAllowed($agent, AgentPrivileges::AGENT_ELEMENT_HISTOR
$canDetruire    = $this->isAllowed($agent, AgentPrivileges::AGENT_ELEMENT_DETRUIRE);
$canValider     = $this->isAllowed($agent, AgentPrivileges::AGENT_ELEMENT_VALIDER);

$canValiderAgent        = $this->isAllowed($entretien, EntretienproPrivileges::ENTRETIENPRO_VALIDER_AGENT);
$canValiderResponsable  = $this->isAllowed($entretien, EntretienproPrivileges::ENTRETIENPRO_VALIDER_RESPONSABLE);
$canValiderDrh          = $this->isAllowed($entretien, EntretienproPrivileges::ENTRETIENPRO_VALIDER_DRH);
$canRenseigner = $canValiderDrh OR $canValiderResponsable OR $canValiderAgent;

$droits = [
    'afficher' => $canVoir,
    'ajouter' => $canAjouter,
@@ -75,8 +81,42 @@ $now = new DateTime();
    </div>
<?php endif; ?>

<h2> Compte-rendu d'entretien de formation </h2>

<?php
$instance = $entretien->getFormationInstance();
$formulaire = $instance->getFormulaire();
$reponses = $instance->getReponses();

/** nécessaire car l'aide de vue var utiliser l'id du champ comme référence dans le tableau ...  */
$data = [];
foreach ($reponses as $reponse) {
    $data[$reponse->getChamp()->getId()] = $reponse;
}
?>

<?php if ($canRenseigner) : ?>
    <?php if (($entretien->getDateEntretien() > $now) AND ($entretien->getValidationResponsable() === null OR $entretien->getValidationResponsable()->estHistorise())) : ?>
        <?php
        /** @see \Autoform\View\Helper\InstanceAsFormulaireHelper */
        $retour = $this->url('entretien-professionnel/renseigner', ['entretien' => $entretien->getId()], ['force_canonical' => false], true);
        $url = $this->url('autoform/formulaire/afficher-formulaire', ['formulaire' => $formulaire->getId(), 'instance' => $instance->getId()], ['query' => ['retour' => $retour], 'force_canonical' => false], true);

        echo $this->instanceAsFormulaire()->render($instance, $url, $data);
        ?>
    <?php else : ?>
        <?php echo $this->instanceAsText()->render($instance); ?>
    <?php endif; ?>
<?php else : ?>
    <div class="alert alert-danger">
        Vous ne pouvez saisir le formulaire d'entretien de formation.
    </div>
<?php endif; ?>


<h2> Parcours obligatoire d'entrée dans le métier </h2>


<div class="row">
    <div class="col-md-1"></div>
    <div class="col-md-10">
@@ -121,3 +161,4 @@ $now = new DateTime();
    /** @see \Application\View\Helper\AgentFormationViewHelper */
    echo $this->agentFormation($agent, $options);
?>