<?php
namespace App\Controller\Uniqskills;
use App\Entity\Gos\PortalSettings;
use App\Entity\Gos\Uniqskills\PromoBox;
use App\Entity\Gos\Uniqskills\Cooperator;
use App\Entity\Gos\Uniqskills\Slider;
use App\Entity\Gos\Uniqskills\Testimonial;
use App\Utils\AddToCart;
use App\Utils\CouponUtils;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/{_locale}")
*/
class BaseController extends AbstractController
{
private $em;
private $addToCart;
private $couponUtils;
public function __construct(EntityManagerInterface $_em, AddToCart $addToCart, CouponUtils $_couponUtils)
{
$this->em = $_em;
$this->addToCart = $addToCart;
$this->couponUtils = $_couponUtils;
}
/**
* @Route("", name="fmUniqskillsHomePage")
*/
public function indexAction(Request $request)
{
$pSettingsId = $request->getSession()->get('domain');
$defaultLanguage = $this->em->getRepository(PortalSettings::class)->find($pSettingsId)->getFmCompanySettings()->getLanguage()->first()->getCode();
$locale = $request->getSession()->get('userLocale', $defaultLanguage);
$testimonials = $this->em->getRepository(Testimonial::class)->findAllByLanguageCode($locale, true)->getResult();
$cooperators = $this->em->getRepository(Cooperator::class)->findAllByLanguageCode($locale, true)->getResult();
$promoBoxes = $this->em->getRepository(PromoBox::class)->findAllByLanguageCode($locale, $pSettingsId);
$sliders = $this->em->getRepository(Slider::class)->findAllByLanguageCode($locale, $pSettingsId);
return $this->render('/uniqskills/base/home_page.html.twig', array(
'testimonials' => $testimonials,
'cooperators' => $cooperators,
'promoBoxes' => $promoBoxes,
'sliders' => $sliders
));
}
/**
* @Route("/voucher", name="fmUniqskillsRedeemVoucher")
*/
public function redeemVoucherAction(Request $request)
{
$locale = $request->getLocale();
if ($locale === 'en')
{
return $this->redirectToRoute('fmUniqskillsHomePage');
}
if ($request->getMethod() === 'POST')
{
$voucherCode = $request->request->get('voucher-code');
$isValid = $this->couponUtils->checkVoucherCoupon($voucherCode);
if ($isValid === true)
{
if ($this->addToCart->addVoucherToCart($voucherCode))
{
return $this->redirectToRoute('fmUniqskillsCartIndex');
}
}
$this->addFlash('danger', $isValid);
return $this->redirectToRoute('fmUniqskillsRedeemVoucher');
}
return $this->render('/uniqskills/base/voucherRedeem.html.twig');
}
/**
* @Route("/jak-korzystac", name="fmUniqskillsHowToUse")
*/
public function howToUseAction(Request $request)
{
$locale = $request->getLocale();
if ($locale != 'pl')
{
return $this->redirectToRoute('fmUniqskillsHomePage');
}
return $this->render('/uniqskills/base/howToUse.html.twig');
}
}