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

Possibilité de liés des compétences et des applications dans une formation qui...

Possibilité de liés des compétences et des applications dans une formation qui sont transmises sur la fiche de l'agent si la formation a été suivie
parent 84cb0100
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
@@ -535,4 +535,50 @@ class Agent implements
        }
        return $structureAgentForces;
    }

    /** Competence */
    public function getCompetenceDictionnaireComplet()
    {
        $dictionnaire = $this->getCompetenceDictionnaire();
        foreach ($this->getFormationDictionnaire() as $item) {
            $formation = $item['entite']->getFormation();
            foreach ($formation->getCompetenceDictionnaire() as $competenceObtenue) {
                $competenceId = $competenceObtenue['entite']->getCompetence()->getId();
                if (isset($dictionnaire[$competenceId])) {
                    $dictionnaire[$competenceId]["raison"][] = $formation;
                } else {
                    $element = [];
                    $element['entite'] = $competenceObtenue['entite'];
                    $element['raison'][] = $formation;
                    $element['conserve'] = true;
                    $dictionnaire[$competenceId] = $element;
                }
            }
        }
        return $dictionnaire;
    }

    public function getApplicationDictionnaireComplet()
    {
        $dictionnaire = $this->getApplicationDictionnaire();
        foreach ($this->getFormationDictionnaire() as $item) {
            $formation = $item['entite']->getFormation();
            foreach ($formation->getApplicationDictionnaire() as $applicationObtenue) {
                $applicationId = $applicationObtenue['entite']->getApplication()->getId();
                if (isset($dictionnaire[$applicationId])) {
                    $obtenueNiveau = ($applicationObtenue['entite']->getNiveauMaitrise())?$applicationObtenue['entite']->getNiveauMaitrise()->getNiveau():0;
                    $currentNiveau = ($dictionnaire[$applicationId]['entite']->getNiveauMaitrise())?$dictionnaire[$applicationId]['entite']->getNiveauMaitrise()->getNiveau():0;
                    if ($obtenueNiveau > $currentNiveau) $dictionnaire[$applicationId]['entite'] = $applicationObtenue['entite'];
                    $dictionnaire[$applicationId]["raison"][] = $formation;
                } else {
                    $element = [];
                    $element['entite'] = $applicationObtenue['entite'];
                    $element['raison'][] = $formation;
                    $element['conserve'] = true;
                    $dictionnaire[$applicationId] = $element;
                }
            }
        }
        return $dictionnaire;
    }
}
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -37,9 +37,9 @@ trait HasApplicationCollectionTrait
        foreach ($this->applications as $applicationElement) {
            $element = [];
            $element['entite'] = $applicationElement;
            $element['raison'] = null;
            $element['raison'][] = $this;
            $element['conserve'] = true;
            $dictionnaire[] = $element;
            $dictionnaire[$applicationElement->getApplication()->getId()] = $element;
        }
        return $dictionnaire;
    }
+2 −2
Original line number Diff line number Diff line
@@ -32,9 +32,9 @@ trait HasCompetenceCollectionTrait {
        foreach ($this->competences as $competenceElement) {
            $element = [];
            $element['entite'] = $competenceElement;
            $element['raison'] = null;
            $element['raison'][] = $this;
            $element['conserve'] = true;
            $dictionnaire[] = $element;
            $dictionnaire[$competenceElement->getCompetence()->getId()] = $element;
        }
        return $dictionnaire;
    }
+25 −10
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ use Application\Entity\Db\ApplicationElement;
use Application\Entity\Db\FicheMetier;
use Application\Entity\Db\Interfaces\HasCompetenceCollectionInterface;
use Application\View\Helper\CompetenceBlocViewHelper;
use Formation\Entity\Db\Formation;

/**
 * @var array $applications
@@ -69,6 +70,7 @@ ksort($groupes);
            <div class="pull-right">
                <?php if ($canAjouter) : ?>
                    <br/>
                    <?php if ($objet instanceof Agent) : ?>
                        <a
                            <?php /** @see \Application\Controller\ApplicationController::ajouterApplicationElementAction() */?>
                            <?php //todo ... Agent::class => get_class($objet) ... ?>
@@ -76,10 +78,23 @@ ksort($groupes);
                                class="ajax-modal btn btn-primary action"
                                data-event="modification"
                        >
                        <span class="icon ajouter" title="Ajouter une compétence"></span>
                            <span class="icon ajouter" title="Ajouter une application"></span>
                            Ajouter une application
                        </a>
                    <?php endif; ?>
                    <?php if ($objet instanceof Formation) : ?>
                        <a
                            <?php /** @see \Formation\Controller\FormationController::ajouterApplicationAction() */?>
                            <?php //todo ... Agent::class => get_class($objet) ... ?>
                                href="<?php echo $this->url('formation/ajouter-application-element', ['type' => Formation::class, 'id' => $objet->getId(), 'clef' => ($objet instanceof FicheMetier)?'afficher':'masquer'], [], true); ?>"
                                class="ajax-modal btn btn-primary action"
                                data-event="modification"
                        >
                            <span class="icon ajouter" title="Ajouter une application"></span>
                            Ajouter une application
                        </a>
                    <?php endif; ?>
                <?php endif; ?>
            </div>
        </div>
        <br/>
+15 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ use Application\Entity\Db\FicheMetier;
use Application\Entity\Db\Interfaces\HasCompetenceCollectionInterface;
use Application\Provider\Privilege\CompetencePrivileges;
use Application\View\Helper\CompetenceBlocViewHelper;
use Formation\Entity\Db\Formation;

/**
 * @see \Application\View\Helper\CompetenceBlocViewHelper
@@ -75,6 +76,7 @@ ksort($groupes);
        <div class="pull-right">
            <?php if ($canAjouter) : ?>
                <br/>
                <?php if ($objet instanceof Agent) : ?>
                <a
                    <?php /** @see \Application\Controller\CompetenceController::ajouterCompetenceElementAction() */?>
                        <?php //todo ... Agent::class => get_class($objet) ... ?>
@@ -86,6 +88,19 @@ ksort($groupes);
                    Ajouter une compétence
                </a>
                <?php endif; ?>
                <?php if ($objet instanceof Formation) : ?>
                    <a
                        <?php /** @see \Formation\Controller\FormationController::ajouterCompetenceAction() */?>
                        <?php //todo ... Agent::class => get_class($objet) ... ?>
                            href="<?php echo $this->url('formation/ajouter-competence-element', ['type' => Formation::class, 'id' => $objet->getId(), 'clef' => ($objet instanceof FicheMetier)?'afficher':'masquer'], [], true); ?>"
                            class="ajax-modal btn btn-primary action"
                            data-event="modification"
                    >
                        <span class="icon ajouter" title="Ajouter une compétence"></span>
                        Ajouter une compétence
                    </a>
                <?php endif; ?>
            <?php endif; ?>
        </div>
    </div>
    <br/>
Loading