Commit 7d03333f by Yvon

fix broken form_theme

parent 39e8e4b7
......@@ -24,26 +24,26 @@ class DistributorSelfEvalPrestaQuizType extends SelfEvalPrestaQuizType
/* PARTIE 3 : TRANSPARENCE ET JUSTE REMUNERATION */
$this->opts['label'] = "Juste rémunération : les prix d'achats aux producteurs correspondent-ils au coût de la production (y compris la rémunération) ?";
$this->opts['choices'] = [
"pas connaissance du coût de production des produits achetés" => 0,
"ne correspondent pas toujours mais connaissance du coût de production" => 1,
"oui" => 2,
$this->frown . " pas connaissance du coût de production des produits achetés" => 0,
$this->meh . " ne correspondent pas toujours mais connaissance du coût de production" => 1,
$this->smile . " oui" => 2,
];
$builder->add('transpar_jusrem', ChoiceType::class, $this->opts);
$builder->add('transpar_jusrem_comment', TextareaType::class, $this->cmtOpts);
$this->opts['label'] = "Transparence : les consommateurs peuvent-ils accéder à des informations leur permettant de comprendre
comment les prix des produits sont construits ?";
$this->opts['choices'] = [
"aucun moyen d'avoir accès aux informations" => 0,
"au moins via l'équipe en discutant" => 1,
"affichages et en discutant" => 2,
$this->frown . " aucun moyen d'avoir accès aux informations" => 0,
$this->meh . " au moins via l'équipe en discutant" => 1,
$this->smile . " affichages et en discutant" => 2,
];
$builder->add('transpar_transp', ChoiceType::class, $this->opts);
$builder->add('transpar_transp_comment', TextareaType::class, $this->cmtOpts);
$this->opts['label'] = "Relation au producteur : sur l'offre alimentaire globale, quels sont les circuits de commercialisation majoritaires ?";
$this->opts['choices'] = [
"plus de 2 intermédiaires connus ou intraçable" => 0,
"2 intermédiaires connus" => 1,
"0 ou 1 intermédiaire connu" => 2,
$this->frown . " plus de 2 intermédiaires connus ou intraçable" => 0,
$this->meh . " 2 intermédiaires connus" => 1,
$this->smile . " 0 ou 1 intermédiaire connu" => 2,
];
$builder->add('transpar_relpro', ChoiceType::class, $this->opts);
$builder->add('transpar_relpro_comment', TextareaType::class, $this->cmtOpts);
......@@ -56,18 +56,18 @@ class DistributorSelfEvalPrestaQuizType extends SelfEvalPrestaQuizType
$this->opts['label'] = "Détenez-vous des labels ou des certifications (AB, Bio, Nature et Progrès, système de garantie
participatif ou équivalent minimum ?";
$this->opts['choices'] = [
"moins de 50 % des produits" => 0,
"entre 50 et 70% des produits" => 1,
"plus de 70 % des produits" => 2,
$this->frown . " moins de 50 % des produits" => 0,
$this->meh . " entre 50 et 70% des produits" => 1,
$this->smile . " plus de 70 % des produits" => 2,
];
$builder->add('disagdur_labels', ChoiceType::class, $this->opts);
$builder->add('disagdur_labels_comment', TextareaType::class, $this->cmtOpts);
$this->opts['label'] = "Le lieu s'assure-t-il que ses produits alimentaires non labellisés mais conventionnables sont issus
de pratiques agricoles durables ?";
$this->opts['choices'] = [
"non" => 0,
"oui pas des échanges avec le producteur ou le revendeur qui connaît les pratiques agricoles du secteur" => 1,
"oui" => 2,
$this->frown . " non" => 0,
$this->meh . " oui pas des échanges avec le producteur ou le revendeur qui connaît les pratiques agricoles du secteur" => 1,
$this->smile . " oui" => 2,
];
$builder->add('disagdur_condur', ChoiceType::class, $this->opts);
$builder->add('disagdur_condur_comment', TextareaType::class, $this->cmtOpts);
......@@ -79,17 +79,17 @@ class DistributorSelfEvalPrestaQuizType extends SelfEvalPrestaQuizType
/* PARTIE 5 : LOCALITE DES PRODUITS */
$this->opts['label'] = "Quelle est la provenance de l'offre alimentaire globale en produits bruts ?";
$this->opts['choices'] = [
"0 à 49 % de produits locaux (moins de 250 km à la ronde)" => 0,
"50 à 79 % de produits locaux (moins de 250 km à la ronde)" => 1,
"plus de 80 % de produits locaux (moins de 250 km à la ronde)" => 2,
$this->frown . " 0 à 49 % de produits locaux (moins de 250 km à la ronde)" => 0,
$this->meh . " 50 à 79 % de produits locaux (moins de 250 km à la ronde)" => 1,
$this->smile . " plus de 80 % de produits locaux (moins de 250 km à la ronde)" => 2,
];
$builder->add('localite_probru', ChoiceType::class, $this->opts);
$builder->add('localite_probru_comment', TextareaType::class, $this->cmtOpts);
$this->opts['label'] = "Quelle est la provenance de l'offre alimentaire globale en produits transformés ?";
$this->opts['choices'] = [
"0 à 24 % de produits locaux (moins de 250 km à la ronde)" => 0,
"25 à 49 % de produits locaux (moins de 250 km à la ronde)" => 1,
"plus de 50 % de produits locaux (moins de 250 km à la ronde)" => 2,
$this->frown . " 0 à 24 % de produits locaux (moins de 250 km à la ronde)" => 0,
$this->meh . " 25 à 49 % de produits locaux (moins de 250 km à la ronde)" => 1,
$this->smile . " plus de 50 % de produits locaux (moins de 250 km à la ronde)" => 2,
];
$builder->add('localite_protra', ChoiceType::class, $this->opts);
$builder->add('localite_protra_comment', TextareaType::class, $this->cmtOpts);
......
......@@ -25,8 +25,8 @@ class ProducerSelfEvalPrestaQuizType extends SelfEvalPrestaQuizType
/* PARTIE 4 : PRATIQUES AGRICOLES DURABLES */
$this->opts['label'] = "Détenez-vous des labels ou des certifications (AB Bio, Nature et Progrès, système de garantie participatif ou équivalent minimum) ?";
$this->opts['choices'] = [
"non" => 0,
"oui" => 2,
$this->frown . " non" => 0,
$this->smile . " oui" => 2,
];
$builder->add('proagdur_labels', ChoiceType::class, $this->opts);
$builder->add('proagdur_labels_comment', TextareaType::class, $this->cmtOpts);
......
......@@ -17,33 +17,31 @@ class SelfEvalPrestaQuizType extends AbstractType
protected array $opts;
protected array $cmtOpts;
protected string $labelEvalGlob;
protected string $frown;
protected string $meh;
protected string $smile;
public function __construct()
{
$faceStyling = function ($choice, $key, $value) {
$icons = [
'0' => 'fas fa-frown text-danger',
'1' => 'fas fa-meh text-warning',
'2' => 'fas fa-smile text-success',
];
$this->frown = '<i class="fas fa-frown text-danger"></i>';
$this->meh = '<i class="fas fa-meh text-warning"></i>';
$this->smile = '<i class="fas fa-smile text-success"></i>';
return ['class' => $icons[$value] ?? ''];
};
$this->stdChoices = [
'non' => 0,
'moyennement' => 1,
'oui' => 2,
$this->frown . ' non' => 0,
$this->meh . ' moyennement' => 1,
$this->smile . ' oui' => 2,
];
$this->stdGlobalChoices = [
' ' => 0,
' ' => 1,
' ' => 2,
$this->frown => 0,
$this->meh => 1,
$this->smile => 2,
];
$this->opts = [
'label' => '',
'choices' => $this->stdChoices,
'choice_attr' => $faceStyling,
'expanded' => true,
"multiple" => false,
'constraints' => [new NotNull()],
];
$this->cmtOpts = [
......@@ -56,27 +54,20 @@ class SelfEvalPrestaQuizType extends AbstractType
public function buildForm(FormBuilderInterface $builder, array $options)
{
/*
private $bienetre_tran
private $transpar
private $agridura
private $locaprod
*/
/* PARTIE 1 : ACCESSIBILITE ET INCLUSIVITE */
$this->opts['label'] = "Géographique et physique : le lieu est-il accessible par différents modes de transport ?";
$this->opts['choices'] = [
"0 mode de transport" => 0,
"1 mode de transport" => 1,
"plus d'1 mode de transport" => 2,
$this->frown . " 0 mode de transport" => 0,
$this->meh . " 1 mode de transport" => 1,
$this->smile . " plus d'1 mode de transport" => 2,
];
$builder->add('accessib_geophy', ChoiceType::class, $this->opts);
$builder->add('accessib_geophy_comment', TextareaType::class, $this->cmtOpts);
$this->opts['label'] = "Temporelle : le lieu communique-t-il sur ses plages d'ouvertures ?";
$this->opts['choices'] = [
"0 mode de communication" => 0,
"1 mode de communication" => 1,
"plus d'1 mode de communication" => 2,
$this->frown . " 0 mode de communication" => 0,
$this->meh . " 1 mode de communication" => 1,
$this->smile . " plus d'1 mode de communication" => 2,
];
$builder->add('accessib_tempor', ChoiceType::class, $this->opts);
$builder->add('accessib_tempor_comment', TextareaType::class, $this->cmtOpts);
......
{% block choice_widget %}
{% spaceless %}
<div {{ block('widget_container_attributes') }}>
{% if expanded %}
{%- for child in form %}
<div class="form-check">
<input type="checkbox" id="{{ child.vars.id }}" name="{{ child.vars.full_name }}" value="{{ child.vars.value }}" class="form-check-input">
<label class="form-check-label" for="{{ child.vars.id }}">
<i class="{{ child.vars.attr['class'] }}"></i> {{ child.vars.label }}
</label>
</div>
{%- endfor -%}
{% else %}
<select {{ block('widget_attributes') }}{% if multiple %} multiple="multiple"{% endif %}>
{% if placeholder is not none %}
<option value=""{% if required and value is empty %} selected="selected"{% endif %}>{{ placeholder|trans({}, translation_domain) }}</option>
{% endif %}
{% if preferred_choices|length > 0 %}
{% set options = preferred_choices %}
{{ block('choice_widget_options') }}
{% if choices|length > 0 and separator is not none %}
<option disabled="disabled">{{ separator }}</option>
{% endif %}
{% endif %}
{% set options = choices %}
{{ block('choice_widget_options') }}
</select>
{% endif %}
{% block form_label -%}
{% if label is not same as(false) -%}
{%- if compound is defined and compound -%}
{%- set element = 'legend' -%}
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' col-form-label')|trim}) -%}
{%- else -%}
{%- set label_attr = label_attr|merge({for: id}) -%}
{%- endif -%}
{% if required -%}
{% set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' required')|trim}) %}
{%- endif -%}
{% if label is empty -%}
{%- if label_format is not empty -%}
{% set label = label_format|replace({
'%name%': name,
'%id%': id,
}) %}
{%- else -%}
{% set label = name|humanize %}
{%- endif -%}
{%- endif -%}
<{{ element|default('label') }}{% if label_attr %}{% with { attr: label_attr } %}{{ block('attributes') }}{% endwith %}{% endif %}>{{ translation_domain is same as(false) ? label : label|trans(label_translation_parameters, translation_domain) }}{% block form_label_errors %}{{- form_errors(form) -}}{% endblock form_label_errors %}</{{ element|default('label') }}>
{%- else -%}
{%- if errors|length > 0 -%}
<div id="{{ id }}_errors" class="mb-2">
{{- form_errors(form) -}}
</div>
{% endspaceless %}
{% endblock choice_widget %}
\ No newline at end of file
{%- endif -%}
{%- endif -%}
{%- endblock form_label %}
{% block checkbox_radio_label -%}
{#- Do not display the label if widget is not defined in order to prevent double label rendering -#}
{%- if widget is defined -%}
{% set is_parent_custom = parent_label_class is defined and ('checkbox-custom' in parent_label_class or 'radio-custom' in parent_label_class or 'switch-custom' in parent_label_class) %}
{% set is_custom = label_attr.class is defined and ('checkbox-custom' in label_attr.class or 'radio-custom' in label_attr.class or 'switch-custom' in label_attr.class) %}
{%- if is_parent_custom or is_custom -%}
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' custom-control-label')|trim}) -%}
{%- else %}
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' form-check-label')|trim}) -%}
{%- endif %}
{%- if not compound -%}
{% set label_attr = label_attr|merge({'for': id}) %}
{%- endif -%}
{%- if required -%}
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' required')|trim}) -%}
{%- endif -%}
{%- if label is not same as(false) and label is empty -%}
{%- if label_format is not empty -%}
{%- set label = label_format|replace({
'%name%': name,
'%id%': id,
}) -%}
{%- else -%}
{%- set label = name|humanize -%}
{%- endif -%}
{%- endif -%}
{{ widget|raw }}
<label{% with { attr: label_attr } %}{{ block('attributes') }}{% endwith %}>
{{- label is not same as(false) ? (translation_domain is same as(false) ? label|raw : label|trans(label_translation_parameters, translation_domain))|raw -}}
{{- form_errors(form) -}}
</label>
{%- endif -%}
{%- endblock checkbox_radio_label %}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment