<?php
namespace App\Controller;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Entity\MailTemplates;
use App\Form\MailTemplateForm;
#[Route('/settings/mail-template')]
class MailTemplatesController extends AbstractController
{
#[Route('/', defaults: ['page' => '1'], methods: ['GET','POST'], name: 'mail_template_edit')]
#[Cache(smaxage: 10)]
public function mailTemplateUpdate(Request $request,int $page,EntityManagerInterface $entityManager): Response
{
$id = $request->query->get('id');
$mail_obj = array();
$placeholders = null;
if($id){
$mail_obj = $entityManager->getRepository(\App\Entity\MailTemplates::class)->findOneBy(array('id' => $id));
$placeholders = $mail_obj->getVars();
}else{
/* $mailTemplate = $entityManager->getRepository(\App\Entity\MailTemplates::class)->createQueryBuilder('u')->getQuery()->getOneOrNullResult(); */
$id = 1;
$mail_obj = $entityManager->getRepository(\App\Entity\MailTemplates::class)->findOneBy(array('id' => $id));
$placeholders = $mail_obj->getVars();
}
$form = $this->createForm(MailTemplateForm::class, $mail_obj);
$form->handleRequest($request);
//print_r($form);exit;
if ($request->isMethod('POST')) {
$subject = $form["subject"]->getData() ? $form["subject"]->getData() : NULL;
$body = $form["body"]->getData();
$enable = $form["enable"]->getData();
$mail_obj->setSubject($subject);
$mail_obj->setBody($body);
$mail_obj->setEnable($enable);
$entityManager->persist($mail_obj);
$entityManager->flush();
return $this->redirectToRoute('mail_template_edit', ['id' =>$id], Response::HTTP_SEE_OTHER);
}
return $this->renderForm('mail-template/index.html.twig', [
'form' => $form,
'id' => $id,
'placeholders' => $placeholders,
]);
}
}