<?php
namespace App\Flexy\FrontBundle\Controller;
use App\Flexy\FrontBundle\Entity\PubBanner;
use App\Flexy\FrontBundle\Repository\CategoryProductFrontRepository;
use App\Flexy\FrontBundle\Repository\MasterSliderRepository;
use App\Flexy\FrontBundle\Repository\PubBannerRepository;
use App\Flexy\ShopBundle\Repository\Product\ProductRepository;
use App\Flexy\FrontBundle\Repository\ProductFrontRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
class HomeController extends AbstractController
{
#[Route('/', name: 'multi_access')]
public function multiAccess(
ProductFrontRepository $productRepository,
MasterSliderRepository $masterSliderRepository,
PubBannerRepository $pubBannerRepository,
CategoryProductFrontRepository $categoryProductFrontRepository): Response
{
$deals = $productRepository->findDeals();
if($this->getUser() != null && $this->getUser()->getRoles()[0] == "ROLE_CUSTOMER"){
return $this->render('@Flexy\FrontBundle/templates/home/index.html.twig', [
'products' => $productRepository->findAll(),
'masterSliders'=> $masterSliderRepository->findBy(["isEnabled"=>true]),
'pubBanners'=> $pubBannerRepository->findBy(["isEnabled"=>true]),
'deals'=>$deals,
'categoriesProduct'=> $categoryProductFrontRepository->findBy(["parentCategory"=>null])
]);
}else{
return $this->render('@Flexy\FrontBundle/templates/home/multiAccess.html.twig');
}
}
#[Route('/marketplace', name: 'front_home')]
public function index(
ProductFrontRepository $productRepository,
MasterSliderRepository $masterSliderRepository,
PubBannerRepository $pubBannerRepository,
CategoryProductFrontRepository $categoryProductFrontRepository
): Response
{
$deals = $productRepository->findDeals();
return $this->render('@Flexy\FrontBundle/templates/home/index.html.twig', [
'products' => $productRepository->findAll(),
'masterSliders'=> $masterSliderRepository->findBy(["isEnabled"=>true]),
'pubBanners'=> $pubBannerRepository->findBy(["isEnabled"=>true]),
'deals'=>$deals,
'categoriesProduct'=> $categoryProductFrontRepository->findBy(["parentCategory"=>null])
]);
}
#[Route('/contact', name: 'contact')]
public function contact(Request $request,ProductRepository $productRepository,\Swift_Mailer $mailer,): Response
{
if ($request->isMethod('POST')) {
$name=$request->request->get("customerName");
$email=$request->request->get("customerEmail");
$subject=$request->request->get("contactSujet");
$contenu=$request->request->get("contactMessage");
$message = (new \Swift_Message("Page contact O'mall"))
->setFrom(['contact@omall.ma'=>"O'Mall"])
->setTo(['contact.info@o-mall.ma'=>"Page contact O'mall"])
->setBody(
$this->renderView(
'@Flexy/FrontBundle/templates/registration/mail_frommarketplace.html.twig',
[
"client"=>$name,
"Email"=>$email,
"subject"=>$subject,
"message"=>$contenu
]
),
'text/html'
);
$mailer->send($message);
if ($mailer->send($message))
{
$this->addFlash("success","Votre Email a été envoyer le service client omall va traité votre demande ");
}
}
return $this->render('@Flexy\FrontBundle/templates/home/contact.html.twig', [
'products' => $productRepository->findAll(),
]);
}
#[Route('/refund', name: 'refund_order')]
public function refund(ProductRepository $productRepository): Response
{
return $this->render('@Flexy\FrontBundle/templates/home/refundOrder.html.twig');
}
#[Route('/banner-block/{id}', name: 'pubBannerBlock')]
public function pubBannerBlock(PubBanner $pubBanner): Response
{
return $this->render('@Flexy\FrontBundle/templates/include-pubs/_singlePubBanner.html.twig', [
'singleBanner' => $pubBanner,
]);
}
}