Skip to content
Snippets Groups Projects
Select Git revision
  • 4b8c4a6a4f33c0a61a725f01c5f8bbf79c94185d
  • master default protected
  • ll-workflow
  • alc-scindage-donnees-pj
  • b24
  • FJ_LL_Tbl_Contrat
  • alc-docker-node
  • ll-apiplatform
  • php84
  • ll-rgpd
  • b23
  • alc-filtre-type-intervenant
  • ll-sans-mdb5
  • formules-ancienne-infra
  • ll-formules
  • alc-intervenant-dmep
  • ll-suppr-v_vol-s
  • b20
  • ll-postgresql
  • b23.0.1
  • b22
  • 24.8
  • 24.7
  • 24.6
  • 24.5
  • 24.4
  • 24.3
  • 24.2
  • 24.1
  • 24.0
  • 23.15
  • 24.0-beta19
  • 24.0-beta18
  • 24.0-beta17
  • 24.0-beta16
  • 24.0-beta15
  • 24.0-beta14
  • 24.0-beta13
  • 23.14
  • 24.0-beta12
  • 24.0-beta11
41 results

FormAwareTrait.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    IntervenantViewHelper.php 3.72 KiB
    <?php
    
    namespace Application\View\Helper\Intervenant;
    
    use Zend\View\Helper\AbstractHtmlElement;
    use Application\Entity\Db\Intervenant;
    use Application\Traits\IntervenantAwareTrait;
    
    /**
     * Description of Intervenant
     *
     * @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>
     */
    class IntervenantViewHelper extends AbstractHtmlElement
    {
        use IntervenantAwareTrait;
    
    
    
        /**
         *
         * @param Intervenant $intervenant
         *
         * @return self
         */
        public function __invoke(Intervenant $intervenant = null)
        {
            if ($intervenant) $this->setIntervenant($intervenant);
    
            return $this;
        }
    
    
    
        public function __toString()
        {
            return $this->render();
        }
    
    
    
        /**
         *
         *
         * @return string Code HTML
         */
        public function render()
        {
            $entity = $this->getIntervenant();
    
            if (!$entity) {
                return '';
            }
    
            $adresse = $entity->getAdressePrincipale();
    
            $vars = [
                'identite'    => [
                    "NOM prénom"         => $entity,
                    "Civilité"           => $entity->getCiviliteToString(),
                    "Date de naissance"  => $entity->getDateNaissanceToString(),
                    "Ville de naissance" => $entity->getVilleNaissanceLibelle() ?: "(Inconnue)",
                    "Pays de naissance"  => $entity->getPaysNaissanceLibelle(),
                    "N° INSEE"           => $entity->getNumeroInsee(),
                ],
                'coordonnees' => [
                    "Email"            => $entity->getEmail() ?: "(Inconnu)",
                    "Téléphone mobile" => $entity->getTelMobile() ?: "(Inconnu)",
                    "Téléphone pro"    => $entity->getTelPro() ?: "(Inconnu)",
                    "Adresse"          => nl2br($entity->getAdressePrincipale()),
                ],
                'metier'      => [
                    "Type d'intervenant"                => $entity->getType(),
                    "Statut de l'intervenant"           => $entity->getStatut(),
                    "N° {$entity->getSourceToString()}" => $entity->getSourceCode(),
                    "Affectation principale"            => $entity->getStructure() ?: "(Inconnue)",
                    "Affectation recherche"             => count($aff = $entity->getAffectation()) ? implode(" ; ", $aff->toArray()) : "(Inconnue)",
                    "Discipline"                        => $entity->getDiscipline() ?: "(Inconnue)",
                    "Corps & grade"                     => $entity->getGrade() ? $entity->getGrade()->toStringWithCorps() : "Aucun"
                ],
                'divers'      => [
                    "Id"              => $entity->getId(),
                    "Id de connexion" => ($u = $entity->getUtilisateur()) ? $u->getUsername() : "(Aucun)",
                ],
            ];
    
            $html = '';
            foreach ($vars as $bloc => $vvs) {
                $html .= "<dl class=\"intervenant intervenant-$bloc dl-horizontal\">\n";
                foreach ($vvs as $key => $value) {
                    $html .= "\t<dt>$key :</dt><dd>$value</dd>\n";
                }
                $html .= "</dl>";
            }
    
            //$html .= $this->getView()->historique($entity); => pas de sens ici
    
            return $html;
        }
    
    
    
        public function renderLink()
        {
            $intervenant = $this->getIntervenant();
            if (!$intervenant) return '';
    
            if ($intervenant->getHistoDestruction()) {
                return '<span class="bg-danger"><abbr title="Cet intervenant a été supprimé de OSE">' . $intervenant . '</abbr></span>';
            }
    
            $pourl = $this->getView()->url('intervenant/default', ['action' => 'apercevoir', 'intervenant' => $intervenant->getSourceCode()]);
            $out   = '<a href="' . $pourl . '" data-po-href="' . $pourl . '" class="ajax-modal">' . $intervenant . '</a>';
    
            return $out;
        }
    }