src/Controller/Uniqskills/BaseController.php line 89

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Uniqskills;
  3. use App\Entity\Gos\PortalSettings;
  4. use App\Entity\Gos\Uniqskills\PromoBox;
  5. use App\Entity\Gos\Uniqskills\Cooperator;
  6. use App\Entity\Gos\Uniqskills\Slider;
  7. use App\Entity\Gos\Uniqskills\Testimonial;
  8. use App\Utils\AddToCart;
  9. use App\Utils\CouponUtils;
  10. use Doctrine\ORM\EntityManagerInterface;
  11. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  12. use Symfony\Component\HttpFoundation\Request;
  13. use Symfony\Component\Routing\Annotation\Route;
  14. /**
  15.  * @Route("/{_locale}")
  16.  */
  17. class BaseController extends AbstractController
  18. {
  19.     private $em;
  20.     private $addToCart;
  21.     private $couponUtils;
  22.     public function __construct(EntityManagerInterface $_emAddToCart $addToCartCouponUtils $_couponUtils)
  23.     {
  24.         $this->em $_em;
  25.         $this->addToCart $addToCart;
  26.         $this->couponUtils $_couponUtils;
  27.     }
  28.     /**
  29.      * @Route("", name="fmUniqskillsHomePage")
  30.      */
  31.     public function indexAction(Request $request)
  32.     {
  33.         $pSettingsId     $request->getSession()->get('domain');
  34.         $defaultLanguage $this->em->getRepository(PortalSettings::class)->find($pSettingsId)->getFmCompanySettings()->getLanguage()->first()->getCode();
  35.         $locale          $request->getSession()->get('userLocale'$defaultLanguage);
  36.         $testimonials    $this->em->getRepository(Testimonial::class)->findAllByLanguageCode($localetrue)->getResult();
  37.         $cooperators     $this->em->getRepository(Cooperator::class)->findAllByLanguageCode($localetrue)->getResult();
  38.         $promoBoxes      $this->em->getRepository(PromoBox::class)->findAllByLanguageCode($locale$pSettingsId);
  39.         $sliders         $this->em->getRepository(Slider::class)->findAllByLanguageCode($locale$pSettingsId);
  40.         return $this->render('/uniqskills/base/home_page.html.twig', array(
  41.             'testimonials'  => $testimonials,
  42.             'cooperators'   => $cooperators,
  43.             'promoBoxes'    => $promoBoxes,
  44.             'sliders'       => $sliders
  45.         ));
  46.     }
  47.     /**
  48.      * @Route("/voucher", name="fmUniqskillsRedeemVoucher")
  49.      */
  50.     public function redeemVoucherAction(Request $request)
  51.     {
  52.         $locale $request->getLocale();
  53.         if ($locale === 'en')
  54.         {
  55.             return $this->redirectToRoute('fmUniqskillsHomePage');
  56.         }
  57.         if ($request->getMethod() === 'POST')
  58.         {
  59.             $voucherCode $request->request->get('voucher-code');
  60.             $isValid $this->couponUtils->checkVoucherCoupon($voucherCode);
  61.             if ($isValid === true)
  62.             {
  63.                 if ($this->addToCart->addVoucherToCart($voucherCode))
  64.                 {
  65.                     return $this->redirectToRoute('fmUniqskillsCartIndex');
  66.                 }
  67.             }
  68.             $this->addFlash('danger'$isValid);
  69.             return $this->redirectToRoute('fmUniqskillsRedeemVoucher');
  70.         }
  71.         return $this->render('/uniqskills/base/voucherRedeem.html.twig');
  72.     }
  73.     /**
  74.      * @Route("/jak-korzystac", name="fmUniqskillsHowToUse")
  75.      */
  76.     public function howToUseAction(Request $request)
  77.     {
  78.         $locale $request->getLocale();
  79.         if ($locale != 'pl')
  80.         {
  81.             return $this->redirectToRoute('fmUniqskillsHomePage');
  82.         }
  83.         return $this->render('/uniqskills/base/howToUse.html.twig');
  84.     }
  85. }