src/Controller/MailTemplatesController.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Doctrine\ORM\EntityManagerInterface;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. use App\Entity\MailTemplates;
  9. use App\Form\MailTemplateForm;
  10. #[Route('/settings/mail-template')]
  11. class MailTemplatesController extends AbstractController
  12. {
  13.     #[Route('/'defaults: ['page' => '1'], methods: ['GET','POST'], name'mail_template_edit')]
  14.     #[Cache(smaxage10)]
  15.     public function mailTemplateUpdate(Request $request,int $page,EntityManagerInterface $entityManager): Response
  16.     {
  17.         $id $request->query->get('id');
  18.         $mail_obj = array();
  19.         $placeholders null;
  20.         if($id){
  21.             $mail_obj $entityManager->getRepository(\App\Entity\MailTemplates::class)->findOneBy(array('id' => $id));
  22.             $placeholders $mail_obj->getVars();
  23.         }else{
  24.             /* $mailTemplate = $entityManager->getRepository(\App\Entity\MailTemplates::class)->createQueryBuilder('u')->getQuery()->getOneOrNullResult(); */
  25.             $id 1;
  26.             $mail_obj $entityManager->getRepository(\App\Entity\MailTemplates::class)->findOneBy(array('id' => $id));
  27.             $placeholders $mail_obj->getVars();
  28.         }
  29.         
  30.         $form $this->createForm(MailTemplateForm::class, $mail_obj);
  31.         $form->handleRequest($request);
  32.         //print_r($form);exit;
  33.         if ($request->isMethod('POST')) {
  34.            
  35.             $subject $form["subject"]->getData() ? $form["subject"]->getData() : NULL;
  36.             $body $form["body"]->getData();
  37.             $enable $form["enable"]->getData();
  38.             
  39.             
  40.             $mail_obj->setSubject($subject);
  41.             $mail_obj->setBody($body);
  42.             $mail_obj->setEnable($enable);
  43.             $entityManager->persist($mail_obj);
  44.             $entityManager->flush();
  45.             return $this->redirectToRoute('mail_template_edit', ['id' =>$id], Response::HTTP_SEE_OTHER);
  46.         }
  47.     
  48.         return $this->renderForm('mail-template/index.html.twig', [
  49.             'form' => $form,
  50.             'id' => $id,
  51.             'placeholders' => $placeholders,
  52.         ]);
  53.     }
  54. }