<?php
// src/Controller/LuckyController.php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Doctrine\ORM\Query\Expr\Join;
use App\Entity\CmsPage;
use App\Entity\ProduitThalasso;
use App\Service\FrontService;
use App\Controller\BookingApiController;
use Symfony\Contracts\Translation\TranslatorInterface;
use App\Entity\CmsPageBlockComposantTrans\Translation as composantTranslation;
use App\Entity\CmsPageBlockComposantItemsTrans\Translation as itemTranslation;
use App\Entity\SubItemTrans\Translation as subItemTranslation;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
// use Knp\Bundle\SnappyBundle\Snappy\Response\PdfResponse;
// use Knp\Snappy\Pdf;
class FrontController extends AbstractController
{
private $frontService;
private $apiController;
private $session;
private $em;
public function __construct(FrontService $frontService, SessionInterface $session,BookingApiController $apiController,EntityManagerInterface $em)
{
$this->frontService = $frontService;
$this->apiController = $apiController;
$this->session = $session;
$this->em = $em;
}
/**
* @Route("/{_locale}/recherche", defaults={"_locale": "fr"}, name="render_mlc_recherche")
* @Route("/{_locale}/search", defaults={"_locale": "en"}, name="render_mlc_recherche_en")
*
*/
public function pageSearch($_locale, Request $request, EntityManagerInterface $em)
{
if($request->get('lang')){
$request->setLocale($request->get('lang'));
}
if(!$_locale){
$_locale = "fr";
}
$params = [];
if(!empty($_POST)){
$params = $_POST;
$params['pageSize'] = 10;
$params['page'] = 1;
// dump($_POST);exit;
}
//var_dump($params); die;
if($_locale == "en")
$this->session->set('slang', $_locale );
else
$this->session->set('slang', "fr" );
# begin pages versions
#fr
$page_versions[] = array(
// $this->generateUrl('render_mlc_recherche',["_locale"=>"fr"]),
"to" => ($_locale == 'fr') ? '#' : $this->frontService->getHome("fr")["to"],
"value" => "fr",
"active" => ($_locale == "fr") ? true : false
);
#en
$page_versions[] = array(
"to" => ($_locale == 'en') ? '#' : $this->frontService->getHome("en")["to"],
"value" => "en",
"active" => ($_locale == "en") ? true : false
);
# begin pages versions
# get data from API
# call api method (data getter)
$res = $this->forward('App\Controller\BookingApiController::getSearchResult', ['searchParams' => $params, 'lang' => $_locale]);
$search_result = json_decode($res->getContent(), true);
// dump($search_result);exit;
# store search_params in session
$this->session->set('search_params', $search_result['params']);
# watch if post data has sent some data
#
if($search_result['status'] == 501){
echo '<pre>';var_dump($search_result, $params); echo '</pre>----------';exit;
}elseif($search_result['status'] == 404){
$search_result['response']['results'] = [];
}
elseif($search_result['status'] != 200){
$search_result['response']['results'] = [];
}
return $this->render('pages/akaru/search.html.twig', ['search_result'=>$search_result['response'], 'selected_params' => $params, 'lang' => $_locale,"page_versions"=>$page_versions]);
}
/**
* @Route("/{_locale}/reservations-gift", defaults={"_locale": "fr"}, name="render_mlc_gift")
*
*/
public function reservationsGift($_locale, Request $request, EntityManagerInterface $em)
{
# begin pages versions
#fr
$page_versions[] = array(
"to" => "/fr",
"value" => "fr",
"active" => ($_locale == "fr") ? true : false
);
#en
$page_versions[] = array(
"to" => "/en",
"value" => "en",
"active" => ($_locale == "en") ? true : false
);
# end pages versions
//get NRR parameter
$pourcentage_nrr=0;
$this->session->set('nrr_toapply', $pourcentage_nrr);
$min_cheque_cadeau=0;
$max_cheque_cadeau=10000;
$val_min_cheque_cadeau= $em->getRepository("App\Entity\Parametrage")->findOneByCode("min_cheque_cadeau");
$val_max_cheque_cadeau= $em->getRepository("App\Entity\Parametrage")->findOneByCode("max_cheque_cadeau");
if($val_min_cheque_cadeau && $val_min_cheque_cadeau->getvarValue() ) $min_cheque_cadeau= (int)$val_min_cheque_cadeau->getvarValue();
if($val_max_cheque_cadeau && $val_max_cheque_cadeau->getvarValue() ) $max_cheque_cadeau= (int)$val_max_cheque_cadeau->getvarValue();
return $this->render('pages/akaru/reservations/gift.html.twig', ["min_cheque_cadeau"=>$min_cheque_cadeau,"max_cheque_cadeau"=>$max_cheque_cadeau,"page_versions"=>$page_versions]);
}
/**
* @Route("/{_locale}/reservations", defaults={"_locale": "fr"}, name="render_mlc_reservation")
*
*/
public function reservations($_locale, Request $request, EntityManagerInterface $em)
{
$request->setLocale($_locale);
# begin pages versions
#fr
$page_versions[] = array(
"to" => "/fr",
"value" => "fr",
"active" => ($_locale == "fr") ? true : false
);
#en
$page_versions[] = array(
"to" => "/en",
"value" => "en",
"active" => ($_locale == "en") ? true : false
);
# end pages versions
//get NRR parameter
$pourcentage_nrr=0;
$this->session->set('nrr_toapply', $pourcentage_nrr);
/*echo "<pre>";
var_dump($_POST);
echo "</pre>";
die;*/
//case thalasso produit fiche *******************************************************
//unset if case hotel search engine
if(!empty($_POST) && isset($_POST['rooms-num'])){
$this->session->remove('selected_thalasso');
$this->session->remove('selected_room');
unset($selected_thalasso);
unset($selected_room);
}
//get posted data
$selected_thalasso=$this->session->get('selected_thalasso');
$selected_room=$this->session->get('selected_room');
/*echo "<pre>";
var_dump($selected_thalasso);
echo "</pre>";
die;*/
if( isset($selected_thalasso) && $selected_thalasso["id"]!="")
{
$search_params=$this->session->get('search_params');
/*echo "<pre>";
var_dump($search_params);
echo "</pre>"; */
$params = [];
$params['room_num'] = 1;
$params['room_id'] = 51; //static 51 passerelle
$params['total_adults']=1;
$params['total_children']=0;
$search_params['duration']=(int)$selected_thalasso["duration"]-1;
$search_params['nbr_duration']=(int)$selected_thalasso["duration"]-1;
if($selected_thalasso["accomodation"]=="true")$search_params['type_bar']=3; else $search_params['type_bar']=4;
$search_params['adults'] = 1;
$search_params['children'] = 0;
$search_params['date_start'] = $selected_thalasso["departure"];
$search_params['date_end'] = $selected_thalasso["arrival"];
//reset search_params
$this->session->set('search_params', $search_params);
/*echo "<pre>";
var_dump($search_params);
echo "</pre>";
die;*/
$this->session->set('selected_search', $params);
//verif session and redirect to homepage if lost
if($this->verifRedirectSession())
return $this->verifRedirectSession();
if($search_params['type_bar'] == 4)
{
if(array_key_exists("soin", $selected_thalasso) && $selected_thalasso["soin"]=="true")
{
//apply NRR
$parm_pourcentage_nrr= $em->getRepository("App\Entity\Parametrage")->findOneByCode("nrr_soins");
if($parm_pourcentage_nrr && $parm_pourcentage_nrr->getvarValue() && $this->verifProductNrr($selected_thalasso["id"]) )
{
$pourcentage_nrr=$parm_pourcentage_nrr->getvarValue();
$this->session->set('nrr_toapply', $pourcentage_nrr);
}
return $this->render('pages/akaru/reservations/care.html.twig', ['_locale' => $_locale,"page_versions"=>$page_versions]);
}
else {
//apply NRR
$parm_pourcentage_nrr= $em->getRepository("App\Entity\Parametrage")->findOneByCode("nrr_thalasso_sans_hebergement");
if($parm_pourcentage_nrr && $parm_pourcentage_nrr->getvarValue() && $this->verifProductNrr($selected_thalasso["id"]))
{
$pourcentage_nrr=$parm_pourcentage_nrr->getvarValue();
$this->session->set('nrr_toapply', $pourcentage_nrr);
}
return $this->render('pages/akaru/reservations/cure.html.twig', ['_locale' => $_locale,"page_versions"=>$page_versions]);
}
}
if($search_params['type_bar'] == 3) {
//apply NRR
$parm_pourcentage_nrr= $em->getRepository("App\Entity\Parametrage")->findOneByCode("nrr_thalasso_avec_hebergement");
if($parm_pourcentage_nrr && $parm_pourcentage_nrr->getvarValue() && $this->verifProductNrr($selected_thalasso["id"]))
{
$pourcentage_nrr=$parm_pourcentage_nrr->getvarValue();
$this->session->set('nrr_toapply', $pourcentage_nrr);
}
return $this->render('pages/akaru/reservations/index.html.twig', ['_locale' => $_locale,"page_versions"=>$page_versions]);
}
}
//case chambre fiche *******************************************************
if( isset($selected_room) && $selected_room["id"]!="")
{
$search_params=$this->session->get('search_params');
/*echo "<pre>";
var_dump($selected_room);
echo "</pre>"; die;*/
$params = [];
$params['room_num'] = 1;
$params['room_id'] = $selected_room["id"];
$params['total_adults']=1;
$params['total_children']=0;
$params['board']=[1]; //set board default
$search_params['duration']=(int)$selected_room["duration"]-1;
$search_params['nbr_duration']=(int)$selected_room["duration"]-1;
$search_params['type_bar']=2;
$search_params['adults'] = 1;
$search_params['children'] = 0;
$search_params['date_start'] = $selected_room["departure"];
$search_params['date_end'] = $selected_room["arrival"];
//reset search_params
$this->session->set('search_params', $search_params);
/*echo "<pre>";
var_dump($search_params);
echo "</pre>";
die; */
$this->session->set('selected_search', $params);
//apply NRR
$parm_pourcentage_nrr= $em->getRepository("App\Entity\Parametrage")->findOneByCode("nrr_hotel");
if($parm_pourcentage_nrr && $parm_pourcentage_nrr->getvarValue() )
{
$pourcentage_nrr=$parm_pourcentage_nrr->getvarValue();
$this->session->set('nrr_toapply', $pourcentage_nrr);
}
return $this->render('pages/akaru/reservations/room.html.twig', ['_locale' => $_locale,"page_versions"=>$page_versions]);
}
//case hotel seul residence *******************************************************
// dump($_POST);exit;
$params = [];
if(!empty($_POST)){
$params['room_num'] = intval($_POST['rooms-num']);
$params['room_id'] = $_POST['room_id'];
# remove rooms number from post
unset($_POST['rooms-num']);
unset($_POST['room_id']);
# store selected values in session as selected reservationvalues
foreach ($_POST as $identifier => $value) {
$room_data = explode("-", $identifier);
# end if number chambres is reached
if(intval($room_data[1]) > $params['room_num']){
break;
}
# store (adults, children, board) values
$params[$room_data[2]][] = $value;
#
}
#
$params['total_adults'] = 1;
$params['total_children'] = 0;
/*if(isset($params['adults'])){
$params['total_adults'] = array_sum($params['adults']);
}
if(isset($params['children'])){
$params['total_children'] = array_sum($params['children']);
}*/
# store search_params in session
$this->session->set('selected_search', $params);
/*echo '<pre>';var_dump($_POST); echo '</pre>----------';
die;*/
#
}else{
# redirect to search if there was no process fallowed
return $this->redirect($this->generateUrl('render_mlc_recherche'));
#
}
# get data from API
// $res = $this->apiController->getSearchResult($lang, $params);
// $search_result = json_decode($res->getContent(), true);
// dump($search_result);exit;
#
if($this->session->get('search_params')['type_bar'] == $this->getParameter('hotel_seul_id')) {
//apply NRR
$parm_pourcentage_nrr= $em->getRepository("App\Entity\Parametrage")->findOneByCode("nrr_hotel");
if($parm_pourcentage_nrr && $parm_pourcentage_nrr->getvarValue() )
{
$pourcentage_nrr=$parm_pourcentage_nrr->getvarValue();
$this->session->set('nrr_toapply', $pourcentage_nrr);
}
return $this->render('pages/akaru/reservations/room.html.twig', ['_locale' => $_locale,"page_versions"=>$page_versions]);
}else
{
//apply NRR
$parm_pourcentage_nrr= $em->getRepository("App\Entity\Parametrage")->findOneByCode("nrr_thalasso_avec_hebergement");
if($parm_pourcentage_nrr && $parm_pourcentage_nrr->getvarValue() )
{
$pourcentage_nrr=$parm_pourcentage_nrr->getvarValue();
$this->session->set('nrr_toapply', $pourcentage_nrr);
}
return $this->render('pages/akaru/reservations/index.html.twig', ['_locale' => $_locale,"page_versions"=>$page_versions]);
}
}
/**
* @Route("/addFormRecord/{formulaire_id}/{_locale}/{page}", name="add_form_record", requirements={ "_locale": "en|fr|de", }, methods="POST")
*
*/
public function addFormRecord(Request $request, $formulaire_id, $_locale, $page, TranslatorInterface $translator)
{
if($this->frontService->addFormRecord($request, $formulaire_id, $_locale, $page)){
$this->addFlash('success', $translator->trans('form_success_message'));
return $this->redirect($request->server->get('HTTP_REFERER') . '#fm');
}
else{
$this->addFlash('error', $translator->trans('form_error_message'));
return $this->redirect($request->server->get('HTTP_REFERER') . '#fm');
}
}
/**
* @Route("/addSubscriberToNewsLetter/{_locale}", name="add_subscriber_to_newsletter", requirements={ "_locale": "en|fr|de"}, methods="POST")
*
*/
public function addSubscriberToNewsLetter(Request $request, $_locale, TranslatorInterface $translator)
{
$mode_residence = $this->frontService->getResidenceMode();
$ancre = '#nl';
if($request->request->get('email')){
$email = $request->request->get('email');
$recaptcha = $request->request->get('g-recaptcha-response');
$result = $this->frontService->addSubscriberToNewsLetter($email, $_locale, $recaptcha);
if($result == 0){
$this->addFlash('nl_success', $translator->trans('form_success_message'));
return $this->redirect($request->server->get('HTTP_REFERER') . $ancre);
}
else if ($result == 1){
$this->addFlash('nl_error', $translator->trans('form_error_message'));
return $this->redirect($request->server->get('HTTP_REFERER') . $ancre);
}
else if ($result == 2){
$this->addFlash('nl_error', $translator->trans('used_email_error_message'));
return $this->redirect($request->server->get('HTTP_REFERER') . $ancre);
}
}else{
$this->addFlash('nl_error', $translator->trans('form_error_message'));
return $this->redirect($request->server->get('HTTP_REFERER') . $ancre);
}
}
/**
* @Route("/addFooterFormRecord/{formulaire_id}/{_locale}", name="add_footer_form_record", requirements={ "_locale": "en|fr|de", })
*
*/
public function addFooterFormRecord(Request $request, $formulaire_id, $_locale, TranslatorInterface $translator)
{
if($this->frontService->addFormRecord($request, $formulaire_id, $_locale)){
$this->addFlash('footer_success', $translator->trans('form_success_message'));
return $this->redirect($request->server->get('HTTP_REFERER') . '#ffm');
}
else{
$this->addFlash('footer_error', $translator->trans('form_error_message'));
return $this->redirect($request->server->get('HTTP_REFERER') . '#ffm');
}
}
// /**
// * @Route("/composant_trans", name="composant_trans")
// *
// */
// public function composant_trans(EntityManagerInterface $em){
// $composants = $em->getRepository("App\Entity\CmsPageBlockComposant")->findAll();
// $items = $em->getRepository("App\Entity\CmsPageBlockComposantItems")->findAll();
// $sub_items = $em->getRepository("App\Entity\SubItem")->findAll();
// foreach($composants as $composant){
// if($composant->getMasquer() == 1){
// $trans = new composantTranslation();
// $trans->setObject($composant);
// $trans->setLocale('fr');
// $trans->setField('masquer');
// $trans->setContent($composant->getMasquer());
// $em->persist($trans);
// $trans = new composantTranslation();
// $trans->setObject($composant);
// $trans->setLocale('en');
// $trans->setField('masquer');
// $trans->setContent($composant->getMasquer());
// $em->persist($trans);
// $em->flush();
// }
// }
// foreach($items as $item){
// if($item->getMasquer() == 1){
// $trans_item = new itemTranslation();
// $trans_item->setObject($item);
// $trans_item->setLocale('fr');
// $trans_item->setField('masquer');
// $trans_item->setContent($item->getMasquer());
// $em->persist($trans_item);
// $trans_item = new itemTranslation();
// $trans_item->setObject($item);
// $trans_item->setLocale('en');
// $trans_item->setField('masquer');
// $trans_item->setContent($item->getMasquer());
// $em->persist($trans_item);
// $em->flush();
// }
// }
// foreach($sub_items as $sub_item){
// if($sub_item->getMasquer() == 1){
// $sub_item_trans = new subItemTranslation();
// $sub_item_trans->setObject($sub_item);
// $sub_item_trans->setLocale('fr');
// $sub_item_trans->setField('masquer');
// $sub_item_trans->setContent($sub_item->getMasquer());
// $em->persist($sub_item_trans);
// $sub_item_trans = new subItemTranslation();
// $sub_item_trans->setObject($sub_item);
// $sub_item_trans->setLocale('en');
// $sub_item_trans->setField('masquer');
// $sub_item_trans->setContent($sub_item->getMasquer());
// $em->persist($sub_item_trans);
// $em->flush();
// }
// }
// return new Response("done");
// }
/**
*@Route("/{_locale}/sitemap", name="render_sitemap", host="{hostname}", requirements={"_locale": "en|fr|de", "hostname"="miramar.test|residence-mlc.miramar.test|residence-lacigale.com|miramar-lacigale.com|mlc.local|mlc.digitz.dev|residence-mlc.mlc.local|residence-mlc.digitz.dev"})
*/
public function sitemap($_locale = null, Request $request, EntityManagerInterface $em)
{
$sitemap = $this->frontService->getSitemap($_locale);
return $this->render('pages/akaru/sitemap.html.twig', array('sitemap' => $sitemap, 'locale' => $_locale));
}
/**
************************************************************ HOTEL **************************************************************
* @Route("/{_locale}/{slug}", name="render_mlc_pages", defaults={"_locale": "fr","host":"miramar.test"}, host="{hostname}", requirements={"_locale": "en|fr|de","hostname"="miramar.test|miramar-lacigale.com|mlc.local|mlc.digitz.dev"})
* @Route("/{_locale}", name="default_hotel_page", host="{hostname}", defaults={"slug" = "miramar-la-cigale"}, requirements={"_locale": "fr|en", "hostname"="miramar.test|miramar-lacigale.com|mlc.local|mlc.digitz.dev"})
********************************************************** RESIDENCE *************************************************************
* @Route("/{_locale}", name="default_residence_page_fr", host="{hostname}", defaults={"slug" = "residence-miramar-la-cigale-arzon","hostname"="residence-mlc.miramar.test"}, requirements={"_locale"= "fr", "hostname"="residence-mlc.miramar.test|residence-lacigale.com|residence-mlc.mlc.local|residence-mlc.digitz.dev"})
* @Route("/{_locale}", name="default_residence_page_en", host="{hostname}", defaults={"slug" = "residence","hostname"="residence-mlc.miramar.test"}, requirements={"_locale"= "en", "hostname"="residence-mlc.miramar.test|residence-lacigale.com|residence-mlc.mlc.local|residence-mlc.digitz.dev"})
* @Route("/{_locale}/{slug}", name="render_residence_pages", host="{hostname}", defaults={"hostname"="residence-mlc.miramar.test"}, requirements={"_locale": "en|fr", "hostname"="residence-mlc.miramar.test|residence-lacigale.com|residence-mlc.mlc.local|residence-mlc.digitz.dev"})
*/
public function page($_locale = null, $slug, Request $request, EntityManagerInterface $em)
{
$mode_residence = $this->frontService->getResidenceMode();
$page_versions = [];
$cms_template_cible=null;
if(!$_locale){
$_locale = "fr";
}
if($mode_residence){
$page_type = 'residence';
}else{
$page_type = 'hotel';
}
// $currentpageTrans = $em->getRepository("App\Entity\CmsPageTrans\Translation")->findOneBy(["locale"=>$_locale, "field" => "seo_slug", "content" => $slug]);
$currentpageTrans = $em->getRepository("App\Entity\CmsPageTrans\Translation")->createQueryBuilder('page_trns')
->leftJoin('page_trns.object', 'page')
->where('page_trns.locale = :_locale')
->andWhere('page_trns.field = :_field')
->andWhere('page_trns.content = :slug')
->andWhere('page.page_type = :page_type')
//->andWhere('page.actif = 1')
->setParameter('_field', 'seo_slug')
->setParameter('slug', $slug)
->setParameter('_locale', $_locale)
->setParameter('page_type', $page_type)
->setMaxResults(1)
->getQuery()
->getOneOrNullResult();
if($currentpageTrans && $this->frontService->getHeaderFields($currentpageTrans->getObject(), "actif", $_locale)){
$pageTranslations = $em->getRepository("App\Entity\CmsPageTrans\Translation")->findBy(["object" => $currentpageTrans->getObject()->getId(), "field" => "seo_slug"]);
if($pageTranslations){
foreach($pageTranslations as $pageTranslation){
if($this->frontService->getHeaderFields($currentpageTrans->getObject(), "actif", $pageTranslation->getLocale())){
$page_versions[] = array(
"to" => ($mode_residence) ? $this->generateUrl('render_residence_pages', ['_locale' => $pageTranslation->getLocale(), 'slug' => $pageTranslation->getContent(), 'hostname' => $_SERVER['HTTP_HOST']]) : $this->generateUrl('render_mlc_pages', ['_locale' => $pageTranslation->getLocale(), 'slug' => $pageTranslation->getContent(), 'hostname' => $_SERVER['HTTP_HOST']]),
"value" => $pageTranslation->getLocale(),
"active" => ($_locale == $pageTranslation->getLocale()) ? true : false
);
}
}
}
$currentpage = $currentpageTrans->getObject();
if($currentpage->getCmsTemplate()){
$cms_template_cible = $currentpage->getCmsTemplate()->getNomTechniqueTemplate();
}
if ($cms_template_cible == 'index.html.twig') {
if ((!$this->session->get('popin_fr')) && ($_locale == 'fr')) {
$this->session->set('first_visite_fr', true);
$this->session->set('popin_fr', true);
// Display the modal for the 'fr' language
} else {
$this->session->set('first_visite_fr', false);
}
if ((!$this->session->get('popin_en')) && ($_locale == 'en')) {
$this->session->set('first_visite_en', true);
$this->session->set('popin_en', true);
// Display the modal for the 'en' language
} else {
$this->session->set('first_visite_en', false);
}
}
$composants = array();
$page = $currentpage;
if($page){
$composants = $em->getRepository("App\Entity\CmsPageBlockComposant")->findBy(["cms_page" => $page],["position" => "ASC"]);
if($mode_residence){
return $this->render('pages/akaru/residence/'.$cms_template_cible, array('page_versions' => $page_versions, 'composants' => $composants, 'page' => $page));
}else{
return $this->render('pages/akaru/'.$cms_template_cible, array('page_versions' => $page_versions, 'composants' => $composants, 'page' => $page));
}
}
} else {
throw $this->createNotFoundException('The page does not exist');
}
}
// /**
// * @Route("/htmlToPdf", name="htmlToPdf")
// *
// */
// public function htmlToPdf(Pdf $knpSnappyPdf)
// {
// $html = $this->renderView(
// 'emails/customer_newsletter_email.html.twig'
// );
// return new PdfResponse(
// $knpSnappyPdf->getOutputFromHtml($html),
// 'htmlToPdf.pdf'
// );
// }
/**
* @Route("/base", name="base")
*
*/
public function base()
{
return $this->render('pages/akaru/base_page.html.twig');
}
public function verifRedirectSession()
{
$search_params = $this->session->get('search_params');
$booking_cart_sess = $this->session->get('booking_cart');
if( (!$search_params || !isset($search_params['date_start']) || !isset($search_params['date_end']) || !isset($search_params['duration']) ) && !isset($booking_cart_sess['isGiftCard']) )
return $this->redirect($this->generateUrl('default_hotel_page', ['hostname' => $_SERVER['HTTP_HOST']]));
else
return false;
}
public function verifProductNrr($id_product=0)
{
$nrr_val = false;
$produit = $this->em->getRepository(ProduitThalasso::class)->findOneById($id_product);
if($produit && $produit->getNrr())
{
$nrr_val = true;
}
return $nrr_val;
}
}