Skip to content
Snippets Groups Projects
Select Git revision
  • d4ef9b27a1398448d218bee23826d2bb2e84725d
  • master default protected
  • b24
  • ll-workflow
  • alc-scindage-donnees-pj
  • 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

EtablissementViewHelper.php

Blame
  • Laurent Lécluse's avatar
    Laurent Lecluse authored
    d4ef9b27
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    EtablissementViewHelper.php 2.36 KiB
    <?php
    
    namespace Application\View\Helper;
    
    use Laminas\View\Helper\AbstractHelper;
    use Application\Entity\Db\Etablissement;
    use Application\Entity\Db\Traits\EtablissementAwareTrait;
    
    /**
     * Description of Etablissement
     *
     * @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>
     */
    class EtablissementViewHelper extends AbstractHelper
    {
        use EtablissementAwareTrait;
    
    
        /**
         *
         * @param Etablissement $etablissement
         *
         * @return self
         */
        public function __invoke(Etablissement $etablissement = null)
        {
            if ($etablissement) $this->setEtablissement($etablissement);
    
            return $this;
        }
    
    
    
        /**
         * Retourne le code HTML.
         *
         * @return string Code HTML
         */
        public function __toString()
        {
            return $this->render();
        }
    
    
    
        /**
         *
         *
         * @return string Code HTML
         */
        public function render()
        {
            $entity = $this->getEtablissement();
    
            if (!$entity) {
                return '';
            }
    
            $vars = [
                "Libellé"                                   => $entity->getLibelle(),
                "Département :"                             => $entity->getDepartement(),
                "Localisation :"                            => $entity->getLocalisation() . " (" . $entity->getDepartement() . ")",
                "N° {$entity->getSource()->getLibelle()} :" => $entity->getSourceCode(),
            ];
    
            $html = "<dl class=\"etablissement dl-horizontal\">\n";
            foreach ($vars as $key => $value) {
                $html .= "\t<dt>$key :</dt><dd>$value</dd>\n";
            }
            $html .= "</dl>";
    
            $html .= $this->getView()->historique($entity);
    
            return $html;
        }
    
    
    
        public function renderLink()
        {
            $etablissement = $this->getEtablissement();
            if (!$etablissement) return '';
    
            if ($etablissement->getHistoDestruction()) {
                return '<p class="bg-danger"><abbr title="Cet établissement n\'existe plus">' . $etablissement . '</abbr></p>';
            }
    
            $url   = $this->getView()->url('etablissement', ['action' => 'voir', 'id' => $etablissement->getId()]);
            $pourl = $this->getView()->url('etablissement', ['action' => 'apercevoir', 'id' => $etablissement->getId()]);
            $out   = '<a href="' . $url . '" data-po-href="' . $pourl . '" class="ajax-modal">' . $etablissement . '</a>';
    
            return $out;
        }
    }