<?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\SmsTemplates;
use App\Form\SmsTemplateForm;
#[Route('/settings/sms-template')]
class SmsTemplatesController extends AbstractController
{
#[Route('/', defaults: ['page' => '1'], methods: ['GET','POST'], name: 'sms_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\SmsTemplates::class)->findOneBy(array('id' => $id));
$placeholders = $mail_obj->getPlaceholder();
}else{
$id = 1;
$mail_obj = $entityManager->getRepository(\App\Entity\SmsTemplates::class)->findOneBy(array('id' => $id));
$placeholders = $mail_obj->getPlaceholder();
}
$form = $this->createForm(SmsTemplateForm::class, $mail_obj);
$form->handleRequest($request);
if ($request->isMethod('POST')) {
$body = $form["body"]->getData();
$enable = $form["enable"]->getData();
$mail_obj->setBody($body);
$mail_obj->setEnable($enable);
$entityManager->persist($mail_obj);
$entityManager->flush();
return $this->redirectToRoute('sms_template_edit', ['id' =>$id], Response::HTTP_SEE_OTHER);
}
return $this->renderForm('sms-template/index.html.twig', [
'form' => $form,
'id' => $id,
'placeholders' => $placeholders,
]);
}
}