Project 'cooperatic/kohinos-tav' was moved to 'agplv3/kohinos-tav'. Please update any links and bookmarks that may still have the old path.
Commit e7ac1e34 by Damien Moulard

Merge branch '5680-permettre-contact-initial-par-candidat-pdv' into 'develop'

5680 permettre contact initial par candidat pdv

See merge request cooperatic/kohinos-tav!50
parents c72c87a9 004c3d7e
......@@ -46,6 +46,7 @@ PAYZEN_DEBUG=false
### TAV ###
TAV_ENV=0
PRESTA_SELF_INIT_AND_EVAL=0
EMAIL_ERROR=technique@kohinos.net
EMAIL_USER_FROM=noreply@kohinos.fr
......
......@@ -50,9 +50,10 @@ Copier le fichier .env.dist en .env et configurer :
On ajoute à DATABASE_URL : => ?serverVersion=10.3.31-MariaDB
- APP_ENV=dev et APP_DEBUG=1
- l'envoi de mail (MAILER_URL)
- l'envoi de mail (MAILER_URL (penser à saisir MLC_NOTIF_EMAIL compatible avec le MAILER utilisé))
- la variable APP_SECRET (variable secrète que vous pouvez générer à partir de cette url : http://nux.net/secret
- s'il s'agit d'une instance TAV, mettre la variable TAV_ENV à 1 (sinon la laisser à zéro)
- en environnement TAV, pour activer le parcours d'inscription autonomisé qui intègre la réponse à une questionnaire d'auto-évaluation pour les points de vente, passer PRESTA_SELF_INIT_AND_EVAL à 1
Si vous utilisez Payzen comme moyen de paiement par CB :
......
......@@ -11,4 +11,5 @@ twig:
'%kernel.project_dir%/templates/themes/custom': kohinos
'%kernel.project_dir%/templates/themes/kohinos': kohinos
globals:
tav_env: '%env(TAV_ENV)%'
\ No newline at end of file
tav_env: '%env(TAV_ENV)%'
presta_self_init_and_eval: '%env(PRESTA_SELF_INIT_AND_EVAL)%'
\ No newline at end of file
......@@ -13,6 +13,7 @@ parameters:
sonata.media.admin.media.class: 'App\Admin\MediaAdmin'
sonata.media.admin.gallery.class: 'App\Admin\GalleryAdmin'
tav_env: '%env(TAV_ENV)%'
presta_self_init_and_eval: '%env(PRESTA_SELF_INIT_AND_EVAL)%'
# PARAMETRES DES IMPORTS POSSIBLE POUR L'APPLICATION DE GESTION DE MONNAIE LOCALE COMPLEMENTAIRE
app.import.separator: ';'
......
......@@ -36,8 +36,17 @@ class ContactController extends AbstractController
$name = $form['nom']->getData();
$emailFrom = $form['email']->getData();
$message = $form['message']->getData();
$senderTypeAsSubjectSuffix = '';
switch ($form['type']) {
case 'prestataire_candidate':
$senderTypeAsSubjectSuffix = " d'un point de vente candidat";
break;
case 'adherent':
$senderTypeAsSubjectSuffix = " d'un adhérent";
break;
}
$this->sendMail($name, $emailFrom, $message);
$this->sendMail($name, $emailFrom, $message, $senderTypeAsSubjectSuffix);
$this->addFlash(
'success',
......@@ -56,11 +65,11 @@ class ContactController extends AbstractController
]);
}
private function sendMail($name, $from, $message)
private function sendMail($name, $from, $message, $senderTypeAsSubjectSuffix = '')
{
$subject = $this->em->getRepository(GlobalParameter::class)->val(GlobalParameter::MLC_NAME_SMALL) . ' : Contact';
$subject = $this->em->getRepository(GlobalParameter::class)->val(GlobalParameter::MLC_NAME_SMALL) . ' : Contact' . $senderTypeAsSubjectSuffix;
$mail = (new \Swift_Message($subject))
->setFrom($from)
->setFrom($this->em->getRepository(GlobalParameter::class)->val(GlobalParameter::MLC_NOTIF_EMAIL)) //using $from here sometimes fails with 550 5.7.1 Sender mismatch
->setTo($this->em->getRepository(GlobalParameter::class)->val(GlobalParameter::MLC_CONTACT_EMAIL))
->setBody(
$this->templating->render(
......
......@@ -3,7 +3,9 @@
namespace App\Form\Type;
use Gregwar\CaptchaBundle\Type\CaptchaType;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
......@@ -12,6 +14,14 @@ use Symfony\Component\Form\FormBuilderInterface;
class ContactFormType extends AbstractType
{
protected $container;
public function __construct(
ContainerInterface $container
) {
$this->container = $container;
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
......@@ -30,6 +40,18 @@ class ContactFormType extends AbstractType
->add('captcha', CaptchaType::class)
->add('save', SubmitType::class, ['label' => 'Envoyer'])
;
if ($this->container->getParameter('tav_env') && $this->container->getParameter('presta_self_init_and_eval')) {
$builder
->add('type', ChoiceType::class, [
'choices' => [
'Point de vente candidat' => 'prestataire_candidate',
'Adhérent' => 'adherent',
'Autre' => 'other',
],
'label' => 'Vous êtes :',
'required' => true,
]);
}
}
public function getBlockPrefix()
......
......@@ -69,6 +69,13 @@
<div class='d-none d-md-block'>
{% if tav_env == 1 %}
{% include '@kohinos/presta/block/carte.html.twig' with {'title': 'Situer les points de vente'|trans}%}
{% if presta_self_init_and_eval and not is_granted('ROLE_ADHERENT') %}
<p>Vous êtes un point de vente et vous souhaitez rejoindre le projet ?
<a href='{{ path('contact') }}' style="text-decoration: none;">
<i class="fas fa-envelope"></i> Contactez-nous
</a>
</p>
{% endif %}
{% else %}
{% include '@kohinos/presta/block/carte.html.twig' with {'title': 'Situer les Prestataires'|trans}%}
{% endif %}
......
......@@ -34,6 +34,7 @@
<div class="card-body">
<div class="mx-auto text-center" style="max-width:400px;">
{{form_start(form)}}
{% if form.type is defined %}{{ form_row(form.type) }}{% endif %}
{{ form_row(form.nom) }}
{{ form_row(form.email) }}
{{ form_row(form.message) }}
......
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