replace harcoded emails with settings

This commit is contained in:
Simon Vieille 2021-05-02 22:12:39 +02:00
parent 2670c322e6
commit 9efd9c9b74
3 changed files with 25 additions and 9 deletions

View file

@ -7,10 +7,11 @@ use App\Core\Notification\MailNotifier;
use App\Form\ContactType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use App\Core\Setting\SettingManager;
class ContactController extends PageController
{
public function contact(MailNotifier $notifier, Request $request): Response
public function contact(MailNotifier $notifier, Request $request, SettingManager $settingManager): Response
{
$form = $this->createForm(ContactType::class);
$showForm = true;
@ -23,8 +24,8 @@ class ContactController extends PageController
$data = $form->getData();
$notifier
->setFrom('subscription@deblan.fr')
->addRecipient('simon@deblan.fr')
->setFrom($settingManager->get('email_sender')->getValue())
->addRecipient($settingManager->get('email_contact')->getValue())
->setSubject('[Deblan] Nouveau message')
->setReplyTo($data['email'])
->notify('mail/contact.html.twig', [

View file

@ -8,6 +8,7 @@ use App\Core\EventSuscriber\EntityManagerEventSubscriber;
use App\Core\Notification\MailNotifier;
use App\Entity\Blog\Comment;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use App\Core\Setting\SettingManager;
/**
* class CommentEventSubscriber.
@ -18,11 +19,13 @@ class CommentEventSubscriber extends EntityManagerEventSubscriber
{
protected MailNotifier $notifier;
protected UrlGeneratorInterface $urlGenerator;
protected SettingManager $settingManager;
public function __construct(MailNotifier $notifier, UrlGeneratorInterface $urlGenerator)
public function __construct(MailNotifier $notifier, UrlGeneratorInterface $urlGenerator, SettingManager $settingManager)
{
$this->notifier = $notifier;
$this->urlGenerator = $urlGenerator;
$this->settingManager = $settingManager;
}
public function support(EntityInterface $entity)
@ -38,8 +41,8 @@ class CommentEventSubscriber extends EntityManagerEventSubscriber
$this->notifier
->init()
->setFrom('subscription@deblan.fr')
->addRecipient('simon@deblan.fr')
->setFrom($this->settingManager->get('email_sender')->getValue())
->addRecipient($this->settingManager->get('email_comment')->getValue())
->setSubject('[Deblan] Nouveau commentaire')
->notify('mail/comment.html.twig', [
'post' => $event->getEntity()->getPost(),

View file

@ -5,8 +5,7 @@ namespace App\EventSuscriber;
use App\Core\Event\Setting\SettingEvent;
use App\Core\EventSuscriber\SettingEventSubscriber as EventSubscriber;
use App\Core\Setting\SettingManager;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
/**
@ -27,6 +26,10 @@ class SettingEventSubscriber extends EventSubscriber
{
$this->manager->init('blog_footer_p1', 'Pied de page', 'Soutiens', '');
$this->manager->init('blog_footer_p2', 'Pied de page', 'Signature', '');
$this->manager->init('email_sender', 'E-mail', 'Expéditeur', '');
$this->manager->init('email_contact', 'E-mail', 'Destinataire formulaire de contact', '');
$this->manager->init('email_comment', 'E-mail', 'Destinataire nouveau commentaire', '');
}
public function onFormInit(SettingEvent $event)
@ -35,6 +38,16 @@ class SettingEventSubscriber extends EventSubscriber
$builder = $data['builder'];
$entity = $data['entity'];
if (in_array($entity->getCode(), ['email_sender', 'email_contact', 'email_comment'])) {
$builder->add(
'value',
EmailType::class,
[
'label' => $entity->getLabel(),
]
);
}
if ('blog_footer_p1' === $entity->getCode()) {
$builder->add(
'value',
@ -60,6 +73,5 @@ class SettingEventSubscriber extends EventSubscriber
]
);
}
}
}