Commit 9f571319 by Yvon

vitrine prestataire : display questionnaire as form in readonly mode using third…

vitrine prestataire : display questionnaire as form in readonly mode using third value to review option
parent 6921115c
...@@ -6,6 +6,9 @@ use App\Entity\Groupe; ...@@ -6,6 +6,9 @@ use App\Entity\Groupe;
use App\Entity\Prestataire; use App\Entity\Prestataire;
use App\Entity\Rubrique; use App\Entity\Rubrique;
use App\Entity\Flux; use App\Entity\Flux;
use App\Entity\SelfEvalPrestaQuiz;
use App\Form\Type\DistributorSelfEvalPrestaQuizType;
use App\Form\Type\ProducerSelfEvalPrestaQuizType;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
...@@ -39,8 +42,14 @@ class PrestatairesController extends FrontController ...@@ -39,8 +42,14 @@ class PrestatairesController extends FrontController
return new RedirectResponse($this->router->generate('index')); return new RedirectResponse($this->router->generate('index'));
} }
$quiz = $prestataire->getSelfEvalPrestaQuiz();
$formClass = Prestataire::DISTRIBUTOR === $prestataire->getMarketChannelFunction() ?
DistributorSelfEvalPrestaQuizType::class : ProducerSelfEvalPrestaQuizType::class;
$form = $this->createForm($formClass, $quiz, ["review" => "readonly"]);
return $this->render('@kohinos/presta/show.html.twig', [ return $this->render('@kohinos/presta/show.html.twig', [
'presta' => $prestataire, 'presta' => $prestataire,
'form' => $form->createView()
]); ]);
} }
......
...@@ -63,16 +63,18 @@ class SelfEvalPrestaQuizType extends AbstractType ...@@ -63,16 +63,18 @@ class SelfEvalPrestaQuizType extends AbstractType
'choices' => $this->stdChoices, 'choices' => $this->stdChoices,
'expanded' => true, 'expanded' => true,
"multiple" => false, "multiple" => false,
'constraints' => [new NotNull()] 'constraints' => [new NotNull()],
'disabled' => $options['review'] === "readonly"
]; ];
$this->opts = $this->reviewOpts; $this->opts = $this->reviewOpts;
$this->opts['disabled'] = $options['review']; $this->opts['disabled'] = $options['review'];
$this->reviewCmtOpts = [ $this->reviewCmtOpts = [
'attr' => [ 'attr' => [
'placeholder' => 'Commentaires' 'placeholder' => $options['review'] === "readonly" ? '' : 'Commentaires'
], ],
'label' => false, 'label' => false,
'required' => false 'required' => false,
'disabled' => $options['review'] === "readonly"
]; ];
$this->cmtOpts = $this->reviewCmtOpts; $this->cmtOpts = $this->reviewCmtOpts;
$this->cmtOpts['disabled'] = $options['review']; $this->cmtOpts['disabled'] = $options['review'];
...@@ -148,7 +150,9 @@ class SelfEvalPrestaQuizType extends AbstractType ...@@ -148,7 +150,9 @@ class SelfEvalPrestaQuizType extends AbstractType
$builder->add('review_bienetre_global_comment', TextareaType::class, $this->reviewCmtOpts); $builder->add('review_bienetre_global_comment', TextareaType::class, $this->reviewCmtOpts);
} }
$builder->add('save', SubmitType::class, ['label' => $options['review'] ? 'Enregistrer' : 'Envoyer']); if($options["review"] !== "readonly") {
$builder->add('save', SubmitType::class, ['label' => $options['review'] ? 'Enregistrer' : 'Envoyer']);
}
} }
/** /**
...@@ -158,7 +162,10 @@ class SelfEvalPrestaQuizType extends AbstractType ...@@ -158,7 +162,10 @@ class SelfEvalPrestaQuizType extends AbstractType
{ {
$resolver->setDefaults([ $resolver->setDefaults([
'data_class' => SelfEvalPrestaQuiz::class, 'data_class' => SelfEvalPrestaQuiz::class,
'review' => false //decide if prestataire is filling the form or if an admin is reviewing //review says if prestataire is filling the form (false),
//if an admin is reviewing (true)
//or if read mode on presta vitrine ("readonly")
'review' => false
]); ]);
} }
......
...@@ -77,12 +77,23 @@ ...@@ -77,12 +77,23 @@
{% endfor %} {% endfor %}
</ul> </ul>
{% endif %} {% endif %}
{% if app.user and presta_self_init_and_eval %}
{% set prestataire = presta %}
<div class="card-header"><h2>Questionnaire</h2></div>
<div class="card-body">
{% if presta.marketChannelFunction == 'distributor' %}
{% include '@kohinos/tav/distributor_selfeval_prestaquiz_core.html.twig' %}
{% else %}
{% include '@kohinos/tav/producer_selfeval_prestaquiz_core.html.twig' %}
{% endif %}
</div>
{% endif %}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
{% endblock %}
{% endblock %}
{% block contenat %} {% block contenat %}
<div class='container newslist mt-5'> <div class='container newslist mt-5'>
......
{% extends '@kohinos/common/layout.html.twig' %} {% extends '@kohinos/common/layout.html.twig' %}
{% block content %} {% block content %}
{# Form theme use is mandatory to insert non-text stuff (such as html, icons...) in the choice type choices label. #}
{% form_theme form '@kohinos/tav/prestaquiz_form_theme.html.twig' %}
{# Check if review mode to adapt title #} {# Check if review mode to adapt title #}
{% if form.review_transpar_global is defined %} {% if form.review_transpar_global is defined %}
<h1>Revue auto-évaluation distributeur {{ prestataire.raison }}</h1> <h1>Revue auto-évaluation distributeur {{ prestataire.raison }}</h1>
{% else %} {% else %}
<h1>Inscription point de vente (2/2) : auto-évaluation</h1> <h1>Inscription point de vente (2/2) : auto-évaluation</h1>
{% endif %} {% endif %}
{{ form_start(form) }}
{# includes twig common to distributors and producers #}
{% include '@kohinos/tav/selfeval_prestaquiz.html.twig' %}
<br/>
<br/>
<br/>
<h2><i class="fas fa-coins"></i> Transparence et juste rémunération</h2>
<div class="container">
<div class="row">
{{ form_label(form.transpar_jusrem) }}
<div class="col">{{ form_widget(form.transpar_jusrem) }}</div>
<div class="col">{{ form_row(form.transpar_jusrem_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.transpar_transp) }}
<div class="col">{{ form_widget(form.transpar_transp) }}</div>
<div class="col">{{ form_row(form.transpar_transp_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.transpar_relpro) }}
<div class="col">{{ form_widget(form.transpar_relpro) }}</div>
<div class="col">{{ form_row(form.transpar_relpro_comment) }}</div>
</div>
</div>
<div class="container global-evaluation-container">
<div class="row">
{{ form_label(form.transpar_global) }}
<div class="col">{{ form_widget(form.transpar_global) }}</div>
<div class="col">{{ form_row(form.transpar_global_comment) }}</div>
</div>
</div>
{% if form.review_transpar_global is defined %}
<br/>
<div class="container review-container">
<div class="row">
{{ form_label(form.review_transpar_global) }}
<div class="col">{{ form_widget(form.review_transpar_global) }}</div>
<div class="col">{{ form_row(form.review_transpar_global_comment) }}</div>
</div>
</div>
{% endif %}
<br/>
<br/> <br/>
<br/> <br/>
<h2><i class="fas fa-seedling"></i> Pratiques agricoles durables</h2> {% include '@kohinos/tav/distributor_selfeval_prestaquiz_core.html.twig' %}
<div class="container">
<div class="row">
{{ form_label(form.disagdur_labels) }}
<div class="col">{{ form_widget(form.disagdur_labels) }}</div>
<div class="col">{{ form_row(form.disagdur_labels_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.disagdur_condur) }}
<div class="col">{{ form_widget(form.disagdur_condur) }}</div>
<div class="col">{{ form_row(form.disagdur_condur_comment) }}</div>
</div>
</div>
<div class="container global-evaluation-container">
<div class="row">
{{ form_label(form.disagdur_global) }}
<div class="col">{{ form_widget(form.disagdur_global) }}</div>
<div class="col">{{ form_row(form.disagdur_global_comment) }}</div>
</div>
</div>
{% if form.review_disagdur_global is defined %}
<br/>
<div class="container review-container">
<div class="row">
{{ form_label(form.review_disagdur_global) }}
<div class="col">{{ form_widget(form.review_disagdur_global) }}</div>
<div class="col">{{ form_row(form.review_disagdur_global_comment) }}</div>
</div>
</div>
{% endif %}
<br/>
<br/>
<br/>
<h2><i class="fas fa-map-marker-alt"></i> Localité des produits</h2>
<div class="container">
<div class="row">
{{ form_label(form.localite_probru) }}
<div class="col">{{ form_widget(form.localite_probru) }}</div>
<div class="col">{{ form_row(form.localite_probru_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.localite_protra) }}
<div class="col">{{ form_widget(form.localite_protra) }}</div>
<div class="col">{{ form_row(form.localite_protra_comment) }}</div>
</div>
</div>
<div class="container global-evaluation-container">
<div class="row">
{{ form_label(form.localite_global) }}
<div class="col">{{ form_widget(form.localite_global) }}</div>
<div class="col">{{ form_row(form.localite_global_comment) }}</div>
</div>
</div>
{% if form.review_localite_global is defined %}
<br/>
<div class="container review-container">
<div class="row">
{{ form_label(form.review_localite_global) }}
<div class="col">{{ form_widget(form.review_localite_global) }}</div>
<div class="col">{{ form_row(form.review_localite_global_comment) }}</div>
</div>
</div>
{% endif %}
<br/>
<br/>
{{ form_end(form) }}
{% endblock %} {% endblock %}
\ No newline at end of file
{# Form theme use is mandatory to insert non-text stuff (such as html, icons...) in the choice type choices label. #}
{% form_theme form '@kohinos/tav/prestaquiz_form_theme.html.twig' %}
{{ form_start(form) }}
{# includes twig common to distributors and producers #}
{% include '@kohinos/tav/selfeval_prestaquiz.html.twig' %}
<br/>
<br/>
<br/>
<h2><i class="fas fa-coins"></i> Transparence et juste rémunération</h2>
<div class="container">
<div class="row">
{{ form_label(form.transpar_jusrem) }}
<div class="col">{{ form_widget(form.transpar_jusrem) }}</div>
<div class="col">{{ form_row(form.transpar_jusrem_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.transpar_transp) }}
<div class="col">{{ form_widget(form.transpar_transp) }}</div>
<div class="col">{{ form_row(form.transpar_transp_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.transpar_relpro) }}
<div class="col">{{ form_widget(form.transpar_relpro) }}</div>
<div class="col">{{ form_row(form.transpar_relpro_comment) }}</div>
</div>
</div>
<div class="container global-evaluation-container">
<div class="row">
{{ form_label(form.transpar_global) }}
<div class="col">{{ form_widget(form.transpar_global) }}</div>
<div class="col">{{ form_row(form.transpar_global_comment) }}</div>
</div>
</div>
{% if form.review_transpar_global is defined %}
<br/>
<div class="container review-container">
<div class="row">
{{ form_label(form.review_transpar_global) }}
<div class="col">{{ form_widget(form.review_transpar_global) }}</div>
<div class="col">{{ form_row(form.review_transpar_global_comment) }}</div>
</div>
</div>
{% endif %}
<br/>
<br/>
<br/>
<h2><i class="fas fa-seedling"></i> Pratiques agricoles durables</h2>
<div class="container">
<div class="row">
{{ form_label(form.disagdur_labels) }}
<div class="col">{{ form_widget(form.disagdur_labels) }}</div>
<div class="col">{{ form_row(form.disagdur_labels_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.disagdur_condur) }}
<div class="col">{{ form_widget(form.disagdur_condur) }}</div>
<div class="col">{{ form_row(form.disagdur_condur_comment) }}</div>
</div>
</div>
<div class="container global-evaluation-container">
<div class="row">
{{ form_label(form.disagdur_global) }}
<div class="col">{{ form_widget(form.disagdur_global) }}</div>
<div class="col">{{ form_row(form.disagdur_global_comment) }}</div>
</div>
</div>
{% if form.review_disagdur_global is defined %}
<br/>
<div class="container review-container">
<div class="row">
{{ form_label(form.review_disagdur_global) }}
<div class="col">{{ form_widget(form.review_disagdur_global) }}</div>
<div class="col">{{ form_row(form.review_disagdur_global_comment) }}</div>
</div>
</div>
{% endif %}
<br/>
<br/>
<br/>
<h2><i class="fas fa-map-marker-alt"></i> Localité des produits</h2>
<div class="container">
<div class="row">
{{ form_label(form.localite_probru) }}
<div class="col">{{ form_widget(form.localite_probru) }}</div>
<div class="col">{{ form_row(form.localite_probru_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.localite_protra) }}
<div class="col">{{ form_widget(form.localite_protra) }}</div>
<div class="col">{{ form_row(form.localite_protra_comment) }}</div>
</div>
</div>
<div class="container global-evaluation-container">
<div class="row">
{{ form_label(form.localite_global) }}
<div class="col">{{ form_widget(form.localite_global) }}</div>
<div class="col">{{ form_row(form.localite_global_comment) }}</div>
</div>
</div>
{% if form.review_localite_global is defined %}
<br/>
<div class="container review-container">
<div class="row">
{{ form_label(form.review_localite_global) }}
<div class="col">{{ form_widget(form.review_localite_global) }}</div>
<div class="col">{{ form_row(form.review_localite_global_comment) }}</div>
</div>
</div>
{% endif %}
<br/>
<br/>
{{ form_end(form) }}
\ No newline at end of file
{% extends '@kohinos/common/layout.html.twig' %} {% extends '@kohinos/common/layout.html.twig' %}
{% block content %} {% block content %}
{# Form theme use is mandatory to insert non-text stuff (such as html, icons...) in the choice type choices label. #}
{% form_theme form '@kohinos/tav/prestaquiz_form_theme.html.twig' %}
{# Check if review mode to adapt title #} {# Check if review mode to adapt title #}
{% if form.review_proagdur_global is defined %} {% if form.review_proagdur_global is defined %}
<h1>Revue auto-évaluation producteur {{ prestataire.raison }}</h1> <h1>Revue auto-évaluation producteur {{ prestataire.raison }}</h1>
{% else %} {% else %}
<h1>Inscription point de vente (2/2) : auto-évaluation</h1> <h1>Inscription point de vente (2/2) : auto-évaluation</h1>
{% endif %} {% endif %}
{{ form_start(form) }}
{# includes twig common to distributors and producers #}
{% include '@kohinos/tav/selfeval_prestaquiz.html.twig' %}
<br/>
<br/>
<br/>
<h2><i class="fas fa-seedling"></i> Pratiques agricoles durables</h2>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_labels) }}
<div class="col">{{ form_widget(form.proagdur_labels) }}</div>
<div class="col">{{ form_row(form.proagdur_labels_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_valbio) }}
<div class="col">{{ form_widget(form.proagdur_valbio) }}</div>
<div class="col">{{ form_row(form.proagdur_valbio_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_ecorec) }}
<div class="col">{{ form_widget(form.proagdur_ecorec) }}</div>
<div class="col">{{ form_row(form.proagdur_ecorec_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_pertes) }}
<div class="col">{{ form_widget(form.proagdur_pertes) }}</div>
<div class="col">{{ form_row(form.proagdur_pertes_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_climat) }}
<div class="col">{{ form_widget(form.proagdur_climat) }}</div>
<div class="col">{{ form_row(form.proagdur_climat_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_geneti) }}
<div class="col">{{ form_widget(form.proagdur_geneti) }}</div>
<div class="col">{{ form_row(form.proagdur_geneti_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_prosol) }}
<div class="col">{{ form_widget(form.proagdur_prosol) }}</div>
<div class="col">{{ form_row(form.proagdur_prosol_comment) }}</div>
</div>
</div>
<div class="container global-evaluation-container">
<div class="row">
{{ form_label(form.proagdur_global) }}
<div class="col">{{ form_widget(form.proagdur_global) }}</div>
<div class="col">{{ form_row(form.proagdur_global_comment) }}</div>
</div>
</div>
{% if form.review_proagdur_global is defined %}
<br/>
<div class="container review-container">
<div class="row">
{{ form_label(form.review_proagdur_global) }}
<div class="col">{{ form_widget(form.review_proagdur_global) }}</div>
<div class="col">{{ form_row(form.review_proagdur_global_comment) }}</div>
</div>
</div>
{% endif %}
<br/> <br/>
<br/> <br/>
{% include '@kohinos/tav/producer_selfeval_prestaquiz_core.html.twig' %}
{{ form_end(form) }}
{% endblock %} {% endblock %}
\ No newline at end of file
{# Form theme use is mandatory to insert non-text stuff (such as html, icons...) in the choice type choices label. #}
{% form_theme form '@kohinos/tav/prestaquiz_form_theme.html.twig' %}
{{ form_start(form) }}
{# includes twig common to distributors and producers #}
{% include '@kohinos/tav/selfeval_prestaquiz.html.twig' %}
<br/>
<br/>
<br/>
<h2><i class="fas fa-seedling"></i> Pratiques agricoles durables</h2>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_labels) }}
<div class="col">{{ form_widget(form.proagdur_labels) }}</div>
<div class="col">{{ form_row(form.proagdur_labels_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_valbio) }}
<div class="col">{{ form_widget(form.proagdur_valbio) }}</div>
<div class="col">{{ form_row(form.proagdur_valbio_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_ecorec) }}
<div class="col">{{ form_widget(form.proagdur_ecorec) }}</div>
<div class="col">{{ form_row(form.proagdur_ecorec_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_pertes) }}
<div class="col">{{ form_widget(form.proagdur_pertes) }}</div>
<div class="col">{{ form_row(form.proagdur_pertes_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_climat) }}
<div class="col">{{ form_widget(form.proagdur_climat) }}</div>
<div class="col">{{ form_row(form.proagdur_climat_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_geneti) }}
<div class="col">{{ form_widget(form.proagdur_geneti) }}</div>
<div class="col">{{ form_row(form.proagdur_geneti_comment) }}</div>
</div>
</div>
<div class="container">
<div class="row">
{{ form_label(form.proagdur_prosol) }}
<div class="col">{{ form_widget(form.proagdur_prosol) }}</div>
<div class="col">{{ form_row(form.proagdur_prosol_comment) }}</div>
</div>
</div>
<div class="container global-evaluation-container">
<div class="row">
{{ form_label(form.proagdur_global) }}
<div class="col">{{ form_widget(form.proagdur_global) }}</div>
<div class="col">{{ form_row(form.proagdur_global_comment) }}</div>
</div>
</div>
{% if form.review_proagdur_global is defined %}
<br/>
<div class="container review-container">
<div class="row">
{{ form_label(form.review_proagdur_global) }}
<div class="col">{{ form_widget(form.review_proagdur_global) }}</div>
<div class="col">{{ form_row(form.review_proagdur_global_comment) }}</div>
</div>
</div>
{% endif %}
<br/>
<br/>
{{ form_end(form) }}
\ No newline at end of file
{# View for prestataire questionnaire sections that are common to distributors and producers #} {# View for prestataire questionnaire sections that are common to distributors and producers #}
<br/>
<br/>
<h2><i class="fas fa-universal-access"></i> Accessibilité et Inclusivité</h2> <h2><i class="fas fa-universal-access"></i> Accessibilité et Inclusivité</h2>
<div class="container"> <div class="container">
......
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