Commit fceb1946 authored by Jean-Philippe METIVIER's avatar Jean-Philippe METIVIER
Browse files

Ajout de la methode getFormulairesAsOptions

parent ebd68e73
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ class FormulaireController extends AbstractActionController

    public function indexAction(): ViewModel
    {
        $formulaires = $this->getFormulaireService()->getFormulaires();
        $formulaires = $this->getFormulaireService()->getFormulaires(true);

        return new ViewModel([
            'formulaires' => $formulaires,
+32 −1
Original line number Diff line number Diff line
@@ -68,9 +68,11 @@ class FormulaireService
    /**
     * @return Formulaire[]
     */
    public function getFormulaires(): array
    public function getFormulaires(bool $withHisto = false): array
    {
        $qb = $this->createQueryBuilder();
        if (!$withHisto) { $qb = $qb->andWhere('formulaire.histoDestruction IS NULL'); }

        $result = $qb->getQuery()->getResult();

        $array = [];
@@ -81,6 +83,17 @@ class FormulaireService
        return $array;
    }

    public function getFormulairesAsOptions(): array
    {
        $formulaires = $this->getFormulaires();

        $options = [];
        foreach ($formulaires as $formulaire) {
            $options[$formulaire->getId()] = $this->optionify($formulaire);
        }
        return $options;
    }

    /**
     * @param int|null $id
     * @return Formulaire|null
@@ -156,4 +169,22 @@ class FormulaireService

        return $array;
    }

    /** FACADE ********************************************************************************************************/

    public function optionify(Formulaire $formulaire): array
    {
        $libelle = $formulaire->getLibelle();
        $code = $formulaire->getCode();
        $label = $libelle . " <code>" . $code . "</code>";
        $this_option = [
            'value' => $formulaire->getId(),
            'attributes' => [
                'data-content' =>
                    $label
            ],
            'label' => $libelle,
        ];
        return $this_option;
    }
}