var/cache/dev/twig/6d/6dbcbd910da014086b3e46de6dad669ba1d04f3aa86405009a473527fcbf9937.php line 57

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* front/product/single.html.twig */
  14. class __TwigTemplate_dabcbf713e321a2d3a1e48bbb5d3f5ea69697d95309612c112cd413bcc431c48 extends Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'meta' => [$this'block_meta'],
  24.             'style' => [$this'block_style'],
  25.             'body' => [$this'block_body'],
  26.             '_avis_imageComments_widget' => [$this'block__avis_imageComments_widget'],
  27.             '_avis_imageComments_entry_row' => [$this'block__avis_imageComments_entry_row'],
  28.             '_avis_imageComments_entry_widget' => [$this'block__avis_imageComments_entry_widget'],
  29.             'javascript' => [$this'block_javascript'],
  30.         ];
  31.     }
  32.     protected function doGetParent(array $context)
  33.     {
  34.         // line 1
  35.         return "base_front.html.twig";
  36.     }
  37.     protected function doDisplay(array $context, array $blocks = [])
  38.     {
  39.         $macros $this->macros;
  40.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  41.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""front/product/single.html.twig"));
  42.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  43.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""front/product/single.html.twig"));
  44.         // line 254
  45.         $this->env->getRuntime("Symfony\\Component\\Form\\FormRenderer")->setTheme((isset($context["formComment"]) || array_key_exists("formComment"$context) ? $context["formComment"] : (function () { throw new RuntimeError('Variable "formComment" does not exist.'254$this->source); })()), [=> $this->getTemplateName()], true);
  46.         // line 1
  47.         $this->parent $this->loadTemplate("base_front.html.twig""front/product/single.html.twig"1);
  48.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  49.         
  50.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  51.         
  52.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  53.     }
  54.     // line 3
  55.     public function block_meta($context, array $blocks = [])
  56.     {
  57.         $macros $this->macros;
  58.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  59.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""meta"));
  60.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  61.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""meta"));
  62.         // line 4
  63.         echo "\t";
  64.         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'4$this->source); })()), "globalNote", [], "array"falsefalsefalse4), "count", [], "array"falsefalsefalse4) > 0)) {
  65.             // line 5
  66.             echo "\t\t";
  67.             $context["globalNote"] = (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'5$this->source); })()), "globalNote", [], "array"falsefalsefalse5), "totalNote", [], "array"falsefalsefalse5) / twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'5$this->source); })()), "globalNote", [], "array"falsefalsefalse5), "count", [], "array"falsefalsefalse5));
  68.             // line 6
  69.             echo "\t";
  70.         } else {
  71.             // line 7
  72.             echo "\t\t";
  73.             $context["globalNote"] = 0;
  74.             // line 8
  75.             echo "\t";
  76.         }
  77.         // line 9
  78.         echo "\t<title>Produit
  79. \t\t";
  80.         // line 10
  81.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'10$this->source); })()), "name", [], "any"falsefalsefalse10), "html"nulltrue);
  82.         echo "</title>
  83. \t<meta name=\"description\" content=\"Le produit ";
  84.         // line 11
  85.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'11$this->source); })()), "name", [], "any"falsefalsefalse11), "html"nulltrue);
  86.         echo " de la catégorie ";
  87.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'11$this->source); })()), "subCategories", [], "any"falsefalsefalse11), "first", [], "any"falsefalsefalse11), "name", [], "any"falsefalsefalse11), "html"nulltrue);
  88.         echo " ";
  89.         if (((isset($context["globalNote"]) || array_key_exists("globalNote"$context) ? $context["globalNote"] : (function () { throw new RuntimeError('Variable "globalNote" does not exist.'11$this->source); })()) > 0)) {
  90.             echo "possède une note de ";
  91.             echo twig_escape_filter($this->envtwig_number_format_filter($this->env, (isset($context["globalNote"]) || array_key_exists("globalNote"$context) ? $context["globalNote"] : (function () { throw new RuntimeError('Variable "globalNote" does not exist.'11$this->source); })()), 1"."), "html"nulltrue);
  92.             echo "/5 ";
  93.         } else {
  94.             echo "à un stock limité à ";
  95.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'11$this->source); })()), "quantity", [], "any"falsefalsefalse11), "html"nulltrue);
  96.             echo " articles, dépéchez-vous !";
  97.         }
  98.         echo "\">
  99. \t";
  100.         // line 12
  101.         if ( !twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'12$this->source); })()), "isActivated", [], "any"falsefalsefalse12)) {
  102.             // line 13
  103.             echo "\t\t<meta name=\"robots\" content=\"noindex\">
  104. \t";
  105.         }
  106.         
  107.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  108.         
  109.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  110.     }
  111.     // line 17
  112.     public function block_style($context, array $blocks = [])
  113.     {
  114.         $macros $this->macros;
  115.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  116.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""style"));
  117.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  118.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""style"));
  119.         // line 18
  120.         echo "\t<link href=\"";
  121.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("css/jquery.rateyo.css"), "html"nulltrue);
  122.         echo "\" rel=\"stylesheet\">
  123. \t<link rel=\"stylesheet\" href=\"";
  124.         // line 19
  125.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("css/jquery.datetimepicker.min.css"), "html"nulltrue);
  126.         echo "\">
  127. \t<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\">
  128. \t<link href=\"https://fonts.googleapis.com/css2?family=Mukta&display=swap\" rel=\"stylesheet\">
  129. \t<style>
  130. \t\t.mfp-fade.mfp-bg {
  131. \t\t\topacity: 0;
  132. \t\t\t-webkit-transition: all 0.15s ease-out;
  133. \t\t\t-moz-transition: all 0.15s ease-out;
  134. \t\t\ttransition: all 0.15s ease-out;
  135. \t\t}
  136. \t\t.mfp-fade.mfp-bg.mfp-ready {
  137. \t\t\topacity: 0.8;
  138. \t\t}
  139. \t\t.mfp-fade.mfp-bg.mfp-removing {
  140. \t\t\topacity: 0;
  141. \t\t}
  142. \t\t.mfp-fade.mfp-wrap .mfp-content {
  143. \t\t\topacity: 0;
  144. \t\t\t-webkit-transition: all 0.15s ease-out;
  145. \t\t\t-moz-transition: all 0.15s ease-out;
  146. \t\t\ttransition: all 0.15s ease-out;
  147. \t\t}
  148. \t\t.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  149. \t\t\topacity: 1;
  150. \t\t}
  151. \t\t.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  152. \t\t\topacity: 0;
  153. \t\t}
  154. \t\t.chat {
  155. \t\t\tlist-style: none;
  156. \t\t\tmargin: 0;
  157. \t\t\tpadding: 0;
  158. \t\t}
  159. \t\t.chat li {
  160. \t\t\tmargin-bottom: 10px;
  161. \t\t\tpadding-bottom: 5px;
  162. \t\t\tborder-bottom: 1px dotted #B3A9A9;
  163. \t\t}
  164. \t\t.chat li.left .chat-body {
  165. \t\t\tmargin-left: 60px;
  166. \t\t}
  167. \t\t.chat li.right .chat-body {
  168. \t\t\tmargin-right: 60px;
  169. \t\t}
  170. \t\t.chat li .chat-body p {
  171. \t\t\tmargin: 0;
  172. \t\t\tcolor: #777777;
  173. \t\t}
  174. \t\t.panel .slidedown .glyphicon,
  175. \t\t.chat .glyphicon {
  176. \t\t\tmargin-right: 5px;
  177. \t\t}
  178. \t\t.panel-body {
  179. \t\t\theight: 250px;
  180. \t\t}
  181. \t\t::-webkit-scrollbar-track {
  182. \t\t\t-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  183. \t\t\tbackground-color: #F5F5F5;
  184. \t\t}
  185. \t\t::-webkit-scrollbar {
  186. \t\t\twidth: 12px;
  187. \t\t\tbackground-color: #F5F5F5;
  188. \t\t}
  189. \t\t::-webkit-scrollbar-thumb {
  190. \t\t\t-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  191. \t\t\tbackground-color: #555;
  192. \t\t}
  193. \t\t/** DateTimePicker Style */
  194. \t\t.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
  195. \t\t.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
  196. \t\t.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current {
  197. \t\t\tbackground: #ff4d4d;
  198. \t\t\tbox-shadow: #ff4d4d 1px 3px 0 inset;
  199. \t\t\tcolor: #fff;
  200. \t\t\tfont-weight: 700;
  201. \t\t}
  202. \t\t.xdsoft_datetimepicker .xdsoft_calendar td:hover,
  203. \t\t.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:hover {
  204. \t\t\tcolor: #fff !important;
  205. \t\t\tbackground: #ff4d4d !important;
  206. \t\t\tbox-shadow: none !important;
  207. \t\t}
  208. \t\t/*Zoo option*/
  209. \t\t.imgZoomOption {
  210. \t\t\tposition: fixed;
  211. \t\t\tz-index: 99;
  212. \t\t\twidth: 52rem;
  213. \t\t\tleft: 50%;
  214. \t\t\ttransform: translateX(-50%);
  215. \t\t\ttop: 15px;
  216. \t\t\tdisplay: none;
  217. \t\t\tbackground-color: white;
  218. \t\t\theight: 95%;
  219. \t\t\tobject-fit: cover;
  220. \t\t}
  221. \t\t.backgroundTrans {
  222. \t\t\tposition: fixed;
  223. \t\t\twidth: 100%;
  224. \t\t\theight: 100%;
  225. \t\t\tbackground-color: #000000ab;
  226. \t\t\tz-index: 89;
  227. \t\t\ttop: 0;
  228. \t\t\tdisplay: none;
  229. \t\t}
  230. \t\t#clickoptionImg1, #clickoptionImg2 {
  231. \t\t\tcursor: pointer;
  232. \t\t}
  233. \t\t.showImgOption {
  234. \t\t\tposition: fixed;
  235. \t\t\ttop: 0;
  236. \t\t\tleft: 50%;
  237. \t\t\ttransform: translateX(-50%);
  238. \t\t\tz-index: 888;
  239. \t\t\twidth: 50rem;
  240. \t\t\theight: 100%;
  241. \t\t\tobject-fit: cover;
  242. \t\t}
  243. \t\t.exitZoomOpt {
  244. \t\t\tposition: fixed;
  245. \t\t\ttop: 0;
  246. \t\t\tright: 10px;
  247. \t\t\tcolor: #903ef4;
  248. \t\t\tdisplay: none;
  249. \t\t\tz-index: 100;
  250. \t\t\tborder: none;
  251. \t\t\tbackground: white;
  252. \t\t\tfont-size: 24px;
  253. \t\t\ttop: 5px;
  254. \t\t\tcursor: pointer;
  255. \t\t\tpadding: 3px 9px;
  256. \t\t\tborder-radius: 12px;
  257. \t\t}
  258. \t\t";
  259.         // line 165
  260.         echo "\t\t.inputQtyOpt {
  261. \t\t\twidth: 63px;
  262. \t\t\theight: 39px;
  263. \t\t\tpadding: 0 5px;
  264. \t\t\ttext-align: center;
  265. \t\t\tbackground-color: transparent;
  266. \t\t\tborder: 1px solid #efefef;
  267. \t\t}
  268. \t\t";
  269.         // line 174
  270.         echo "\t\t#MyChat {
  271. \t\t\tright: 20px;
  272. \t\t\tbottom: 70px;
  273. \t\t\tz-index: 100;
  274. \t\t\tcursor: pointer;
  275. \t\t\twidth: 50px;
  276. \t\t\theight: 50px;
  277. \t\t\tbackground-color: #903ef4;
  278. \t\t\tjustify-content: center;
  279. \t\t\tdisplay: flex;
  280. \t\t\tpadding: 10px;
  281. \t\t\tborder-radius: 50%;
  282. \t\t\talign-items: center;
  283. \t\t}
  284. \t\t.MyIconChat {
  285. \t\t\tcolor: #fff;
  286. \t\t\tfont-size: 24px;
  287. \t\t}
  288. \t\t.collapseMessage {
  289. \t\t\tposition: absolute;
  290. \t\t\ttop: 11px;
  291. \t\t\tright: 25px;
  292. \t\t\tbackground-color: white;
  293. \t\t\tcolor: #903ef4;
  294. \t\t\tpadding: 0px 8px;
  295. \t\t\tborder-radius: 50%;
  296. \t\t\tz-index: 1;
  297. \t\t\tcursor: pointer;
  298. \t\t}
  299. \t\t#collapseOne {
  300. \t\t\tborder-top-left-radius: 18px;
  301. \t\t\tborder-top-right-radius: 18px;
  302. \t\t}
  303. \t\t.titreSMS {
  304. \t\t\tpadding: 10px 20px;
  305. \t\t\tbackground-color: #903ef4;
  306. \t\t\tborder-top-left-radius: 14px;
  307. \t\t\tborder-top-right-radius: 14px;
  308. \t\t}
  309. \t\t.titreSMS h3 {
  310. \t\t\tcolor: white;
  311. \t\t\tfont-size: 17px;
  312. \t\t}
  313. \t\t.myradiuss {
  314. \t\t\tbackground-color: white;
  315. \t\t\tborder-top-left-radius: 23px;
  316. \t\t\tborder-top-right-radius: 23px;
  317. \t\t}
  318. \t\t";
  319.         // line 223
  320.         echo "\t\t@media screen and (min-width: 800px) {\t
  321. \t\t\t.myWidth {
  322. \t\t\t\tmax-width: 800px;
  323. \t\t\t}
  324. \t\t}
  325. \t\t";
  326.         // line 229
  327.         echo "\t\t.cont_img_comment {
  328. \t\t\tdisplay: flex;
  329. \t\t\tcolumn-gap: 10px;
  330. \t\t}
  331. \t\t.cont_img_comment img {
  332. \t\t\twidth: 100px;
  333. \t\t\theight: 100px;
  334. \t\t\tbox-shadow: 1px 1px 5px #0000005c;
  335. \t\t\tborder-radius: 20px;
  336. \t\t\tobject-fit: cover;
  337. \t\t}
  338. \t\t";
  339.         // line 241
  340.         echo "\t\t.labold {
  341. \t\t\tfont-weight: 500;
  342. \t\t\tfont-size: 18px;
  343. \t\t}
  344. \t\t.mt9 {
  345. \t\t\tmargin-top: 9px;
  346. \t\t}
  347. \t\t.myPadding {
  348. \t\t\tpadding: 8px 0px;
  349. \t\t}
  350. \t</style>
  351. ";
  352.         
  353.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  354.         
  355.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  356.     }
  357.     // line 256
  358.     public function block_body($context, array $blocks = [])
  359.     {
  360.         $macros $this->macros;
  361.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  362.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  363.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  364.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""body"));
  365.         // line 257
  366.         echo "
  367. \t<!-- Modal options groups -->
  368. \t<div class=\"modal fade\" id=\"modalOptionGP\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalLongTitle\" aria-hidden=\"true\">
  369. \t\t<div class=\"modal-dialog myWidth\" role=\"document\">
  370. \t\t\t<div class=\"modal-content\">
  371. \t\t\t\t";
  372.         // line 263
  373.         echo "\t\t\t\t\t<div class=\"modal-header\">
  374. \t\t\t\t\t\t<h5 class=\"modal-title\" id=\"\">Modifier les groupes d'options</h5>
  375. \t\t\t\t\t\t<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
  376. \t\t\t\t\t\t\t<span aria-hidden=\"true\">&times;</span>
  377. \t\t\t\t\t\t</button>
  378. \t\t\t\t\t</div>
  379. \t\t\t\t\t<div class=\"modal-body\">
  380. \t\t\t\t\t\t<div class=\"row\">
  381. \t\t\t\t\t\t\t<div class=\"col-lg-6 col-12\" >
  382. \t\t\t\t\t\t\t\t<div id=\"optionsimage\">
  383. \t\t\t\t\t\t\t\t\t<img src=\"";
  384.         // line 273
  385.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((twig_constant("App\\Services\\File::IMAGE_PRODUCT_DIR") . twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'273$this->source); })()), "photos", [], "any"falsefalsefalse273), "toArray", [], "method"falsefalsefalse273), 0, [], "array"falsefalsefalse273), "url", [], "any"falsefalsefalse273))), "html"nulltrue);
  386.         echo "\" alt=\"\">
  387. \t\t\t\t\t\t\t\t</div>
  388. \t\t\t\t\t\t\t</div>
  389. \t\t\t\t\t\t\t
  390. \t\t\t\t\t\t\t<div class=\"col-lg-6 col-12\" id=\"valeurOpion\" style=\"display: block\">
  391. \t\t\t\t\t\t\t    ";
  392.         // line 282
  393.         echo "\t\t\t\t\t\t\t\t\t\t";
  394.         // line 286
  395.         echo "\t\t\t\t\t\t\t\t\t\t";
  396.         // line 294
  397.         echo "\t\t\t\t\t\t\t\t\t";
  398.         // line 306
  399.         echo "\t\t\t\t\t\t\t\t\t\t\t";
  400.         // line 309
  401.         echo "\t\t\t\t\t\t\t\t\t\t";
  402.         // line 316
  403.         echo "\t\t\t\t\t\t\t\t";
  404.         // line 330
  405.         echo "\t\t\t\t\t\t\t</div>
  406. \t\t\t\t\t\t</div>
  407. \t\t\t\t\t</div>
  408. \t\t\t\t\t";
  409.         // line 336
  410.         echo "\t\t\t\t\t<div class=\"modal-footer\">
  411. \t\t\t\t\t\t<button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">Fermer</button>
  412. \t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-primary\" id=\"\" onclick=\"validemodalgroupe()\">Ok</button>
  413. \t\t\t\t\t</div>
  414. \t\t\t\t";
  415.         // line 341
  416.         echo "\t\t\t</div>
  417. \t\t</div>
  418. \t</div>
  419. \t<!-- Fin Modal options groups -->
  420. \t<!-- Modal options -->
  421. \t<div class=\"modal fade\" id=\"modalOption\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalLongTitle\" aria-hidden=\"true\">
  422. \t\t<div class=\"modal-dialog myWidth\" role=\"document\">
  423. \t\t\t<div class=\"modal-content\">
  424. \t\t\t\t";
  425.         // line 351
  426.         echo "\t\t\t\t\t<div class=\"modal-header\">
  427. \t\t\t\t\t\t<h5 class=\"modal-title\" id=\"\">Modifier les options</h5>
  428. \t\t\t\t\t\t<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
  429. \t\t\t\t\t\t\t<span aria-hidden=\"true\">&times;</span>
  430. \t\t\t\t\t\t</button>
  431. \t\t\t\t\t</div>
  432. \t\t\t\t\t<div class=\"modal-body\">
  433. \t\t\t\t\t\t<div class=\"row\">
  434. \t\t\t\t\t\t\t<input type=\"hidden\" id=\"id_optionmodal\">
  435. \t\t\t\t\t\t\t<input type=\"hidden\" id=\"name_optionmodal\">
  436. \t\t\t\t\t\t\t<input type=\"hidden\" id=\"image_optionmodal\">
  437. \t\t\t\t\t\t\t<div class=\"col-lg-6 col-12\" >
  438. \t\t\t\t\t\t\t\t<div id=\"optionsimage\"></div>
  439. \t\t\t\t\t\t\t</div>
  440. \t\t\t\t\t\t\t
  441. \t\t\t\t\t\t\t<div class=\"col-lg-6 col-12\" style=\"display: block\">
  442. \t\t\t\t\t\t\t    <div class=\"optionscolor\">
  443. \t\t\t\t\t\t\t\t\t<label >couleur d'option</label>
  444. \t\t\t\t\t\t\t\t\t<select name=\"\" id=\"optionscolor\" class=\"form-control wide\" style=\"display: block;\">
  445. \t\t\t\t\t\t\t\t\t</select>
  446. \t\t\t\t\t\t\t\t</div><br>
  447. \t\t\t\t\t\t\t\t<div class=\"optionsform\">
  448. \t\t\t\t\t\t\t\t\t<label for=\"optionsform\">Format</label>
  449. \t\t\t\t\t\t\t\t\t<select name=\"\" id=\"optionsform\" class=\"form-control wide\" style=\"display: block !important;\">\t
  450. \t\t\t\t\t\t\t\t\t</select>\t
  451. \t\t\t\t\t\t\t\t</div><br>
  452. \t\t\t\t\t\t\t\t<div class=\"optionsfinition\">
  453. \t\t\t\t\t\t\t\t\t<label for=\"optionsfinition\">Finition :</label>
  454. \t\t\t\t\t\t\t\t\t<select name=\"\" id=\"optionsfinition\" class=\"form-control wide\" style=\"display: block !important;\">
  455. \t\t\t\t\t\t\t\t\t</select>
  456. \t\t\t\t\t\t\t\t</div><br>
  457. \t\t\t\t\t\t\t\t<div class=\"optionspapier\">
  458. \t\t\t\t\t\t\t\t\t<label for=\"optionspapier\">Papier :</label>
  459. \t\t\t\t\t\t\t\t\t<select name=\"\" id=\"optionspapier\" class=\"form-control wide\"style=\"display: block !important;\">
  460. \t\t\t\t\t\t\t\t\t</select>
  461. \t\t\t\t\t\t\t\t</div><br>
  462. \t\t\t\t\t\t\t\t<div class=\"optionsetiquette\">
  463. \t\t\t\t\t\t\t\t\t<label for=\"optionsetiquette\">Étiquette :</label>
  464. \t\t\t\t\t\t\t\t\t<select name=\"\" id=\"optionsetiquette\" class=\"form-control wide\" style=\"display: block !important;\">\t
  465. \t\t\t\t\t\t\t\t\t</select>
  466. \t\t\t\t\t\t\t\t</div><br>
  467. \t\t\t\t\t\t\t\t<div class=\"optionsruban\">
  468. \t\t\t\t\t\t\t\t\t<label for=\"optionsruban\">Ruban: :</label>
  469. \t\t\t\t\t\t\t\t\t<select name=\"\" id=\"optionsruban\" class=\"form-control wide\" style=\"display: block !important;\">\t
  470. \t\t\t\t\t\t\t\t\t</select>
  471. \t\t\t\t\t\t\t\t</div><br>
  472. \t\t\t\t\t\t\t\t<div class=\"optionsquantite\">
  473. \t\t\t\t\t\t\t\t<label for=\"optionsquantite\">Quantité :</label>
  474. \t\t\t\t\t\t\t\t<select name=\"\" id=\"optionsquantite\" class=\"form-control wide\" style=\"display: block !important;\">
  475. \t\t\t\t\t\t\t\t</select>
  476. \t\t\t\t\t\t\t\t</div><br>
  477. \t\t\t\t\t\t\t</div>
  478. \t\t\t\t\t\t</div>
  479. \t\t\t\t\t</div>
  480. \t\t\t\t\t";
  481.         // line 408
  482.         echo "\t\t\t\t\t<div class=\"modal-footer\">
  483. \t\t\t\t\t\t<button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">Fermer</button>
  484. \t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-primary\" id=\"validemodaloption\" onclick=\"validemodaloption()\">Ok</button>
  485. \t\t\t\t\t</div>
  486. \t\t\t\t";
  487.         // line 413
  488.         echo "\t\t\t</div>
  489. \t\t</div>
  490. \t</div>
  491. \t<!-- Fin Modal options -->
  492. \t<div class=\"list-single-carousel\" style=\"margin-top:90px\">
  493. \t\t<div class=\"owl-carousel owl-theme owl-second\">
  494. \t\t\t";
  495.         // line 420
  496.         $context['_parent'] = $context;
  497.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'420$this->source); })()), "photos", [], "any"falsefalsefalse420));
  498.         foreach ($context['_seq'] as $context["_key"] => $context["photo"]) {
  499.             // line 421
  500.             echo "\t\t\t\t<div class=\"item\" style=\"height:400px;background:url(";
  501.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((twig_constant("App\\Services\\File::IMAGE_PRODUCT_DIR") . twig_get_attribute($this->env$this->source$context["photo"], "url", [], "any"falsefalsefalse421))), "html"nulltrue);
  502.             echo ")no-repeat center;background-size: cover\" alt=\"";
  503.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["photo"], "url", [], "any"falsefalsefalse421), "html"nulltrue);
  504.             echo "\"></div>
  505. \t\t\t";
  506.         }
  507.         $_parent $context['_parent'];
  508.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['photo'], $context['_parent'], $context['loop']);
  509.         $context array_intersect_key($context$_parent) + $_parent;
  510.         // line 423
  511.         echo "\t\t</div>
  512. \t</div>
  513. \t<div class=\"list-single-second mt-1\">
  514. \t\t<div class=\"container\">
  515. \t\t\t<div class=\"\">
  516. \t\t\t\t<div class=\"row\">
  517. \t\t\t\t\t<div class=\"col-xl-8 col-lg-8 col-md-8 col-sm-12 col-12\">
  518. \t\t\t\t\t\t<div class=\"vendor-head text-left\">
  519. \t\t\t\t\t\t\t<h2 class=\"mb10\">";
  520.         // line 431
  521.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'431$this->source); })()), "name", [], "any"falsefalsefalse431), "html"nulltrue);
  522.         echo "</h2>
  523. \t\t\t\t\t\t\t<p class=\"text-black-50\">
  524. \t\t\t\t\t\t\t\t<span class=\"mr-2\">
  525. \t\t\t\t\t\t\t\t\t<i class=\"fas fa-map-marker-alt \"></i>
  526. \t\t\t\t\t\t\t\t</span>
  527. \t\t\t\t\t\t\t\t";
  528.         // line 436
  529.         $context['_parent'] = $context;
  530.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'436$this->source); })()), "departments", [], "any"falsefalsefalse436));
  531.         $context['_iterated'] = false;
  532.         $context['loop'] = [
  533.           'parent' => $context['_parent'],
  534.           'index0' => 0,
  535.           'index'  => 1,
  536.           'first'  => true,
  537.         ];
  538.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  539.             $length count($context['_seq']);
  540.             $context['loop']['revindex0'] = $length 1;
  541.             $context['loop']['revindex'] = $length;
  542.             $context['loop']['length'] = $length;
  543.             $context['loop']['last'] = === $length;
  544.         }
  545.         foreach ($context['_seq'] as $context["_key"] => $context["department"]) {
  546.             // line 437
  547.             echo "\t\t\t\t\t\t\t\t\t";
  548.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["department"], "name", [], "any"falsefalsefalse437), "html"nulltrue);
  549.             echo "
  550. \t\t\t\t\t\t\t\t\t";
  551.             // line 438
  552.             if ( !twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse438)) {
  553.                 echo ",
  554. \t\t\t\t\t\t\t\t\t";
  555.             }
  556.             // line 440
  557.             echo "\t\t\t\t\t\t\t\t";
  558.             $context['_iterated'] = true;
  559.             ++$context['loop']['index0'];
  560.             ++$context['loop']['index'];
  561.             $context['loop']['first'] = false;
  562.             if (isset($context['loop']['length'])) {
  563.                 --$context['loop']['revindex0'];
  564.                 --$context['loop']['revindex'];
  565.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  566.             }
  567.         }
  568.         if (!$context['_iterated']) {
  569.             // line 441
  570.             echo "\t\t\t\t\t\t\t\t\tDans toute la France
  571. \t\t\t\t\t\t\t\t";
  572.         }
  573.         $_parent $context['_parent'];
  574.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['department'], $context['_parent'], $context['loop']);
  575.         $context array_intersect_key($context$_parent) + $_parent;
  576.         // line 443
  577.         echo "\t\t\t\t\t\t\t\t<br>Service de la catégorie
  578. \t\t\t\t\t\t\t\t<a href=\"";
  579.         // line 444
  580.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("front_product_subcategory", ["subCategorySlug" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'444$this->source); })()), "subCategories", [], "any"falsefalsefalse444), "first", [], "any"falsefalsefalse444), "subCategorySlug", [], "any"falsefalsefalse444)]), "html"nulltrue);
  581.         echo "\" class=\"btn-default-link\">";
  582.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'444$this->source); })()), "subCategories", [], "any"falsefalsefalse444), "first", [], "any"falsefalsefalse444), "name", [], "any"falsefalsefalse444), "html"nulltrue);
  583.         echo "</a>
  584. \t\t\t\t\t\t\t</p>
  585. \t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-primary\" data-toggle=\"modal\" data-target=\"#exampleModalCenter\">
  586. \t\t\t\t\t\t\tLire  la  condition générale de vente
  587. \t\t\t\t\t\t\t</button>
  588. \t\t\t\t\t\t\t<!-- Modal -->
  589. \t\t\t\t\t\t\t";
  590.         // line 450
  591.         if (((null === twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'450$this->source); })()), "company", [], "any"falsefalsefalse450), "conditionsVente", [], "any"falsefalsefalse450)) || (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'450$this->source); })()), "company", [], "any"falsefalsefalse450), "conditionsVente", [], "any"falsefalsefalse450) == ""))) {
  592.             // line 451
  593.             echo "\t\t\t\t\t\t\t\t<div class=\"modal fade\" id=\"exampleModalCenter\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalCenterTitle\" aria-hidden=\"true\">
  594. \t\t\t\t\t\t\t\t\t<div class=\"modal-dialog modal-xl\" role=\"document\">
  595. \t\t\t\t\t\t\t\t\t\t<div class=\"modal-content\">
  596. \t\t\t\t\t\t\t\t\t\t<div class=\"modal-header\">
  597. \t\t\t\t\t\t\t\t\t\t\t<h5 class=\"modal-title\" id=\"exampleModalCenterTitle\">Condition générale de vente</h5>
  598. \t\t\t\t\t\t\t\t\t\t\t<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
  599. \t\t\t\t\t\t\t\t\t\t\t<span aria-hidden=\"true\">&times;</span>
  600. \t\t\t\t\t\t\t\t\t\t\t</button>
  601. \t\t\t\t\t\t\t\t\t\t</div>
  602. \t\t\t\t\t\t\t\t\t\t<div class=\"modal-body\">
  603. \t\t\t\t\t\t\t\t\t\t\t\tVeulliez contactez votre prestataire pour connaitre la condition de vente
  604. \t\t\t\t\t\t\t\t\t\t</div>
  605. \t\t\t\t\t\t\t\t\t\t</div>
  606. \t\t\t\t\t\t\t\t\t</div>
  607. \t\t\t\t\t\t\t\t</div>
  608. \t\t\t\t\t\t\t";
  609.         } else {
  610.             // line 467
  611.             echo "\t\t\t\t\t\t\t\t<div class=\"modal fade\" id=\"exampleModalCenter\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalCenterTitle\" aria-hidden=\"true\">
  612. \t\t\t\t\t\t\t\t\t<div class=\"modal-dialog modal-xl\" role=\"document\">
  613. \t\t\t\t\t\t\t\t\t\t<div class=\"modal-content\">
  614. \t\t\t\t\t\t\t\t\t\t<div class=\"modal-header\">
  615. \t\t\t\t\t\t\t\t\t\t\t<h5 class=\"modal-title\" id=\"exampleModalCenterTitle\">Condition générale de vente</h5>
  616. \t\t\t\t\t\t\t\t\t\t\t<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
  617. \t\t\t\t\t\t\t\t\t\t\t<span aria-hidden=\"true\">&times;</span>
  618. \t\t\t\t\t\t\t\t\t\t\t</button>
  619. \t\t\t\t\t\t\t\t\t\t</div>
  620. \t\t\t\t\t\t\t\t\t\t<div class=\"modal-body\">
  621. \t\t\t\t\t\t\t\t\t\t\t\t";
  622.             // line 477
  623.             echo twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'477$this->source); })()), "company", [], "any"falsefalsefalse477), "conditionsVente", [], "any"falsefalsefalse477);
  624.             echo "
  625. \t\t\t\t\t\t\t\t\t\t</div>
  626. \t\t\t\t\t\t\t\t\t\t</div>
  627. \t\t\t\t\t\t\t\t\t</div>
  628. \t\t\t\t\t\t\t\t</div>\t\t\t\t\t
  629. \t\t\t\t\t\t\t";
  630.         }
  631.         // line 483
  632.         echo "\t\t\t\t\t\t\t
  633. \t\t\t\t\t\t</div>
  634. \t\t\t\t\t</div>
  635. \t\t\t\t\t<div class=\"col-xl-4 col-lg-4 col-md-4 col-sm-12 col-12\">
  636. \t\t\t\t\t\t<div class=\"vendor-head text-xl-right row\">
  637. \t\t\t\t\t\t\t";
  638.         // line 488
  639.         if ( !twig_test_empty(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'488$this->source); })()), "photos", [], "any"falsefalsefalse488))) {
  640.             // line 489
  641.             echo "\t\t\t\t\t\t\t\t<div class=\"col-md-6\">
  642. \t\t\t\t\t\t\t\t\t<a href=\"#\" class=\"btn btn-default btn-sm ml-2 text-center\" id=\"open-popup-images\">Voir les photos</a>
  643. \t\t\t\t\t\t\t\t</div>
  644. \t\t\t\t\t\t\t";
  645.         }
  646.         // line 493
  647.         echo "\t\t\t\t\t\t\t";
  648.         if (twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'493$this->source); })()), "youtubeVideo", [], "any"falsefalsefalse493)) {
  649.             // line 494
  650.             echo "\t\t\t\t\t\t\t\t<div class=\"col-md-6\">
  651. \t\t\t\t\t\t\t\t\t<a class=\"popup-youtube btn btn-default btn-sm ml-2 text-center\" href=\"";
  652.             // line 495
  653.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'495$this->source); })()), "youtubeVideo", [], "any"falsefalsefalse495), "html"nulltrue);
  654.             echo "\">Voir la vidéo</a>
  655. \t\t\t\t\t\t\t\t</div>
  656. \t\t\t\t\t\t\t";
  657.         }
  658.         // line 498
  659.         echo "\t\t\t\t\t\t</div>
  660. \t\t\t\t\t</div>
  661. \t\t\t\t</div>
  662. \t\t\t</div>
  663. \t\t\t<div class=\"vendor-meta bg-white border m-0 \">
  664. \t\t\t\t<div class=\"vendor-meta-item vendor-meta-item-bordered\">
  665. \t\t\t\t\t<span class=\"vendor-price\">
  666. \t\t\t\t\t\t";
  667.         // line 505
  668.         echo twig_escape_filter($this->envtwig_number_format_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'505$this->source); })()), "price", [], "any"falsefalsefalse505), 2"."""), "html"nulltrue);
  669.         echo "€
  670. \t\t\t\t\t</span>
  671. \t\t\t\t\t<span class=\"vendor-text\">Prix</span>
  672. \t\t\t\t</div>
  673. \t\t\t\t<div class=\"vendor-meta-item vendor-meta-item-bordered\">
  674. \t\t\t\t\t";
  675.         // line 510
  676.         if (twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'510$this->source); })()), "quantity", [], "any"falsefalsefalse510)) {
  677.             // line 511
  678.             echo "\t\t\t\t\t\t<span class=\"vendor-guest\">
  679. \t\t\t\t\t\t\t";
  680.             // line 512
  681.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'512$this->source); })()), "quantity", [], "any"falsefalsefalse512), "html"nulltrue);
  682.             echo "
  683. \t\t\t\t\t\t</span>
  684. \t\t\t\t\t\t<span class=\"vendor-text\">Quantité restante</span>
  685. \t\t\t\t\t";
  686.         }
  687.         // line 516
  688.         echo "\t\t\t\t</div>
  689. \t\t\t\t";
  690.         // line 517
  691.         $context["notesProduct"] = 0;
  692.         // line 518
  693.         echo "\t\t\t\t";
  694.         $context['_parent'] = $context;
  695.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'518$this->source); })()), "avis", [], "any"falsefalsefalse518));
  696.         foreach ($context['_seq'] as $context["_key"] => $context["avi"]) {
  697.             // line 519
  698.             echo "\t\t\t\t\t";
  699.             $context["notesProduct"] = ((isset($context["notesProduct"]) || array_key_exists("notesProduct"$context) ? $context["notesProduct"] : (function () { throw new RuntimeError('Variable "notesProduct" does not exist.'519$this->source); })()) + twig_get_attribute($this->env$this->source$context["avi"], "globalNote", [], "any"falsefalsefalse519));
  700.             // line 520
  701.             echo "\t\t\t\t";
  702.         }
  703.         $_parent $context['_parent'];
  704.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['avi'], $context['_parent'], $context['loop']);
  705.         $context array_intersect_key($context$_parent) + $_parent;
  706.         // line 521
  707.         echo "\t\t\t\t";
  708.         $context["noteTotalProduct"] = ((((isset($context["notesProduct"]) || array_key_exists("notesProduct"$context) ? $context["notesProduct"] : (function () { throw new RuntimeError('Variable "notesProduct" does not exist.'521$this->source); })()) > 0)) ? (((isset($context["notesProduct"]) || array_key_exists("notesProduct"$context) ? $context["notesProduct"] : (function () { throw new RuntimeError('Variable "notesProduct" does not exist.'521$this->source); })()) / twig_length_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'521$this->source); })()), "avis", [], "any"falsefalsefalse521)))) : (0));
  709.         // line 522
  710.         echo "\t\t\t\t<div class=\"vendor-meta-item vendor-meta-item-bordered\">
  711. \t\t\t\t\t<span class=\"rating-star\">
  712. \t\t\t\t\t\t";
  713.         // line 524
  714.         $context['_parent'] = $context;
  715.         $context['_seq'] = twig_ensure_traversable(range(15));
  716.         foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  717.             // line 525
  718.             echo "\t\t\t\t\t\t\t";
  719.             if (($context["i"] < (isset($context["noteTotalProduct"]) || array_key_exists("noteTotalProduct"$context) ? $context["noteTotalProduct"] : (function () { throw new RuntimeError('Variable "noteTotalProduct" does not exist.'525$this->source); })()))) {
  720.                 // line 526
  721.                 echo "\t\t\t\t\t\t\t\t<i class=\"fa fa-star rated\"></i>
  722. \t\t\t\t\t\t\t";
  723.             } else {
  724.                 // line 528
  725.                 echo "\t\t\t\t\t\t\t\t<i class=\"fa fa-star rate-mute\"></i>
  726. \t\t\t\t\t\t\t";
  727.             }
  728.             // line 530
  729.             echo "\t\t\t\t\t\t";
  730.         }
  731.         $_parent $context['_parent'];
  732.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  733.         $context array_intersect_key($context$_parent) + $_parent;
  734.         // line 531
  735.         echo "\t\t\t\t\t</span>
  736. \t\t\t\t\t<span class=\"rating-count vendor-text\">(";
  737.         // line 532
  738.         echo twig_escape_filter($this->envtwig_length_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'532$this->source); })()), "avis", [], "any"falsefalsefalse532)), "html"nulltrue);
  739.         echo ")</span>
  740. \t\t\t\t</div>
  741. \t\t\t</div>
  742. \t\t</div>
  743. \t</div>
  744. \t<!-- /.page-header -->
  745. \t<!-- page-header -->
  746. \t";
  747.         // line 541
  748.         echo "\t";
  749.         if (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'541$this->source); })()), "company", [], "any"falsefalsefalse541), "isConfirmed", [], "any"falsefalsefalse541)) {
  750.             // line 542
  751.             echo "\t\t";
  752.             if (twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'542$this->source); })()), "productOptions", [], "any"falsefalsefalse542)) {
  753.                 // line 543
  754.                 echo "\t\t\t";
  755.                 $context['_parent'] = $context;
  756.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'543$this->source); })()), "productOptions", [], "any"falsefalsefalse543));
  757.                 foreach ($context['_seq'] as $context["_key"] => $context["option"]) {
  758.                     // line 544
  759.                     echo "\t\t\t\t";
  760.                     if (twig_get_attribute($this->env$this->source$context["option"], "image1", [], "any"falsefalsefalse544)) {
  761.                         // line 545
  762.                         echo "\t\t\t\t\t<img id=\"";
  763.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "id", [], "any"falsefalsefalse545), "html"nulltrue);
  764.                         echo "btn1img\" class=\"imgZoomOption\" src=\"";
  765.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((twig_constant("App\\Services\\File::IMAGE_PRODUCT_DIR") . twig_get_attribute($this->env$this->source$context["option"], "image1", [], "any"falsefalsefalse545))), "html"nulltrue);
  766.                         echo "\">
  767. \t\t\t\t";
  768.                     }
  769.                     // line 547
  770.                     echo "\t\t\t\t";
  771.                     if (twig_get_attribute($this->env$this->source$context["option"], "image2", [], "any"falsefalsefalse547)) {
  772.                         // line 548
  773.                         echo "\t\t\t\t\t<img id=\"";
  774.                         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["option"], "id", [], "any"falsefalsefalse548), "html"nulltrue);
  775.                         echo "btn2img\" class=\"imgZoomOption\" src=\"";
  776.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((twig_constant("App\\Services\\File::IMAGE_PRODUCT_DIR") . twig_get_attribute($this->env$this->source$context["option"], "image2", [], "any"falsefalsefalse548))), "html"nulltrue);
  777.                         echo "\">
  778. \t\t\t\t";
  779.                     }
  780.                     // line 550
  781.                     echo "\t\t\t";
  782.                 }
  783.                 $_parent $context['_parent'];
  784.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['option'], $context['_parent'], $context['loop']);
  785.                 $context array_intersect_key($context$_parent) + $_parent;
  786.                 // line 551
  787.                 echo "\t\t";
  788.             }
  789.             // line 552
  790.             echo "\t";
  791.         }
  792.         // line 553
  793.         echo "\t<div class=\"backgroundTrans\"></div>
  794. \t<button class=\"exitZoomOpt\">X</button>
  795. \t";
  796.         // line 556
  797.         echo "
  798. \t";
  799.         // line 558
  800.         echo "\t";
  801.         // line 674
  802.         echo "\t";
  803.         // line 675
  804.         echo "
  805. \t<div class=\"vendor-content-wrapper\">
  806. \t\t<div class=\"container\">
  807. \t\t\t<div class=\"row\">
  808. \t\t\t\t<div
  809. \t\t\t\t\tclass=\"col-xl-8 col-lg-9 col-md-9 col-sm-12 col-12\">
  810. \t\t\t\t\t<!--vendor-details -->
  811. \t\t\t\t\t<div style=\"overflow: hidden\">
  812. \t\t\t\t\t\t<div class=\"card border card-shadow-none\">
  813. \t\t\t\t\t\t\t<h3 class=\"card-header bg-white\">A propos du service</h3>
  814. \t\t\t\t\t\t\t<div class=\"card-body card-box overflow-hidden\">
  815. \t\t\t\t\t\t\t\t<!--/.vendor-details -->
  816. \t\t\t\t\t\t\t\t<!--vendor-description -->
  817. \t\t\t\t\t\t\t\t\t";
  818.         // line 690
  819.         if (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'690$this->source); })()), "company", [], "any"falsefalsefalse690), "isEditorGuide", [], "any"falsefalsefalse690)) {
  820.             // line 691
  821.             echo "\t\t\t\t\t\t\t\t\t\t";
  822.             if ((twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'691$this->source); })()), "productDescription", [], "any"falsefalsefalse691) && twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'691$this->source); })()), "template", [], "any"falsefalsefalse691))) {
  823.                 // line 692
  824.                 echo "\t\t\t\t\t\t\t\t\t\t";
  825.                 echo twig_include($this->env$context, (("front/html/template/template" twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'692$this->source); })()), "template", [], "any"falsefalsefalse692)) . ".html.twig"));
  826.                 echo "
  827. \t\t\t\t\t\t\t\t\t";
  828.             } else {
  829.                 // line 694
  830.                 echo "\t\t\t\t\t\t\t\t\t\t<p class=\"lead\">";
  831.                 echo twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'694$this->source); })()), "text", [], "any"falsefalsefalse694);
  832.                 echo "</p>
  833. \t\t\t\t\t\t\t\t\t";
  834.             }
  835.             // line 696
  836.             echo "\t\t\t\t\t\t\t\t";
  837.         } else {
  838.             // line 697
  839.             echo "\t\t\t\t\t\t\t\t\t<p class=\"lead\">";
  840.             echo twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'697$this->source); })()), "text", [], "any"falsefalsefalse697);
  841.             echo "</p>
  842. \t\t\t\t\t\t\t\t";
  843.         }
  844.         // line 699
  845.         echo "\t\t\t\t\t\t\t</div>
  846. \t\t\t\t\t\t</div>
  847. \t\t\t\t\t\t<!--vendor-description -->
  848. \t\t\t\t\t\t<!-- review-block -->
  849. \t\t\t\t\t\t";
  850.         // line 703
  851.         $context['_parent'] = $context;
  852.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'703$this->source); })()), "flashes", [=> "success"], "method"falsefalsefalse703));
  853.         foreach ($context['_seq'] as $context["_key"] => $context["message"]) {
  854.             // line 704
  855.             echo "\t\t\t\t\t\t\t<div class=\"alert alert-success\">
  856. \t\t\t\t\t\t\t\t";
  857.             // line 705
  858.             echo twig_escape_filter($this->env$context["message"], "html"nulltrue);
  859.             echo "
  860. \t\t\t\t\t\t\t</div>
  861. \t\t\t\t\t\t";
  862.         }
  863.         $_parent $context['_parent'];
  864.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['message'], $context['_parent'], $context['loop']);
  865.         $context array_intersect_key($context$_parent) + $_parent;
  866.         // line 708
  867.         echo "\t\t\t\t\t\t<div id=\"reviews\">
  868. \t\t\t\t\t\t\t<div class=\"card border card-shadow-none \">
  869. \t\t\t\t\t\t\t\t<div class=\"card-header bg-white\">
  870. \t\t\t\t\t\t\t\t\t<h3 class=\"mb0 d-inline-block\" id=\"global_notes\">Notes</h3>
  871. \t\t\t\t\t\t\t\t\t";
  872.         // line 712
  873.         if ((twig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'712$this->source); })()), "user", [], "any"falsefalsefalse712) && (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'712$this->source); })()), "user", [], "any"falsefalsefalse712), "roles", [], "any"falsefalsefalse712), 0, [], "array"falsefalsefalse712) == "ROLE_USER"))) {
  874.             // line 713
  875.             echo "\t\t\t\t\t\t\t\t\t\t";
  876.             $context["ifAvis"] = twig_get_attribute($this->env$this->source, (isset($context["filter_service"]) || array_key_exists("filter_service"$context) ? $context["filter_service"] : (function () { throw new RuntimeError('Variable "filter_service" does not exist.'713$this->source); })()), "getAvisUserExist", [=> twig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'713$this->source); })()), "user", [], "any"falsefalsefalse713), => (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'713$this->source); })())], "method"falsefalsefalse713);
  877.             // line 714
  878.             echo "\t\t\t\t\t\t\t\t\t\t";
  879.             if (((isset($context["ifAvis"]) || array_key_exists("ifAvis"$context) ? $context["ifAvis"] : (function () { throw new RuntimeError('Variable "ifAvis" does not exist.'714$this->source); })()) == false)) {
  880.                 // line 715
  881.                 echo "\t\t\t\t\t\t\t\t\t\t\t<a href=\"#review-form\" class=\"btn btn-default btn-sm float-right d-inline-block\">Donnez votre avis</a>
  882. \t\t\t\t\t\t\t\t\t\t";
  883.             }
  884.             // line 717
  885.             echo "\t\t\t\t\t\t\t\t\t";
  886.         }
  887.         // line 718
  888.         echo "\t\t\t\t\t\t\t\t</div>
  889. \t\t\t\t\t\t\t\t<div class=\"card-body\">
  890. \t\t\t\t\t\t\t\t\t<div class=\"review-block\">
  891. \t\t\t\t\t\t\t\t\t\t<div class=\"row\">
  892. \t\t\t\t\t\t\t\t\t\t\t<div
  893. \t\t\t\t\t\t\t\t\t\t\t\tclass=\"col-xl-6 col-lg-6 col-md-6 col-sm-12 col-12\">
  894. \t\t\t\t\t\t\t\t\t\t\t\t<!-- review-sidebar -->
  895. \t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-sidebar\">
  896. \t\t\t\t\t\t\t\t\t\t\t\t\t";
  897.         // line 726
  898.         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'726$this->source); })()), "globalNote", [], "array"falsefalsefalse726), "count", [], "array"falsefalsefalse726) > 0)) {
  899.             // line 727
  900.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  901.             $context["globalNote"] = (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'727$this->source); })()), "globalNote", [], "array"falsefalsefalse727), "totalNote", [], "array"falsefalsefalse727) / twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'727$this->source); })()), "globalNote", [], "array"falsefalsefalse727), "count", [], "array"falsefalsefalse727));
  902.             // line 728
  903.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t";
  904.         } else {
  905.             // line 729
  906.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  907.             $context["globalNote"] = 0;
  908.             // line 730
  909.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t";
  910.         }
  911.         // line 731
  912.         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-total\">";
  913.         echo twig_escape_filter($this->envtwig_number_format_filter($this->env, (isset($context["globalNote"]) || array_key_exists("globalNote"$context) ? $context["globalNote"] : (function () { throw new RuntimeError('Variable "globalNote" does not exist.'731$this->source); })()), 1"."), "html"nulltrue);
  914.         echo "</div>
  915. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-text\">moyenne des notes</div>
  916. \t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  917. \t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  918.         // line 734
  919.         $context['_parent'] = $context;
  920.         $context['_seq'] = twig_ensure_traversable(range(15));
  921.         foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  922.             // line 735
  923.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  924.             if (($context["i"] <= twig_round((isset($context["globalNote"]) || array_key_exists("globalNote"$context) ? $context["globalNote"] : (function () { throw new RuntimeError('Variable "globalNote" does not exist.'735$this->source); })())))) {
  925.                 // line 736
  926.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  927. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  928.             } else {
  929.                 // line 738
  930.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  931. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  932.             }
  933.             // line 740
  934.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  935.         }
  936.         $_parent $context['_parent'];
  937.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  938.         $context array_intersect_key($context$_parent) + $_parent;
  939.         // line 741
  940.         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  941. \t\t\t\t\t\t\t\t\t\t\t\t\t";
  942.         // line 742
  943.         if (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'742$this->source); })()), "globalNote", [], "array"falsefalsefalse742), "count", [], "array"falsefalsefalse742)) {
  944.             // line 743
  945.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Note de
  946. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  947.             // line 744
  948.             echo twig_escape_filter($this->envtwig_number_format_filter($this->env, (isset($context["globalNote"]) || array_key_exists("globalNote"$context) ? $context["globalNote"] : (function () { throw new RuntimeError('Variable "globalNote" does not exist.'744$this->source); })()), 1"."), "html"nulltrue);
  949.             echo "
  950. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbasée sur
  951. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  952.             // line 746
  953.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'746$this->source); })()), "globalNote", [], "array"falsefalsefalse746), "count", [], "array"falsefalsefalse746), "html"nulltrue);
  954.             echo "
  955. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnote
  956. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  957.             // line 748
  958.             if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'748$this->source); })()), "globalNote", [], "array"falsefalsefalse748), "count", [], "array"falsefalsefalse748) > 1)) {
  959.                 echo "s
  960. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  961.             }
  962.             // line 749
  963.             echo ".</p>
  964. \t\t\t\t\t\t\t\t\t\t\t\t\t";
  965.         } else {
  966.             // line 751
  967.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Aucune note pour le moment</p>
  968. \t\t\t\t\t\t\t\t\t\t\t\t\t";
  969.         }
  970.         // line 753
  971.         echo "\t\t\t\t\t\t\t\t\t\t\t\t</div>
  972. \t\t\t\t\t\t\t\t\t\t\t\t<!-- /.review-sidebar -->
  973. \t\t\t\t\t\t\t\t\t\t\t</div>
  974. \t\t\t\t\t\t\t\t\t\t\t<div class=\"col-xl-6 col-lg-6 col-md-6 col-sm-12 col-12\">
  975. \t\t\t\t\t\t\t\t\t\t\t\t<div
  976. \t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"review-box\">
  977. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- review-list -->
  978. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-list\">
  979. \t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  980.         // line 762
  981.         $context["globalQualityService"] = ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'762$this->source); })()), "qualityService", [], "array"falsefalsefalse762), "count", [], "array"falsefalsefalse762)) ? ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'762$this->source); })()), "qualityService", [], "array"falsefalsefalse762), "totalNote", [], "array"falsefalsefalse762) / twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'762$this->source); })()), "qualityService", [], "array"falsefalsefalse762), "count", [], "array"falsefalsefalse762))) : (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'762$this->source); })()), "qualityService", [], "array"falsefalsefalse762), "count", [], "array"falsefalsefalse762)));
  982.         // line 763
  983.         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-for\">Qualité du service</div>
  984. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-rating\">
  985. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  986. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  987.         // line 766
  988.         $context['_parent'] = $context;
  989.         $context['_seq'] = twig_ensure_traversable(range(15));
  990.         foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  991.             // line 767
  992.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  993.             if (($context["i"] <= (isset($context["globalQualityService"]) || array_key_exists("globalQualityService"$context) ? $context["globalQualityService"] : (function () { throw new RuntimeError('Variable "globalQualityService" does not exist.'767$this->source); })()))) {
  994.                 // line 768
  995.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  996. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  997.             } else {
  998.                 // line 770
  999.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  1000. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1001.             }
  1002.             // line 772
  1003.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1004.         }
  1005.         $_parent $context['_parent'];
  1006.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  1007.         $context array_intersect_key($context$_parent) + $_parent;
  1008.         // line 773
  1009.         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  1010. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1011. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-number\">";
  1012.         // line 775
  1013.         echo twig_escape_filter($this->envtwig_number_format_filter($this->env, (isset($context["globalQualityService"]) || array_key_exists("globalQualityService"$context) ? $context["globalQualityService"] : (function () { throw new RuntimeError('Variable "globalQualityService" does not exist.'775$this->source); })()), 1"."), "html"nulltrue);
  1014.         echo "</div>
  1015. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1016. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- /.review-list -->
  1017. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- review-list -->
  1018. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-list\">
  1019. \t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1020.         // line 780
  1021.         $context["globalPrice"] = ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'780$this->source); })()), "price", [], "array"falsefalsefalse780), "count", [], "array"falsefalsefalse780)) ? ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'780$this->source); })()), "price", [], "array"falsefalsefalse780), "totalNote", [], "array"falsefalsefalse780) / twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'780$this->source); })()), "price", [], "array"falsefalsefalse780), "count", [], "array"falsefalsefalse780))) : (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'780$this->source); })()), "price", [], "array"falsefalsefalse780), "count", [], "array"falsefalsefalse780)));
  1022.         // line 781
  1023.         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-for\">Prix</div>
  1024. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-rating\">
  1025. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  1026. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1027.         // line 784
  1028.         $context['_parent'] = $context;
  1029.         $context['_seq'] = twig_ensure_traversable(range(15));
  1030.         foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  1031.             // line 785
  1032.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1033.             if (($context["i"] <= (isset($context["globalPrice"]) || array_key_exists("globalPrice"$context) ? $context["globalPrice"] : (function () { throw new RuntimeError('Variable "globalPrice" does not exist.'785$this->source); })()))) {
  1034.                 // line 786
  1035.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  1036. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1037.             } else {
  1038.                 // line 788
  1039.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  1040. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1041.             }
  1042.             // line 790
  1043.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1044.         }
  1045.         $_parent $context['_parent'];
  1046.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  1047.         $context array_intersect_key($context$_parent) + $_parent;
  1048.         // line 791
  1049.         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  1050. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1051. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-number\">";
  1052.         // line 793
  1053.         echo twig_escape_filter($this->envtwig_number_format_filter($this->env, (isset($context["globalPrice"]) || array_key_exists("globalPrice"$context) ? $context["globalPrice"] : (function () { throw new RuntimeError('Variable "globalPrice" does not exist.'793$this->source); })()), 1"."), "html"nulltrue);
  1054.         echo "</div>
  1055. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1056. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- /.review-list -->
  1057. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- review-list -->
  1058. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-list\">
  1059. \t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1060.         // line 798
  1061.         $context["globalSpeed"] = ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'798$this->source); })()), "speed", [], "array"falsefalsefalse798), "count", [], "array"falsefalsefalse798)) ? ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'798$this->source); })()), "speed", [], "array"falsefalsefalse798), "totalNote", [], "array"falsefalsefalse798) / twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'798$this->source); })()), "speed", [], "array"falsefalsefalse798), "count", [], "array"falsefalsefalse798))) : (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'798$this->source); })()), "speed", [], "array"falsefalsefalse798), "count", [], "array"falsefalsefalse798)));
  1062.         // line 799
  1063.         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-for\">Rapidité</div>
  1064. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-rating\">
  1065. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  1066. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1067.         // line 802
  1068.         $context['_parent'] = $context;
  1069.         $context['_seq'] = twig_ensure_traversable(range(15));
  1070.         foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  1071.             // line 803
  1072.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1073.             if (($context["i"] <= (isset($context["globalSpeed"]) || array_key_exists("globalSpeed"$context) ? $context["globalSpeed"] : (function () { throw new RuntimeError('Variable "globalSpeed" does not exist.'803$this->source); })()))) {
  1074.                 // line 804
  1075.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  1076. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1077.             } else {
  1078.                 // line 806
  1079.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  1080. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1081.             }
  1082.             // line 808
  1083.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1084.         }
  1085.         $_parent $context['_parent'];
  1086.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  1087.         $context array_intersect_key($context$_parent) + $_parent;
  1088.         // line 809
  1089.         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  1090. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1091. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-number\">";
  1092.         // line 811
  1093.         echo twig_escape_filter($this->envtwig_number_format_filter($this->env, (isset($context["globalSpeed"]) || array_key_exists("globalSpeed"$context) ? $context["globalSpeed"] : (function () { throw new RuntimeError('Variable "globalSpeed" does not exist.'811$this->source); })()), 1"."), "html"nulltrue);
  1094.         echo "</div>
  1095. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1096. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-list\">
  1097. \t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1098.         // line 814
  1099.         $context["globalConformite"] = ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'814$this->source); })()), "conformDescription", [], "array"falsefalsefalse814), "count", [], "array"falsefalsefalse814)) ? ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'814$this->source); })()), "conformDescription", [], "array"falsefalsefalse814), "totalNote", [], "array"falsefalsefalse814) / twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'814$this->source); })()), "conformDescription", [], "array"falsefalsefalse814), "count", [], "array"falsefalsefalse814))) : (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'814$this->source); })()), "conformDescription", [], "array"falsefalsefalse814), "count", [], "array"falsefalsefalse814)));
  1100.         // line 815
  1101.         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-for\">Description conforme</div>
  1102. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-rating\">
  1103. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  1104. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1105.         // line 818
  1106.         $context['_parent'] = $context;
  1107.         $context['_seq'] = twig_ensure_traversable(range(15));
  1108.         foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  1109.             // line 819
  1110.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1111.             if (($context["i"] <= (isset($context["globalConformite"]) || array_key_exists("globalConformite"$context) ? $context["globalConformite"] : (function () { throw new RuntimeError('Variable "globalConformite" does not exist.'819$this->source); })()))) {
  1112.                 // line 820
  1113.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  1114. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1115.             } else {
  1116.                 // line 822
  1117.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  1118. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1119.             }
  1120.             // line 824
  1121.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1122.         }
  1123.         $_parent $context['_parent'];
  1124.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  1125.         $context array_intersect_key($context$_parent) + $_parent;
  1126.         // line 825
  1127.         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  1128. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1129. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-number\">";
  1130.         // line 827
  1131.         echo twig_escape_filter($this->envtwig_number_format_filter($this->env, (isset($context["globalConformite"]) || array_key_exists("globalConformite"$context) ? $context["globalConformite"] : (function () { throw new RuntimeError('Variable "globalConformite" does not exist.'827$this->source); })()), 1"."), "html"nulltrue);
  1132.         echo "</div>
  1133. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1134. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-list\">
  1135. \t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1136.         // line 830
  1137.         $context["globalCommunication"] = ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'830$this->source); })()), "communication", [], "array"falsefalsefalse830), "count", [], "array"falsefalsefalse830)) ? ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'830$this->source); })()), "communication", [], "array"falsefalsefalse830), "totalNote", [], "array"falsefalsefalse830) / twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'830$this->source); })()), "communication", [], "array"falsefalsefalse830), "count", [], "array"falsefalsefalse830))) : (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["notes"]) || array_key_exists("notes"$context) ? $context["notes"] : (function () { throw new RuntimeError('Variable "notes" does not exist.'830$this->source); })()), "communication", [], "array"falsefalsefalse830), "count", [], "array"falsefalsefalse830)));
  1138.         // line 831
  1139.         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-for\">Communication</div>
  1140. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-rating\">
  1141. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  1142. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1143.         // line 834
  1144.         $context['_parent'] = $context;
  1145.         $context['_seq'] = twig_ensure_traversable(range(15));
  1146.         foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  1147.             // line 835
  1148.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1149.             if (($context["i"] <= (isset($context["globalCommunication"]) || array_key_exists("globalCommunication"$context) ? $context["globalCommunication"] : (function () { throw new RuntimeError('Variable "globalCommunication" does not exist.'835$this->source); })()))) {
  1150.                 // line 836
  1151.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  1152. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1153.             } else {
  1154.                 // line 838
  1155.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  1156. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1157.             }
  1158.             // line 840
  1159.             echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1160.         }
  1161.         $_parent $context['_parent'];
  1162.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  1163.         $context array_intersect_key($context$_parent) + $_parent;
  1164.         // line 841
  1165.         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  1166. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1167. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-number\">";
  1168.         // line 843
  1169.         echo twig_escape_filter($this->envtwig_number_format_filter($this->env, (isset($context["globalCommunication"]) || array_key_exists("globalCommunication"$context) ? $context["globalCommunication"] : (function () { throw new RuntimeError('Variable "globalCommunication" does not exist.'843$this->source); })()), 1"."), "html"nulltrue);
  1170.         echo "</div>
  1171. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1172. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- /.review-list -->
  1173. \t\t\t\t\t\t\t\t\t\t\t\t</div>
  1174. \t\t\t\t\t\t\t\t\t\t\t</div>
  1175. \t\t\t\t\t\t\t\t\t\t</div>
  1176. \t\t\t\t\t\t\t\t\t</div>
  1177. \t\t\t\t\t\t\t\t</div>
  1178. \t\t\t\t\t\t\t</div>
  1179. \t\t\t\t\t\t\t<div class=\"card border card-shadow-none widget-vendor-list \">
  1180. \t\t\t\t\t\t\t\t<div class=\"card-body pl-0 pr-0\">
  1181. \t\t\t\t\t\t\t\t\t<div class=\"col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12\">
  1182. \t\t\t\t\t\t\t\t\t\t<h3 class=\"mb20\">Avis</h3>
  1183. \t\t\t\t\t\t\t\t\t</div>
  1184. \t\t\t\t\t\t\t\t\t";
  1185.         // line 861
  1186.         echo "\t\t\t\t\t\t\t\t\t";
  1187.         $context['_parent'] = $context;
  1188.         $context['_seq'] = twig_ensure_traversable(twig_slice($this->env, (isset($context["productAvis"]) || array_key_exists("productAvis"$context) ? $context["productAvis"] : (function () { throw new RuntimeError('Variable "productAvis" does not exist.'861$this->source); })()), 03));
  1189.         $context['_iterated'] = false;
  1190.         foreach ($context['_seq'] as $context["key"] => $context["productAvi"]) {
  1191.             // line 862
  1192.             echo "\t\t\t\t\t\t\t\t\t\t";
  1193.             if (((twig_get_attribute($this->env$this->source$context["productAvi"], "isDesactivatedByAdmin", [], "any"falsefalsefalse862) == null) && (twig_get_attribute($this->env$this->source$context["productAvi"], "isDesactivatedByAdmin", [], "any"falsefalsefalse862) == false))) {
  1194.                 // line 863
  1195.                 echo "\t\t\t\t\t\t\t\t\t\t\t<div class=\"card border card-shadow-none \">
  1196. \t\t\t\t\t\t\t\t\t\t\t\t<!-- review-user -->
  1197. \t\t\t\t\t\t\t\t\t\t\t\t<div class=\"card-header bg-white mb0\">
  1198. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-user\">
  1199. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"user-img\">
  1200. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"";
  1201.                 // line 868
  1202.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((twig_constant("App\\Services\\File::IMAGE_CLIENT_DIR") . twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["productAvi"], "client", [], "any"falsefalsefalse868), "image", [], "any"falsefalsefalse868))), "html"nulltrue);
  1203.                 echo "\" alt=\"";
  1204.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["productAvi"], "client", [], "any"falsefalsefalse868), "firstName", [], "any"falsefalsefalse868), "html"nulltrue);
  1205.                 echo "\" class=\"rounded-circle\" style=\"width:50px;height:50px;object-fit:cover\"></div>
  1206. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"user-meta\">
  1207. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h5 class=\"user-name mb-0\">";
  1208.                 // line 870
  1209.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["productAvi"], "client", [], "any"falsefalsefalse870), "firstName", [], "any"falsefalsefalse870), "html"nulltrue);
  1210.                 echo "<span class=\"user-review-date\">";
  1211.                 echo twig_escape_filter($this->envtwig_date_format_filter($this->envtwig_get_attribute($this->env$this->source$context["productAvi"], "createdAt", [], "any"falsefalsefalse870), "d/m/Y"), "html"nulltrue);
  1212.                 echo "</span>
  1213. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</h5>
  1214. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"given-review\">
  1215. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  1216. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  1217. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1218.                 // line 875
  1219.                 $context['_parent'] = $context;
  1220.                 $context['_seq'] = twig_ensure_traversable(range(25));
  1221.                 foreach ($context['_seq'] as $context["_key"] => $context["i"]) {
  1222.                     // line 876
  1223.                     echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1224.                     if (($context["i"] <= twig_round(twig_get_attribute($this->env$this->source$context["productAvi"], "globalNote", [], "any"falsefalsefalse876)))) {
  1225.                         // line 877
  1226.                         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  1227. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1228.                     } else {
  1229.                         // line 879
  1230.                         echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  1231. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1232.                     }
  1233.                     // line 881
  1234.                     echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1235.                 }
  1236.                 $_parent $context['_parent'];
  1237.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['i'], $context['_parent'], $context['loop']);
  1238.                 $context array_intersect_key($context$_parent) + $_parent;
  1239.                 // line 882
  1240.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  1241. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1242. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1243. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1244. \t\t\t\t\t\t\t\t\t\t\t\t</div>
  1245. \t\t\t\t\t\t\t\t\t\t\t\t<!-- /.review-user -->
  1246. \t\t\t\t\t\t\t\t\t\t\t\t<div class=\"card-body\">
  1247. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- review-descripttions -->
  1248. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-descriptions mb-2\" id=\"cli_";
  1249.                 // line 890
  1250.                 echo twig_escape_filter($this->env$context["key"], "html"nulltrue);
  1251.                 echo "\">
  1252. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>
  1253. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i>";
  1254.                 // line 892
  1255.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["productAvi"], "text", [], "any"falsefalsefalse892), "html"nulltrue);
  1256.                 echo "</i>
  1257. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</p>
  1258. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"cont_img_comment\">
  1259. \t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1260.                 // line 895
  1261.                 $context['_parent'] = $context;
  1262.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["productAvi"], "imageComments", [], "any"falsefalsefalse895), "toArray", [], "method"falsefalsefalse895));
  1263.                 foreach ($context['_seq'] as $context["_key"] => $context["imageComment"]) {
  1264.                     // line 896
  1265.                     echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img src=";
  1266.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((twig_constant("App\\Services\\File::IMAGE_COMMENT_DIR") . twig_get_attribute($this->env$this->source$context["imageComment"], "url", [], "any"falsefalsefalse896))), "html"nulltrue);
  1267.                     echo " class=\"img_comment\">
  1268. \t\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1269.                 }
  1270.                 $_parent $context['_parent'];
  1271.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['imageComment'], $context['_parent'], $context['loop']);
  1272.                 $context array_intersect_key($context$_parent) + $_parent;
  1273.                 // line 898
  1274.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1275. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1276. \t\t\t\t\t\t\t\t\t\t\t\t\t";
  1277.                 // line 900
  1278.                 if (twig_get_attribute($this->env$this->source$context["productAvi"], "responseCompany", [], "any"falsefalsefalse900)) {
  1279.                     // line 901
  1280.                     echo "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-descriptions mb-2\" id=\"prest_";
  1281.                     echo twig_escape_filter($this->env$context["key"], "html"nulltrue);
  1282.                     echo "\">
  1283. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRéponse du prestataire :<br>
  1284. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i>";
  1285.                     // line 903
  1286.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["productAvi"], "responseCompany", [], "any"falsefalsefalse903), "html"nulltrue);
  1287.                     echo "</i>
  1288. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1289. \t\t\t\t\t\t\t\t\t\t\t\t\t";
  1290.                 }
  1291.                 // line 906
  1292.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- /.review-descripttions -->
  1293. \t\t\t\t\t\t\t\t\t\t\t\t</div>
  1294. \t\t\t\t\t\t\t\t\t\t\t</div>
  1295. \t\t\t\t\t\t\t\t\t\t";
  1296.             }
  1297.             // line 910
  1298.             echo "\t\t\t\t\t\t\t\t\t";
  1299.             $context['_iterated'] = true;
  1300.         }
  1301.         if (!$context['_iterated']) {
  1302.             // line 911
  1303.             echo "\t\t\t\t\t\t\t\t\t\t<p class=\"p-3\">Aucun avis pour le moment</p>
  1304. \t\t\t\t\t\t\t\t\t";
  1305.         }
  1306.         $_parent $context['_parent'];
  1307.         unset($context['_seq'], $context['_iterated'], $context['key'], $context['productAvi'], $context['_parent'], $context['loop']);
  1308.         $context array_intersect_key($context$_parent) + $_parent;
  1309.         // line 913
  1310.         echo "\t\t\t\t\t\t\t\t</div>
  1311. \t\t\t\t\t\t\t</div>
  1312. \t\t\t\t\t\t</div>
  1313. \t\t\t\t\t\t";
  1314.         // line 916
  1315.         if ((twig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'916$this->source); })()), "user", [], "any"falsefalsefalse916) && (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'916$this->source); })()), "user", [], "any"falsefalsefalse916), "roles", [], "any"falsefalsefalse916), 0, [], "array"falsefalsefalse916) == "ROLE_USER"))) {
  1316.             // line 917
  1317.             echo "\t\t\t\t\t\t\t";
  1318.             $context["ifAvis"] = twig_get_attribute($this->env$this->source, (isset($context["filter_service"]) || array_key_exists("filter_service"$context) ? $context["filter_service"] : (function () { throw new RuntimeError('Variable "filter_service" does not exist.'917$this->source); })()), "getAvisUserExist", [=> twig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'917$this->source); })()), "user", [], "any"falsefalsefalse917), => (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'917$this->source); })())], "method"falsefalsefalse917);
  1319.             // line 918
  1320.             echo "\t\t\t\t\t\t\t";
  1321.             if (((isset($context["ifAvis"]) || array_key_exists("ifAvis"$context) ? $context["ifAvis"] : (function () { throw new RuntimeError('Variable "ifAvis" does not exist.'918$this->source); })()) == false)) {
  1322.                 // line 919
  1323.                 echo "\t\t\t\t\t\t\t\t<div class=\"card border card-shadow-none leave-review\" id=\"review-form\">
  1324. \t\t\t\t\t\t\t\t\t<div class=\"card-header bg-white mb0\">
  1325. \t\t\t\t\t\t\t\t\t\t<h3 class=\"mb0\">Evaluez votre commande</h3>
  1326. \t\t\t\t\t\t\t\t\t</div>
  1327. \t\t\t\t\t\t\t\t\t<div class=\"card-body\">
  1328. \t\t\t\t\t\t\t\t\t\t<div class=\"review-rating-select\">
  1329. \t\t\t\t\t\t\t\t\t\t\t<div class=\"rate-selection\">
  1330. \t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-dark\">Qualité du service</span>
  1331. \t\t\t\t\t\t\t\t\t\t\t\t<span id=\"rateYo1\" class=\"jq-ry-container ml-4\" style=\"width: 70px;\">
  1332. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-group-wrapper\">
  1333. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-normal-group jq-ry-group\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\">
  1334. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1335. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1336. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1337. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1338. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1339. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1340. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1341. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1342. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1343. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  1344. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1345. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-rated-group jq-ry-group\" id=\"rate1\" style=\"width: 72%;\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\">
  1346. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1347. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1348. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1349. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1350. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1351. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1352. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1353. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1354. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1355. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  1356. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1357. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1358. \t\t\t\t\t\t\t\t\t\t\t\t</span>
  1359. \t\t\t\t\t\t\t\t\t\t\t</div>
  1360. \t\t\t\t\t\t\t\t\t\t\t<div class=\"rate-selection\">
  1361. \t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-dark\">Fiabilité</span>
  1362. \t\t\t\t\t\t\t\t\t\t\t\t<span id=\"rateYo2\" class=\"jq-ry-container ml-4\" style=\"width: 70px;\">
  1363. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-group-wrapper\">
  1364. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-normal-group jq-ry-group\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\">
  1365. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1366. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1367. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1368. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1369. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1370. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1371. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1372. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1373. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1374. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  1375. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1376. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-rated-group jq-ry-group\" id=\"rate2\" style=\"width: 72%;\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\">
  1377. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1378. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1379. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1380. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1381. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1382. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1383. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1384. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1385. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1386. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  1387. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1388. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1389. \t\t\t\t\t\t\t\t\t\t\t\t</span>
  1390. \t\t\t\t\t\t\t\t\t\t\t</div>
  1391. \t\t\t\t\t\t\t\t\t\t\t<div class=\"rate-selection\">
  1392. \t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-dark\">Prix</span>
  1393. \t\t\t\t\t\t\t\t\t\t\t\t<span id=\"rateYo3\" class=\"jq-ry-container ml-4\" style=\"width: 70px;\">
  1394. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-group-wrapper\">
  1395. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-normal-group jq-ry-group\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\">
  1396. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1397. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1398. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1399. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1400. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1401. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1402. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1403. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1404. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1405. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  1406. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1407. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-rated-group jq-ry-group\" id=\"rate3\" style=\"width: 72%;\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\">
  1408. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1409. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1410. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1411. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1412. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1413. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1414. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1415. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1416. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1417. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  1418. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1419. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1420. \t\t\t\t\t\t\t\t\t\t\t\t</span>
  1421. \t\t\t\t\t\t\t\t\t\t\t</div>
  1422. \t\t\t\t\t\t\t\t\t\t\t<div class=\"rate-selection\">
  1423. \t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-dark\">Rapidité</span>
  1424. \t\t\t\t\t\t\t\t\t\t\t\t<span id=\"rateYo4\" class=\"jq-ry-container ml-4\" style=\"width: 70px;\">
  1425. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-group-wrapper\">
  1426. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-normal-group jq-ry-group\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\">
  1427. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1428. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1429. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1430. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1431. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1432. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1433. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1434. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1435. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1436. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  1437. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1438. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-rated-group jq-ry-group\" id=\"rate4\" style=\"width: 72%;\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\">
  1439. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1440. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1441. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1442. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1443. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1444. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1445. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1446. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1447. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1448. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  1449. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1450. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1451. \t\t\t\t\t\t\t\t\t\t\t\t</span>
  1452. \t\t\t\t\t\t\t\t\t\t\t</div>
  1453. \t\t\t\t\t\t\t\t\t\t\t<div class=\"rate-selection\">
  1454. \t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-dark\">Conforme à la description</span>
  1455. \t\t\t\t\t\t\t\t\t\t\t\t<span id=\"rateYo5\" class=\"jq-ry-container ml-4\" style=\"width: 70px;\">
  1456. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-group-wrapper\">
  1457. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-normal-group jq-ry-group\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\">
  1458. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1459. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1460. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1461. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1462. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1463. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1464. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1465. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1466. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1467. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  1468. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1469. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-rated-group jq-ry-group\" id=\"rate5\" style=\"width: 72%;\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\">
  1470. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1471. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1472. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1473. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1474. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1475. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1476. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1477. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1478. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1479. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  1480. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1481. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1482. \t\t\t\t\t\t\t\t\t\t\t\t</span>
  1483. \t\t\t\t\t\t\t\t\t\t\t</div>
  1484. \t\t\t\t\t\t\t\t\t\t\t<div class=\"rate-selection\">
  1485. \t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-dark\">Communication</span>
  1486. \t\t\t\t\t\t\t\t\t\t\t\t<span id=\"rateYo6\" class=\"jq-ry-container ml-4\" style=\"width: 70px;\">
  1487. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-group-wrapper\">
  1488. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-normal-group jq-ry-group\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\">
  1489. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1490. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1491. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1492. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1493. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1494. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1495. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1496. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  1497. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1498. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  1499. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1500. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-rated-group jq-ry-group\" id=\"rate6\" style=\"width: 72%;\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\">
  1501. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1502. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1503. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1504. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1505. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1506. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1507. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1508. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  1509. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  1510. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  1511. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1512. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  1513. \t\t\t\t\t\t\t\t\t\t\t\t</span>
  1514. \t\t\t\t\t\t\t\t\t\t\t</div>
  1515. \t\t\t\t\t\t\t\t\t\t</div>
  1516. \t\t\t\t\t\t\t\t\t\t";
  1517.                 // line 1113
  1518.                 echo                 $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->renderBlock((isset($context["formComment"]) || array_key_exists("formComment"$context) ? $context["formComment"] : (function () { throw new RuntimeError('Variable "formComment" does not exist.'1113$this->source); })()), 'form_start');
  1519.                 echo "
  1520. \t\t\t\t\t\t\t\t\t\t<div class=\"row\">
  1521. \t\t\t\t\t\t\t\t\t\t\t";
  1522.                 // line 1116
  1523.                 echo "\t\t\t\t\t\t\t\t\t\t\t<div class=\"col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mt30\">
  1524. \t\t\t\t\t\t\t\t\t\t\t\t";
  1525.                 // line 1121
  1526.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t";
  1527.                 // line 1122
  1528.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t\t";
  1529.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock((isset($context["formComment"]) || array_key_exists("formComment"$context) ? $context["formComment"] : (function () { throw new RuntimeError('Variable "formComment" does not exist.'1122$this->source); })()), 'widget');
  1530.                 echo "
  1531. \t\t\t\t\t\t\t\t\t\t\t\t";
  1532.                 // line 1124
  1533.                 echo "\t\t\t\t\t\t\t\t\t\t\t\t";
  1534.                 // line 1128
  1535.                 echo "\t\t\t\t\t\t\t\t\t\t\t</div>
  1536. \t\t\t\t\t\t\t\t\t\t\t<!-- Button -->
  1537. \t\t\t\t\t\t\t\t\t\t\t<div class=\"col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12\">
  1538. \t\t\t\t\t\t\t\t\t\t\t\t<div class=\"form-group\">
  1539. \t\t\t\t\t\t\t\t\t\t\t\t\t<button id=\"submit\" name=\"submit\" class=\"btn btn-default\">Ajouter mon avis</button>
  1540. \t\t\t\t\t\t\t\t\t\t\t\t</div>
  1541. \t\t\t\t\t\t\t\t\t\t\t</div>
  1542. \t\t\t\t\t\t\t\t\t\t</div>
  1543. \t\t\t\t\t\t\t\t\t\t";
  1544.                 // line 1137
  1545.                 echo "\t\t\t\t\t\t\t\t\t\t";
  1546.                 echo                 $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->renderBlock((isset($context["formComment"]) || array_key_exists("formComment"$context) ? $context["formComment"] : (function () { throw new RuntimeError('Variable "formComment" does not exist.'1137$this->source); })()), 'form_end');
  1547.                 echo "
  1548. \t\t\t\t\t\t\t\t\t</div>
  1549. \t\t\t\t\t\t\t\t</div>
  1550. \t\t\t\t\t\t\t";
  1551.             }
  1552.             // line 1141
  1553.             echo "\t\t\t\t\t\t";
  1554.         }
  1555.         // line 1142
  1556.         echo "\t\t\t\t\t</div>
  1557. \t\t\t\t\t<!-- /.review-content -->
  1558. \t\t\t\t</div>
  1559. \t\t\t\t<!-- /.location -->
  1560. \t\t\t\t<!-- list-sidebar -->
  1561. \t\t\t\t<div class=\"col-xl-4 col-lg-3 col-md-3 col-sm-12 col-12\">
  1562. \t\t\t\t\t<div
  1563. \t\t\t\t\t\tclass=\"sidebar-venue\">
  1564. \t\t\t\t\t\t<!-- FORMULAIRE DU PANIER -->
  1565. \t\t\t\t\t\t";
  1566.         // line 1151
  1567.         $context["isService"] = false;
  1568.         // line 1152
  1569.         echo "
  1570. \t\t\t\t\t\t";
  1571.         // line 1153
  1572.         $context['_parent'] = $context;
  1573.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1153$this->source); })()), "subCategories", [], "any"falsefalsefalse1153));
  1574.         foreach ($context['_seq'] as $context["_key"] => $context["productSubCategory"]) {
  1575.             // line 1154
  1576.             echo "\t\t\t\t\t\t\t";
  1577.             if ((twig_get_attribute($this->env$this->source$context["productSubCategory"], "isService", [], "any"falsefalsefalse1154) == true)) {
  1578.                 // line 1155
  1579.                 echo "\t\t\t\t\t\t\t\t";
  1580.                 $context["isService"] = true;
  1581.                 // line 1156
  1582.                 echo "\t\t\t\t\t\t\t";
  1583.             }
  1584.             // line 1157
  1585.             echo "\t\t\t\t\t\t";
  1586.         }
  1587.         $_parent $context['_parent'];
  1588.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['productSubCategory'], $context['_parent'], $context['loop']);
  1589.         $context array_intersect_key($context$_parent) + $_parent;
  1590.         // line 1158
  1591.         echo "
  1592. \t\t\t\t\t\t";
  1593.         // line 1159
  1594.         if (((isset($context["isService"]) || array_key_exists("isService"$context) ? $context["isService"] : (function () { throw new RuntimeError('Variable "isService" does not exist.'1159$this->source); })()) != true)) {
  1595.             // line 1160
  1596.             echo "\t\t\t\t\t\t\t";
  1597.             $this->loadTemplate("front/product/cart/cart_form.html.twig""front/product/single.html.twig"1160)->display(twig_array_merge($context, ["product" => (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1160$this->source); })())]));
  1598.             // line 1161
  1599.             echo "\t\t\t\t\t\t";
  1600.         }
  1601.         // line 1162
  1602.         echo "
  1603. \t\t\t\t\t\t";
  1604.         // line 1164
  1605.         if (((isset($context["isService"]) || array_key_exists("isService"$context) ? $context["isService"] : (function () { throw new RuntimeError('Variable "isService" does not exist.'1164$this->source); })()) == true)) {
  1606.             // line 1165
  1607.             echo "\t\t\t\t\t\t\t<!-- TEST DU TYPE DE SERVICE (location ou réservation) -->
  1608. \t\t\t\t\t\t\t";
  1609.             // line 1166
  1610.             $context["isLocation"] = false;
  1611.             // line 1167
  1612.             echo "
  1613. \t\t\t\t\t\t\t";
  1614.             // line 1168
  1615.             $context['_parent'] = $context;
  1616.             $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1168$this->source); })()), "subcategories", [], "any"falsefalsefalse1168));
  1617.             foreach ($context['_seq'] as $context["_key"] => $context["singleCategory"]) {
  1618.                 // line 1169
  1619.                 echo "\t\t\t\t\t\t\t\t";
  1620.                 if (((twig_get_attribute($this->env$this->source$context["singleCategory"], "name", [], "any"falsefalsefalse1169) == "Location de salle") || (twig_get_attribute($this->env$this->source$context["singleCategory"], "name", [], "any"falsefalsefalse1169) == "Location de vehicule"))) {
  1621.                     // line 1170
  1622.                     echo "\t\t\t\t\t\t\t\t\t";
  1623.                     $context["isLocation"] = true;
  1624.                     // line 1171
  1625.                     echo "\t\t\t\t\t\t\t\t";
  1626.                 }
  1627.                 // line 1172
  1628.                 echo "\t\t\t\t\t\t\t";
  1629.             }
  1630.             $_parent $context['_parent'];
  1631.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['singleCategory'], $context['_parent'], $context['loop']);
  1632.             $context array_intersect_key($context$_parent) + $_parent;
  1633.             // line 1173
  1634.             echo "
  1635. \t\t\t\t\t\t\t<!-- FORMULAIRE DE LOCATION -->
  1636. \t\t\t\t\t\t\t";
  1637.             // line 1175
  1638.             if ((((isset($context["isLocation"]) || array_key_exists("isLocation"$context) ? $context["isLocation"] : (function () { throw new RuntimeError('Variable "isLocation" does not exist.'1175$this->source); })()) == true) ||  !(null === twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1175$this->source); })()), "typeLocation", [], "any"falsefalsefalse1175)))) {
  1639.                 // line 1176
  1640.                 echo "\t\t\t\t\t\t\t\t";
  1641.                 $this->loadTemplate("front/product/location/location_form.html.twig""front/product/single.html.twig"1176)->display(twig_array_merge($context, ["product" => (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1176$this->source); })())]));
  1642.                 // line 1177
  1643.                 echo "\t\t\t\t\t\t\t";
  1644.             }
  1645.             // line 1178
  1646.             echo "
  1647. \t\t\t\t\t\t\t<!-- FORMULAIRE DE RESERVATION DE SERVICES -->
  1648. \t\t\t\t\t\t\t";
  1649.             // line 1180
  1650.             if ((((isset($context["isLocation"]) || array_key_exists("isLocation"$context) ? $context["isLocation"] : (function () { throw new RuntimeError('Variable "isLocation" does not exist.'1180$this->source); })()) == false) && (null === twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1180$this->source); })()), "typeLocation", [], "any"falsefalsefalse1180)))) {
  1651.                 // line 1181
  1652.                 echo "\t\t\t\t\t\t\t\t";
  1653.                 $this->loadTemplate("front/product/reservation/reservation_form.html.twig""front/product/single.html.twig"1181)->display(twig_array_merge($context, ["product" => (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1181$this->source); })())]));
  1654.                 // line 1182
  1655.                 echo "\t\t\t\t\t\t\t";
  1656.             }
  1657.             // line 1183
  1658.             echo "
  1659. \t\t\t\t\t\t";
  1660.         }
  1661.         // line 1185
  1662.         echo "
  1663. \t\t\t\t\t\t<div class=\"vendor-owner-profile mb30\">
  1664. \t\t\t\t\t\t\t<div class=\"vendor-owner-profile-head\">
  1665. \t\t\t\t\t\t\t\t<h3 class=\"mb-0\">Livraison</h3>
  1666. \t\t\t\t\t\t\t</div>
  1667. \t\t\t\t\t\t\t<div class=\"vendor-owner-profile-content\">
  1668. \t\t\t\t\t\t\t\t<ul class=\"list-group list-group-flush\">
  1669. \t\t\t\t\t\t\t\t\t<li class=\"list-group-item\">
  1670. \t\t\t\t\t\t\t\t\t\t<span class=\"mr-2\">
  1671. \t\t\t\t\t\t\t\t\t\t\t<i class=\"fas fa-fw fa-map-marker-alt\"></i>
  1672. \t\t\t\t\t\t\t\t\t\t</span>
  1673. \t\t\t\t\t\t\t\t\t\t";
  1674.         // line 1196
  1675.         $context['_parent'] = $context;
  1676.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1196$this->source); })()), "departments", [], "any"falsefalsefalse1196));
  1677.         $context['_iterated'] = false;
  1678.         $context['loop'] = [
  1679.           'parent' => $context['_parent'],
  1680.           'index0' => 0,
  1681.           'index'  => 1,
  1682.           'first'  => true,
  1683.         ];
  1684.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  1685.             $length count($context['_seq']);
  1686.             $context['loop']['revindex0'] = $length 1;
  1687.             $context['loop']['revindex'] = $length;
  1688.             $context['loop']['length'] = $length;
  1689.             $context['loop']['last'] = === $length;
  1690.         }
  1691.         foreach ($context['_seq'] as $context["_key"] => $context["department"]) {
  1692.             // line 1197
  1693.             echo "\t\t\t\t\t\t\t\t\t\t\t";
  1694.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["department"], "name", [], "any"falsefalsefalse1197), "html"nulltrue);
  1695.             echo "
  1696. \t\t\t\t\t\t\t\t\t\t\t";
  1697.             // line 1198
  1698.             if ( !twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse1198)) {
  1699.                 echo ",
  1700. \t\t\t\t\t\t\t\t\t\t\t";
  1701.             }
  1702.             // line 1200
  1703.             echo "\t\t\t\t\t\t\t\t\t\t";
  1704.             $context['_iterated'] = true;
  1705.             ++$context['loop']['index0'];
  1706.             ++$context['loop']['index'];
  1707.             $context['loop']['first'] = false;
  1708.             if (isset($context['loop']['length'])) {
  1709.                 --$context['loop']['revindex0'];
  1710.                 --$context['loop']['revindex'];
  1711.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  1712.             }
  1713.         }
  1714.         if (!$context['_iterated']) {
  1715.             // line 1201
  1716.             echo "\t\t\t\t\t\t\t\t\t\t\tToute la France
  1717. \t\t\t\t\t\t\t\t\t\t";
  1718.         }
  1719.         $_parent $context['_parent'];
  1720.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['department'], $context['_parent'], $context['loop']);
  1721.         $context array_intersect_key($context$_parent) + $_parent;
  1722.         // line 1203
  1723.         echo "\t\t\t\t\t\t\t\t\t</li>
  1724. \t\t\t\t\t\t\t\t</ul>
  1725. \t\t\t\t\t\t\t</div>
  1726. \t\t\t\t\t\t</div>
  1727. \t\t\t\t\t\t<!-- venue-admin -->
  1728. \t\t\t\t\t\t<div class=\"vendor-owner-profile mb30\">
  1729. \t\t\t\t\t\t\t<div class=\"vendor-owner-profile-head\">
  1730. \t\t\t\t\t\t\t\t<h3 class=\"mb-4\">Prestataire</h3>
  1731. \t\t\t\t\t\t\t</div>
  1732. \t\t\t\t\t\t\t<div class=\"vendor-owner-profile-content\">
  1733. \t\t\t\t\t\t\t\t<ul class=\"list-group list-group-flush\">
  1734. \t\t\t\t\t\t\t\t\t<li class=\"list-group-item\">
  1735. \t\t\t\t\t\t\t\t\t\t<span class=\"mr-2\">
  1736. \t\t\t\t\t\t\t\t\t\t\t<a href=\"";
  1737.         // line 1216
  1738.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("front_company_single", ["companySlug" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1216$this->source); })()), "company", [], "any"falsefalsefalse1216), "companySlug", [], "any"falsefalsefalse1216), "id" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1216$this->source); })()), "company", [], "any"falsefalsefalse1216), "id", [], "any"falsefalsefalse1216)]), "html"nulltrue);
  1739.         echo "\" class=\"btn btn-default btn-sm ml-2 text-center\">Voir le prestataire</a>
  1740. \t\t\t\t\t\t\t\t\t\t</span>
  1741. \t\t\t\t\t\t\t\t\t</li>
  1742. \t\t\t\t\t\t\t\t</ul>
  1743. \t\t\t\t\t\t\t</div>
  1744. \t\t\t\t\t\t</div>
  1745. \t\t\t\t\t</div>
  1746. \t\t\t\t</div>
  1747. \t\t\t</div>
  1748. \t\t\t<!-- /.list-sidebar -->
  1749. \t\t</div>
  1750. \t</div>
  1751. \t<!-- vendor-thumbnail section -->
  1752. \t<div class=\"space-small\">
  1753. \t\t<div class=\"container\">
  1754. \t\t\t<div class=\"row\">
  1755. \t\t\t\t<div class=\"col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12\">
  1756. \t\t\t\t\t<h2>Autres services du prestataire</h2>
  1757. \t\t\t\t</div>
  1758. \t\t\t</div>
  1759. \t\t\t<div class=\"row\">
  1760. \t\t\t\t";
  1761.         // line 1238
  1762.         $context['_parent'] = $context;
  1763.         $context['_seq'] = twig_ensure_traversable((isset($context["otherProducts"]) || array_key_exists("otherProducts"$context) ? $context["otherProducts"] : (function () { throw new RuntimeError('Variable "otherProducts" does not exist.'1238$this->source); })()));
  1764.         $context['_iterated'] = false;
  1765.         foreach ($context['_seq'] as $context["_key"] => $context["otherProduct"]) {
  1766.             // line 1239
  1767.             echo "\t\t\t\t\t<div class=\"col-xl-4 col-lg-4 col-md-6 col-sm-6 col-12\">
  1768. \t\t\t\t\t\t<div class=\"container-block-Pcompanies mb-3\">
  1769. \t\t\t\t\t\t\t<div class=\"container-imageP zoomimg\">
  1770. \t\t\t\t\t\t\t\t<a href=\"";
  1771.             // line 1242
  1772.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("front_product_single", ["slug" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["otherProduct"], "subCategories", [], "any"falsefalsefalse1242), 0, [], "array"falsefalsefalse1242), "categories", [], "any"falsefalsefalse1242), 0, [], "array"falsefalsefalse1242), "slug", [], "any"falsefalsefalse1242), "subCategorySlug" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["otherProduct"], "subCategories", [], "any"falsefalsefalse1242), 0, [], "array"falsefalsefalse1242), "subCategorySlug", [], "any"falsefalsefalse1242), "product_id" => twig_get_attribute($this->env$this->source$context["otherProduct"], "id", [], "any"falsefalsefalse1242), "productSlug" => twig_get_attribute($this->env$this->source$context["otherProduct"], "productSlug", [], "any"falsefalsefalse1242)]), "html"nulltrue);
  1773.             echo "\">
  1774. \t\t\t\t\t\t\t\t\t";
  1775.             // line 1243
  1776.             if ( !twig_test_empty(twig_get_attribute($this->env$this->source$context["otherProduct"], "photos", [], "any"falsefalsefalse1243))) {
  1777.                 // line 1244
  1778.                 echo "\t\t\t\t\t\t\t\t\t\t<img src=\"";
  1779.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((twig_constant("App\\Services\\File::IMAGE_PRODUCT_DIR") . twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["otherProduct"], "photos", [], "any"falsefalsefalse1244), "first", [], "any"falsefalsefalse1244), "url", [], "any"falsefalsefalse1244))), "html"nulltrue);
  1780.                 echo "\" alt=\"";
  1781.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["otherProduct"], "name", [], "any"falsefalsefalse1244), "html"nulltrue);
  1782.                 echo "\" class=\"img-fluid\" style=\"object-fit: cover; border-radius: .5rem .5rem 0 0;\">
  1783. \t\t\t\t\t\t\t\t\t";
  1784.             }
  1785.             // line 1246
  1786.             echo "\t\t\t\t\t\t\t\t</a>
  1787. \t\t\t\t\t\t\t</div>
  1788. \t\t\t\t\t\t\t<div class=\"container-info-presta\" style=\"padding-bottom: 80px;\">
  1789. \t\t\t\t\t\t\t\t<h2 class=\"vendor-title\">
  1790. \t\t\t\t\t\t\t\t\t<a href=\"";
  1791.             // line 1250
  1792.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("front_product_single", ["slug" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["otherProduct"], "subCategories", [], "any"falsefalsefalse1250), 0, [], "array"falsefalsefalse1250), "categories", [], "any"falsefalsefalse1250), 0, [], "array"falsefalsefalse1250), "slug", [], "any"falsefalsefalse1250), "subCategorySlug" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["otherProduct"], "subCategories", [], "any"falsefalsefalse1250), 0, [], "array"falsefalsefalse1250), "subCategorySlug", [], "any"falsefalsefalse1250), "product_id" => twig_get_attribute($this->env$this->source$context["otherProduct"], "id", [], "any"falsefalsefalse1250), "productSlug" => twig_get_attribute($this->env$this->source$context["otherProduct"], "productSlug", [], "any"falsefalsefalse1250)]), "html"nulltrue);
  1793.             echo "\" class=\"title\">";
  1794.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["otherProduct"], "name", [], "any"falsefalsefalse1250), "html"nulltrue);
  1795.             echo "</a>
  1796. \t\t\t\t\t\t\t\t</h2>
  1797. \t\t\t\t\t\t\t\t<p class=\"vendor-address\">
  1798. \t\t\t\t\t\t\t\t\t";
  1799.             // line 1253
  1800.             $context['_parent'] = $context;
  1801.             $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source$context["otherProduct"], "departments", [], "any"falsefalsefalse1253));
  1802.             $context['_iterated'] = false;
  1803.             $context['loop'] = [
  1804.               'parent' => $context['_parent'],
  1805.               'index0' => 0,
  1806.               'index'  => 1,
  1807.               'first'  => true,
  1808.             ];
  1809.             if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  1810.                 $length count($context['_seq']);
  1811.                 $context['loop']['revindex0'] = $length 1;
  1812.                 $context['loop']['revindex'] = $length;
  1813.                 $context['loop']['length'] = $length;
  1814.                 $context['loop']['last'] = === $length;
  1815.             }
  1816.             foreach ($context['_seq'] as $context["_key"] => $context["department"]) {
  1817.                 // line 1254
  1818.                 echo "\t\t\t\t\t\t\t\t\t\t";
  1819.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["department"], "name", [], "any"falsefalsefalse1254), "html"nulltrue);
  1820.                 echo "
  1821. \t\t\t\t\t\t\t\t\t\t";
  1822.                 // line 1255
  1823.                 if ( !twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse1255)) {
  1824.                     echo ",
  1825. \t\t\t\t\t\t\t\t\t\t";
  1826.                 }
  1827.                 // line 1257
  1828.                 echo "\t\t\t\t\t\t\t\t\t";
  1829.                 $context['_iterated'] = true;
  1830.                 ++$context['loop']['index0'];
  1831.                 ++$context['loop']['index'];
  1832.                 $context['loop']['first'] = false;
  1833.                 if (isset($context['loop']['length'])) {
  1834.                     --$context['loop']['revindex0'];
  1835.                     --$context['loop']['revindex'];
  1836.                     $context['loop']['last'] = === $context['loop']['revindex0'];
  1837.                 }
  1838.             }
  1839.             if (!$context['_iterated']) {
  1840.                 // line 1258
  1841.                 echo "\t\t\t\t\t\t\t\t\t\tToute la France
  1842. \t\t\t\t\t\t\t\t\t";
  1843.             }
  1844.             $_parent $context['_parent'];
  1845.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['department'], $context['_parent'], $context['loop']);
  1846.             $context array_intersect_key($context$_parent) + $_parent;
  1847.             // line 1260
  1848.             echo "\t\t\t\t\t\t\t\t</p>
  1849. \t\t\t\t\t\t\t\t<p>
  1850. \t\t\t\t\t\t\t\t\t<i class=\"fas fa-money-bill-wave\"></i>
  1851. \t\t\t\t\t\t\t\t\tPrix
  1852. \t\t\t\t\t\t\t\t\t<strong>";
  1853.             // line 1264
  1854.             echo twig_escape_filter($this->envtwig_number_format_filter($this->envtwig_get_attribute($this->env$this->source$context["otherProduct"], "price", [], "any"falsefalsefalse1264), 2"."""), "html"nulltrue);
  1855.             echo "</strong>
  1856. \t\t\t\t\t\t\t\t\t€</p>
  1857. \t\t\t\t\t\t\t\t<p>
  1858. \t\t\t\t\t\t\t\t\t<i class=\"fa fa-star rated\"></i>
  1859. \t\t\t\t\t\t\t\t\t";
  1860.             // line 1268
  1861.             echo twig_escape_filter($this->envtwig_length_filter($this->envtwig_get_attribute($this->env$this->source$context["otherProduct"], "avis", [], "any"falsefalsefalse1268)), "html"nulltrue);
  1862.             echo " Avis</p>
  1863. \t\t\t\t\t\t\t\t";
  1864.             // line 1269
  1865.             if (twig_get_attribute($this->env$this->source$context["otherProduct"], "quantity", [], "any"falsefalsefalse1269)) {
  1866.                 // line 1270
  1867.                 echo "\t\t\t\t\t\t\t\t\t<p>";
  1868.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["otherProduct"], "quantity", [], "any"falsefalsefalse1270), "html"nulltrue);
  1869.                 echo "
  1870. \t\t\t\t\t\t\t\t\t\tQuantité restante</p>
  1871.                                 ";
  1872.             } else {
  1873.                 // line 1273
  1874.                 echo "                                    <p style=\"color: transparent;\">Quantité restante</p>
  1875. \t\t\t\t\t\t\t\t";
  1876.             }
  1877.             // line 1275
  1878.             echo "\t\t\t\t\t\t\t</div>
  1879.                             <div class=\"wishlist-sign\">
  1880. \t\t\t\t\t\t\t\t<a href=\"#\" class=\"btn-wishlist\">
  1881. \t\t\t\t\t\t\t\t\t<i class=\"fa fa-heart\"></i>
  1882. \t\t\t\t\t\t\t\t</a>
  1883. \t\t\t\t\t\t\t</div>
  1884.                             <a href=\"";
  1885.             // line 1281
  1886.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("front_product_single", ["slug" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["otherProduct"], "subCategories", [], "any"falsefalsefalse1281), 0, [], "array"falsefalsefalse1281), "categories", [], "any"falsefalsefalse1281), 0, [], "array"falsefalsefalse1281), "slug", [], "any"falsefalsefalse1281), "subCategorySlug" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["otherProduct"], "subCategories", [], "any"falsefalsefalse1281), 0, [], "array"falsefalsefalse1281), "subCategorySlug", [], "any"falsefalsefalse1281), "product_id" => twig_get_attribute($this->env$this->source$context["otherProduct"], "id", [], "any"falsefalsefalse1281), "productSlug" => twig_get_attribute($this->env$this->source$context["otherProduct"], "productSlug", [], "any"falsefalsefalse1281)]), "html"nulltrue);
  1887.             echo "\" class=\"title\">
  1888.                                 <button class=\"btnVoirP btn\">Voir le produit</button>
  1889.                             </a>
  1890. \t\t\t\t\t\t</div>
  1891. \t\t\t\t\t</div>
  1892. \t\t\t\t";
  1893.             $context['_iterated'] = true;
  1894.         }
  1895.         if (!$context['_iterated']) {
  1896.             // line 1287
  1897.             echo "\t\t\t\t\t<div class=\"col-md-12 mt-5 text-center\">
  1898. \t\t\t\t\t\t<p>Aucun autre produit.</p>
  1899. \t\t\t\t\t</div>
  1900. \t\t\t\t";
  1901.         }
  1902.         $_parent $context['_parent'];
  1903.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['otherProduct'], $context['_parent'], $context['loop']);
  1904.         $context array_intersect_key($context$_parent) + $_parent;
  1905.         // line 1291
  1906.         echo "\t\t\t</div>
  1907. \t\t\t";
  1908.         // line 1373
  1909.         echo "\t\t</div>
  1910. \t</div>
  1911.     ";
  1912.         // line 1377
  1913.         echo "\t<div class=\"col-sm-12 col-md-5 col-lg-4 col-xl-3 position-fixed\" id=\"chatbar\" style=\"bottom:0;right:50px;z-index: 1000\">
  1914. \t\t<div class=\"panel panel-primary myradiuss\">
  1915. \t\t\t\t";
  1916.         // line 1391
  1917.         echo "\t\t\t\t<div class=\"panel-collapse collapse\" id=\"collapseOne\" style=\"border:1px solid #A066F2\">
  1918. \t\t\t\t\t";
  1919.         // line 1394
  1920.         echo "\t\t\t\t\t\t";
  1921.         // line 1398
  1922.         echo "\t\t\t\t\t<div class=\"titreSMS\"><h3 style=\"margin-bottom: 0\">Discutez avec le prestataire</h3></div>
  1923. \t\t\t\t\t";
  1924.         // line 1399
  1925.         echo         $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->renderBlock((isset($context["formTicket"]) || array_key_exists("formTicket"$context) ? $context["formTicket"] : (function () { throw new RuntimeError('Variable "formTicket" does not exist.'1399$this->source); })()), 'form_start');
  1926.         echo "
  1927. \t\t\t\t\t<span class=\"collapseMessage\" data-toggle=\"collapse\" data-parent=\"#accordion\" href=\"#collapseOne\">X</span>
  1928. \t\t\t\t\t<div class=\"modal-body\">
  1929. \t\t\t\t\t\t";
  1930.         // line 1408
  1931.         echo "\t\t\t\t\t\t<div class=\"col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12\">
  1932. \t\t\t\t\t\t\t<div class=\"form-group\">
  1933. \t\t\t\t\t\t\t\t";
  1934.         // line 1410
  1935.         echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env$this->source, (isset($context["formTicket"]) || array_key_exists("formTicket"$context) ? $context["formTicket"] : (function () { throw new RuntimeError('Variable "formTicket" does not exist.'1410$this->source); })()), "messagings", [], "any"falsefalsefalse1410), 'row');
  1936.         echo "
  1937. \t\t\t\t\t\t\t</div>
  1938. \t\t\t\t\t\t</div>
  1939. \t\t\t\t\t\t<div class=\"col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12\">
  1940. \t\t\t\t\t\t\t<div class=\"form-group\">
  1941. \t\t\t\t\t\t\t\t<input class='form-control' name=\"productID\" type=\"hidden\" value=";
  1942.         // line 1415
  1943.         echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1415$this->source); })()), "id", [], "any"falsefalsefalse1415), "html"nulltrue);
  1944.         echo " readonly>
  1945. \t\t\t\t\t\t\t</div>
  1946. \t\t\t\t\t\t</div>
  1947. \t\t\t\t\t</div>
  1948. \t\t\t\t\t<div class=\"modal-footer\">
  1949. \t\t\t\t\t\t";
  1950.         // line 1421
  1951.         echo "\t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-primary\">Envoyer</button>
  1952. \t\t\t\t\t</div>
  1953. \t\t\t\t\t";
  1954.         // line 1423
  1955.         echo         $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->renderBlock((isset($context["formTicket"]) || array_key_exists("formTicket"$context) ? $context["formTicket"] : (function () { throw new RuntimeError('Variable "formTicket" does not exist.'1423$this->source); })()), 'form_end');
  1956.         echo "
  1957. \t\t\t\t\t";
  1958.         // line 1440
  1959.         echo "\t\t\t\t</div>
  1960. \t\t\t</div>
  1961. \t\t</div>
  1962. \t</div>
  1963. \t";
  1964.         // line 1446
  1965.         echo "\t<!-- Button trigger modal -->
  1966. \t\t";
  1967.         // line 1447
  1968.         if (twig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'1447$this->source); })()), "user", [], "any"falsefalsefalse1447)) {
  1969.             // line 1448
  1970.             echo "\t\t<div class=\"position-fixed\" id=\"MyChat\" data-toggle=\"collapse\" data-parent=\"#accordion\" href=\"#collapseOne\">
  1971. \t\t\t<i class=\"fas fa-comments MyIconChat\"></i>
  1972. \t\t</div>
  1973. \t\t";
  1974.             // line 1455
  1975.             echo "\t\t ";
  1976.         } else {
  1977.             // line 1456
  1978.             echo "\t\t <script src=\"\">
  1979. \t\t \tfunction connect(){
  1980. \t\t\t\twindow.open(\"";
  1981.             // line 1458
  1982.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("connection-test", ["product_id" => twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1458$this->source); })()), "id", [], "any"falsefalsefalse1458), "productSlug" => twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1458$this->source); })()), "productSlug", [], "any"falsefalsefalse1458)]), "html"nulltrue);
  1983.             echo "\", \"pub\", \"menubar=no\");
  1984. \t\t\t}
  1985. \t\t </script>
  1986. \t\t\t<div class=\"position-fixed\" id=\"MyChat\">
  1987. \t\t\t\t";
  1988.             // line 1463
  1989.             echo "\t\t\t\t<a href=\"";
  1990.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("connection-test", ["product_id" => twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1463$this->source); })()), "id", [], "any"falsefalsefalse1463), "productSlug" => twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1463$this->source); })()), "productSlug", [], "any"falsefalsefalse1463)]), "html"nulltrue);
  1991.             echo "\" onclick=\"connect();\" rel=\"noopener\" target=\"_blank\">
  1992. \t\t\t\t<i class=\"fas fa-comments MyIconChat\"></i>
  1993. \t\t\t\t</a>
  1994. \t\t\t</div>
  1995. \t\t";
  1996.         }
  1997.         // line 1468
  1998.         echo "
  1999. \t
  2000. \t";
  2001.         // line 1471
  2002.         echo "
  2003. \t";
  2004.         
  2005.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  2006.         
  2007.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  2008.     }
  2009.     // line 1474
  2010.     public function block__avis_imageComments_widget($context, array $blocks = [])
  2011.     {
  2012.         $macros $this->macros;
  2013.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  2014.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""_avis_imageComments_widget"));
  2015.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  2016.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""_avis_imageComments_widget"));
  2017.         // line 1475
  2018.         echo "\t\t<p>Ici, vous pouvez ajouter vos image, sa taille ne doit pas dépasser 400ko !</p>
  2019. \t\t<div class=\"form-group\">
  2020. \t\t\t<button class=\"btn btn-primary\" id=\"add_image\" data-target=\"#block_";
  2021.         // line 1477
  2022.         echo twig_escape_filter($this->env, (isset($context["id"]) || array_key_exists("id"$context) ? $context["id"] : (function () { throw new RuntimeError('Variable "id" does not exist.'1477$this->source); })()), "html"nulltrue);
  2023.         echo "\" type=\"button\">Ajouter une image</button>
  2024. \t\t</div>
  2025. \t\t";
  2026.         // line 1480
  2027.         echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock((isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'1480$this->source); })()), 'widget');
  2028.         echo "
  2029. \t\t<input type=\"hidden\" id=\"widgets-counter\" value=\"0\">
  2030. \t\t<input type=\"hidden\" id=\"conteur-input\" value=\"0\">
  2031. \t";
  2032.         
  2033.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  2034.         
  2035.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  2036.     }
  2037.     // line 1487
  2038.     public function block__avis_imageComments_entry_row($context, array $blocks = [])
  2039.     {
  2040.         $macros $this->macros;
  2041.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  2042.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""_avis_imageComments_entry_row"));
  2043.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  2044.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""_avis_imageComments_entry_row"));
  2045.         // line 1488
  2046.         echo "\t\t";
  2047.         echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock((isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'1488$this->source); })()), 'widget');
  2048.         echo "
  2049. \t";
  2050.         
  2051.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  2052.         
  2053.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  2054.     }
  2055.     // line 1492
  2056.     public function block__avis_imageComments_entry_widget($context, array $blocks = [])
  2057.     {
  2058.         $macros $this->macros;
  2059.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  2060.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""_avis_imageComments_entry_widget"));
  2061.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  2062.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""_avis_imageComments_entry_widget"));
  2063.         // line 1493
  2064.         echo "\t\t<div class=\"form-group\" id=\"block_";
  2065.         echo twig_escape_filter($this->env, (isset($context["id"]) || array_key_exists("id"$context) ? $context["id"] : (function () { throw new RuntimeError('Variable "id" does not exist.'1493$this->source); })()), "html"nulltrue);
  2066.         echo "\">
  2067. \t\t\t<div class=\"row\">
  2068. \t\t\t\t<div class=\"col-10 mt-3\">
  2069. \t\t\t\t\t<div class=\"row\">
  2070. \t\t\t\t\t\t<div class=\"col-md-12 image-errors\">
  2071. \t\t\t\t\t\t\t";
  2072.         // line 1499
  2073.         echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'1499$this->source); })()), "url", [], "any"falsefalsefalse1499), 'widget', ["attr" => ["class" => "form-control file-input"]]);
  2074.         echo "
  2075. \t\t\t\t\t\t\t";
  2076.         // line 1500
  2077.         echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock(twig_get_attribute($this->env$this->source, (isset($context["form"]) || array_key_exists("form"$context) ? $context["form"] : (function () { throw new RuntimeError('Variable "form" does not exist.'1500$this->source); })()), "url", [], "any"falsefalsefalse1500), 'errors', ["attr" => ["class" => "form-control message"]]);
  2078.         echo "
  2079. \t\t\t\t\t\t</div>
  2080. \t\t\t\t\t</div>
  2081. \t\t\t\t</div>
  2082. \t\t\t\t<div class=\"col-2 mt-3\">
  2083. \t\t\t\t\t<button type=\"button\" data-action=\"delete\" data-target=\"#block_";
  2084.         // line 1506
  2085.         echo twig_escape_filter($this->env, (isset($context["id"]) || array_key_exists("id"$context) ? $context["id"] : (function () { throw new RuntimeError('Variable "id" does not exist.'1506$this->source); })()), "html"nulltrue);
  2086.         echo "\" class=\"btn btn-danger\">X</button>
  2087. \t\t\t\t</div>
  2088. \t\t\t</div>
  2089. \t\t</div>
  2090. \t";
  2091.         
  2092.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  2093.         
  2094.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  2095.     }
  2096.     // line 1512
  2097.     public function block_javascript($context, array $blocks = [])
  2098.     {
  2099.         $macros $this->macros;
  2100.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  2101.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  2102.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  2103.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  2104.         // line 1513
  2105.         echo "\t\t<script title=\"zoom img comment\">
  2106. \t\t\t";
  2107.         // line 1514
  2108.         $context['_parent'] = $context;
  2109.         $context['_seq'] = twig_ensure_traversable(twig_slice($this->env, (isset($context["productAvis"]) || array_key_exists("productAvis"$context) ? $context["productAvis"] : (function () { throw new RuntimeError('Variable "productAvis" does not exist.'1514$this->source); })()), 03));
  2110.         foreach ($context['_seq'] as $context["key"] => $context["productAvi"]) {
  2111.             // line 1515
  2112.             echo "\t\t\t\tif (\$('.img_comment').length) {
  2113. \t\t\t\t\t\$('#cli_";
  2114.             // line 1516
  2115.             echo twig_escape_filter($this->env$context["key"], "html"nulltrue);
  2116.             echo " .img_comment').magnificPopup({
  2117. \t\t\t\t\t\titems: [";
  2118.             // line 1517
  2119.             $context['_parent'] = $context;
  2120.             $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["productAvi"], "imageComments", [], "any"falsefalsefalse1517), "toArray", [], "method"falsefalsefalse1517));
  2121.             $context['loop'] = [
  2122.               'parent' => $context['_parent'],
  2123.               'index0' => 0,
  2124.               'index'  => 1,
  2125.               'first'  => true,
  2126.             ];
  2127.             if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  2128.                 $length count($context['_seq']);
  2129.                 $context['loop']['revindex0'] = $length 1;
  2130.                 $context['loop']['revindex'] = $length;
  2131.                 $context['loop']['length'] = $length;
  2132.                 $context['loop']['last'] = === $length;
  2133.             }
  2134.             foreach ($context['_seq'] as $context["_key"] => $context["imageComment"]) {
  2135.                 echo "{
  2136. \t\t\t\t\t\t\t\tsrc: \"";
  2137.                 // line 1518
  2138.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((twig_constant("App\\Services\\File::IMAGE_COMMENT_DIR") . twig_get_attribute($this->env$this->source$context["imageComment"], "url", [], "any"falsefalsefalse1518))), "html"nulltrue);
  2139.                 echo "\",
  2140. \t\t\t\t\t\t\t\ttitle: 'Photo ' + ";
  2141.                 // line 1519
  2142.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse1519), "html"nulltrue);
  2143.                 echo "
  2144. \t\t\t\t\t\t\t},";
  2145.                 ++$context['loop']['index0'];
  2146.                 ++$context['loop']['index'];
  2147.                 $context['loop']['first'] = false;
  2148.                 if (isset($context['loop']['length'])) {
  2149.                     --$context['loop']['revindex0'];
  2150.                     --$context['loop']['revindex'];
  2151.                     $context['loop']['last'] = === $context['loop']['revindex0'];
  2152.                 }
  2153.             }
  2154.             $_parent $context['_parent'];
  2155.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['imageComment'], $context['_parent'], $context['loop']);
  2156.             $context array_intersect_key($context$_parent) + $_parent;
  2157.             // line 1520
  2158.             echo "],
  2159. \t\t\t\t\t\tgallery: {
  2160. \t\t\t\t\t\t\tenabled: true
  2161. \t\t\t\t\t\t},
  2162. \t\t\t\t\t\ttype: 'image' // this is a default type
  2163. \t\t\t\t\t});
  2164. \t\t\t\t}
  2165. \t\t\t";
  2166.         }
  2167.         $_parent $context['_parent'];
  2168.         unset($context['_seq'], $context['_iterated'], $context['key'], $context['productAvi'], $context['_parent'], $context['loop']);
  2169.         $context array_intersect_key($context$_parent) + $_parent;
  2170.         // line 1528
  2171.         echo "\t\t</script>
  2172. \t\t<script>
  2173. \t\t\tdocument.getElementById(\"profil_user_image\").addEventListener('change', function() {
  2174. \t\t\t\tvar reader = new FileReader();
  2175. \t\t\t\treader.onload = function (e) {
  2176. \t\t\t\t\t// get loaded data and render thumbnail.
  2177. \t\t\t\t\tconsole.log(e.target)
  2178. \t\t\t\t\tdocument.getElementById(\"image-preview\").style.background = `url(\${e.target.result})no-repeat center`;
  2179. \t\t\t\t\tdocument.getElementById(\"image-preview\").style.backgroundSize = `cover`;
  2180. \t\t\t\t};
  2181. \t\t\t\t// read the image file as a data URL.
  2182. \t\t\t\treader.readAsDataURL(this.files[0]);
  2183. \t\t\t});
  2184. \t\t</script>
  2185. \t\t";
  2186.         // line 1545
  2187.         $this->displayParentBlock("javascript"$context$blocks);
  2188.         echo "
  2189. \t\t";
  2190.         // line 1547
  2191.         echo "\t\t<script>
  2192. \t\t\tlet backgroundFlou = document.querySelector('.backgroundTrans');
  2193. \t\t\tlet exitBtn = document.querySelector('.exitZoomOpt');
  2194. \t\t\t//Affiche image clikee
  2195. \t\t\tfunction afficheImgOption(idbtn) {
  2196. \t\t\t\tlet img = document.getElementById(idbtn + \"img\");
  2197. \t\t\t\t//console.log(img);
  2198. \t\t\t\t//img.classList.add('showImgOption');
  2199. \t\t\t\timg.style.display = \"block\";
  2200. \t\t\t\tbackgroundFlou.style.display = \"block\";
  2201. \t\t\t\texitBtn.style.display = \"block\";
  2202. \t\t\t}\t
  2203. \t\t\t//Fermer par contoure image
  2204. \t\t\tbackgroundFlou.addEventListener('click', function () {
  2205. \t\t\t\tlet imgZoomOp = document.querySelectorAll(\".imgZoomOption\");
  2206. \t\t\t\timgZoomOp.forEach(function(item,index){
  2207. \t\t\t\t\timgZoomOp[index].style.display = \"none\";
  2208. \t\t\t\t})
  2209. \t\t\t\tbackgroundFlou.style.display = \"none\";
  2210. \t\t\t\texitBtn.style.display = \"none\";
  2211. \t\t\t})
  2212. \t\t\t
  2213. \t\t\t//Fermer par boutton X
  2214. \t\t\texitBtn.addEventListener('click', function () {
  2215. \t\t\t\tlet imgZoomOp = document.querySelectorAll(\".imgZoomOption\");
  2216. \t\t\t\timgZoomOp.forEach(function(item,index){
  2217. \t\t\t\t\timgZoomOp[index].style.display = \"none\";
  2218. \t\t\t\t})
  2219. \t\t\t\tbackgroundFlou.style.display = \"none\";
  2220. \t\t\t\texitBtn.style.display = \"none\";
  2221. \t\t\t})
  2222. \t\t</script>
  2223. <script>
  2224. var counte = [];
  2225. \$('#add_image').click(function () {
  2226. const index = + \$('#widgets-counter').val();
  2227. var tab = this.dataset.target;
  2228. var valeur = tab + \"_\" + index;
  2229. if (counte.length < 3) {
  2230. counte.push(valeur);
  2231. const tmpl = \$('#avis_imageComments').data('prototype').replace(/__name__/g, index);
  2232. \$('#avis_imageComments').append(tmpl);
  2233. \$('#widgets-counter').val(index + 1);
  2234. }
  2235. handleDeleteButtons();
  2236. })
  2237. function handleDeleteButtons() {
  2238. \$('button[data-action=\"delete\"]').click(function (event) {
  2239. event.preventDefault();
  2240. const target = this.dataset.target;
  2241. var num = counte.indexOf(target);
  2242. \$(target).remove();
  2243. if (num != -1) {
  2244. counte.splice(num, 1);
  2245. }
  2246. });
  2247. }
  2248. function updateCounter() {
  2249. const count = + \$('#comment_imageComment div.form-group').length;
  2250. \$('#widgets-counter').val(count);
  2251. }
  2252. updateCounter();
  2253. handleDeleteButtons();
  2254. // OnFileValidation();
  2255. var previewPicture  = function (e) {
  2256.     // e.files contient un objet FileList
  2257.     const [picture] = e.files
  2258.     // \"picture\" est un objet File
  2259.     if (picture) {
  2260.         // On change l'URL de l'image
  2261.         document.getElementById(\"img_profil\").src = URL.createObjectURL(picture)
  2262.     }
  2263. }
  2264. \t\t\t</script>
  2265. \t\t<script tite=\"gestion options front\" src=\"";
  2266.         // line 1631
  2267.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("js/gestion_option.js"), "html"nulltrue);
  2268.         echo "\">
  2269. \t\t</script>
  2270. \t\t<script>
  2271. \$(document).ready(function () {
  2272.     \$('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({
  2273.         disableOn: 700,
  2274.         type: 'iframe',
  2275.         mainClass: 'mfp-fade',
  2276.         removalDelay: 160,
  2277.         preloader: false,
  2278.         fixedContentPos: false
  2279.     });
  2280. });
  2281. ";
  2282.         // line 1646
  2283.         echo "function wcqib_refresh_quantity_increments() {
  2284.     jQuery(\"div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)\").each(function (a, b) {
  2285.         var c = jQuery(b);
  2286.         c.addClass(\"buttons_added\"),
  2287.             c.children().first().before('<input type=\"button\" value=\"-\" class=\"minus\" />'),
  2288.             c.children().last().after('<input type=\"button\" value=\"+\" class=\"plus\" />')
  2289.     })
  2290. }
  2291. String.prototype.getDecimals || (String.prototype.getDecimals = function () {
  2292.     var a = this,
  2293.         b = (\"\" + a).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?\$/);
  2294.     return b ? Math.max(0, (b[1] ? b[1].length : 0) - (b[2] ? + b[2] : 0)) : 0
  2295. }),
  2296.     jQuery(document).ready(function () {
  2297.         wcqib_refresh_quantity_increments()
  2298.     }),
  2299.     jQuery(document).on(\"updated_wc_div\", function () {
  2300.         wcqib_refresh_quantity_increments()
  2301.     }),
  2302.     jQuery(document).on(\"click\", \".plus, .minus\", function () {
  2303.         var a = jQuery(this).closest(\".quantity\").find(\".qty\"),
  2304.             b = parseFloat(a.val()),
  2305.             c = parseFloat(a.attr(\"max\")),
  2306.             d = parseFloat(a.attr(\"min\")),
  2307.             e = a.attr(\"step\");
  2308.         b && \"\" !== b && \"NaN\" !== b || (b = 0),
  2309.             \"\" !== c && \"NaN\" !== c || (c = \"\"),
  2310.             \"\" !== d && \"NaN\" !== d || (d = 0),
  2311.             \"any\" !== e && \"\" !== e && void 0 !== e && \"NaN\" !== parseFloat(e) || (e = 1),
  2312.             jQuery(this).is(\".plus\") ? c && b >= c ? a.val(c) : a.val((b + parseFloat(e)).toFixed(e.getDecimals())) : d && b <= d ? a.val(d) : b > 0 && a.val((b - parseFloat(e)).toFixed(e.getDecimals())),
  2313.             a.trigger(\"change\")
  2314.     });
  2315. ";
  2316.         // line 1679
  2317.         echo "
  2318. if (\$('#open-popup-images').length) {
  2319. \t\$('#open-popup-images').magnificPopup({
  2320. \t\titems: [";
  2321.         // line 1683
  2322.         $context['_parent'] = $context;
  2323.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'1683$this->source); })()), "photos", [], "any"falsefalsefalse1683));
  2324.         $context['loop'] = [
  2325.           'parent' => $context['_parent'],
  2326.           'index0' => 0,
  2327.           'index'  => 1,
  2328.           'first'  => true,
  2329.         ];
  2330.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  2331.             $length count($context['_seq']);
  2332.             $context['loop']['revindex0'] = $length 1;
  2333.             $context['loop']['revindex'] = $length;
  2334.             $context['loop']['length'] = $length;
  2335.             $context['loop']['last'] = === $length;
  2336.         }
  2337.         foreach ($context['_seq'] as $context["_key"] => $context["photo"]) {
  2338.             echo "{
  2339. \t\tsrc: \"";
  2340.             // line 1684
  2341.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl((twig_constant("App\\Services\\File::IMAGE_PRODUCT_DIR") . twig_get_attribute($this->env$this->source$context["photo"], "url", [], "any"falsefalsefalse1684))), "html"nulltrue);
  2342.             echo "\",
  2343. \t\ttitle: 'Photo ' + ";
  2344.             // line 1685
  2345.             echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["loop"], "index", [], "any"falsefalsefalse1685), "html"nulltrue);
  2346.             echo "
  2347. \t},";
  2348.             ++$context['loop']['index0'];
  2349.             ++$context['loop']['index'];
  2350.             $context['loop']['first'] = false;
  2351.             if (isset($context['loop']['length'])) {
  2352.                 --$context['loop']['revindex0'];
  2353.                 --$context['loop']['revindex'];
  2354.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  2355.             }
  2356.         }
  2357.         $_parent $context['_parent'];
  2358.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['photo'], $context['_parent'], $context['loop']);
  2359.         $context array_intersect_key($context$_parent) + $_parent;
  2360.         // line 1686
  2361.         echo "],
  2362. \t\tgallery: {
  2363. \t\tenabled: true
  2364. \t},
  2365. \t\ttype: 'image' // this is a default type
  2366. \t});
  2367. }
  2368. \t\t</script>
  2369. \t\t<script>
  2370. window.addEventListener('load', (event) => {
  2371. \tlocalStorage.clear();
  2372. });
  2373. function modiffOption(id_option,url) {
  2374. \tconsole.log('zaaa',url);
  2375. \tfetch(`\${url}/option/\${id_option}`)
  2376.     .then(response=> response.json())
  2377.     .then(data=>{
  2378. \t\t
  2379. \t\t\$(\".nice-select\").attr(\"style\", \"display: none !important\");
  2380. \t\t\$(\"#id_optionmodal\").val(id_option);
  2381. \t\t\$(\"#name_optionmodal\").val(data.options.name);
  2382. \t\t\$(\"#image_optionmodal\").val(data.options.image1);
  2383. \t\tvar imageopt=`<img id=\"optionbtn1img\" src=\"/upload/produits/\${data.options.image1}\">`;
  2384. \t\t\$(\"#optionsimage\").html(imageopt);
  2385. \t\tconsole.log('image',imageopt);
  2386. \t\tconsole.log('subcates',data.options);
  2387. \t\tconsole.log('olor',data.options.colorsOption);
  2388. \t\tif ( typeof data.options.colorsOption != \"undefined\" && data.options.colorsOption != null && data.options.colorsOption.length != null && data.options.colorsOption.length > 0) {
  2389. \t\t\tvar colorso =\"\";
  2390. \t\t\tfor (let i = 0; i < data.options.colorsOption.length; i++) {
  2391. \t\t\t\tcolorso +='<option>'+ data.options.colorsOption[i]+'</option>'
  2392. \t\t\t}
  2393. \t\t\t\$(\"#optionscolor\").html(colorso);
  2394. \t\t\t\$(\".optionscolor\").attr(\"style\", \"display: block !important\");
  2395. \t\t\t\$(\"#optionscolor\").attr(\"style\", \"display: block !important\");
  2396. \t\t}else{
  2397. \t\t\t\$(\".optionscolor\").attr(\"style\", \"display: none !important\");
  2398. \t\t}
  2399.         if (typeof data.options.format != \"undefined\" && data.options.format != null && data.options.format.length != null && data.options.format.length > 0) {
  2400. \t\t\tvar formatopt =\"\";
  2401. \t\t\tfor (let i = 0; i < data.options.format.length; i++) {
  2402. \t\t\t\tformatopt +='<option>'+data.options.format[i]+'</option>'
  2403. \t\t\t}
  2404. \t\t\t\$(\"#optionsform\").html(formatopt);
  2405. \t\t\t\$(\".optionsform\").attr(\"style\", \"display: block !important\");
  2406. \t\t\t\$(\"#optionsform\").attr(\"style\", \"display: block !important\");
  2407. \t\t}
  2408. \t\telse{
  2409. \t\t\t\$(\".optionsform\").attr(\"style\", \"display: none !important\");
  2410. \t\t}
  2411.         if (typeof data.options.finition != \"undefined\" && data.options.finition != null && data.options.finition.length != null && data.options.finition.length > 0) {
  2412. \t\t\tvar finitions =\"\";
  2413. \t\t\tfor (let i = 0; i < data.options.finition.length; i++) {
  2414. \t\t\t\tfinitions +='<option>'+data.options.finition[i]+'</option>'
  2415. \t\t\t}
  2416. \t\t\t\$(\"#optionsfinition\").html(finitions);
  2417. \t\t\t\$(\".optionsfinition\").attr(\"style\", \"display: block !important\");
  2418. \t\t\t\$(\"#optionsfinition\").attr(\"style\", \"display: block !important\");
  2419. \t\t}
  2420. \t\telse{
  2421. \t\t\t\$(\".optionsfinition\").attr(\"style\", \"display: none !important\");
  2422. \t\t}
  2423. \t\tif (typeof data.options.papier != \"undefined\" && data.options.papier != null && data.options.papier.length != null && data.options.papier.length > 0) {
  2424. \t\t\tvar papiers =\"\";
  2425. \t\t\tfor (let i = 0; i < data.options.papier.length; i++) {
  2426. \t\t\t\tpapiers +='<option>'+data.options.papier[i]+'</option>'
  2427. \t\t\t}
  2428. \t\t\t\$(\"#optionspapier\").html(papiers);
  2429. \t\t\t\$(\".optionspapier\").attr(\"style\", \"display: block !important\");
  2430. \t\t\t\$(\"#optionspapier\").attr(\"style\", \"display: block !important\");
  2431. \t\t}
  2432. \t\telse{
  2433. \t\t\t\$(\".optionspapier\").attr(\"style\", \"display: none !important\");
  2434. \t\t}
  2435.         if (typeof data.options.quantite != \"undefined\" && data.options.quantite != null && data.options.quantite.length != null && data.options.quantite.length > 0) {
  2436. \t\t\tvar quantites =\"\";
  2437. \t\t\tfor (let i = 0; i < data.options.quantite.length; i++) {
  2438. \t\t\t\tquantites +='<option>'+data.options.quantite[i]+'</option>'
  2439. \t\t\t}
  2440. \t\t\t\$(\"#optionsquantite\").html(quantites);
  2441. \t\t\t\$(\".optionsquantite\").attr(\"style\", \"display: block !important\");
  2442. \t\t\t\$(\"#optionsquantite\").attr(\"style\", \"display: block !important\");
  2443. \t\t}
  2444. \t\telse{
  2445. \t\t\t\$(\".optionsquantite\").attr(\"style\", \"display: none !important\");
  2446. \t\t}
  2447.         if (typeof data.options.etiquette != \"undefined\" && data.options.etiquette != null && data.options.etiquette.length != null && data.options.etiquette.length > 0) {
  2448. \t\t\tvar etiquettes =\"\";
  2449. \t\t\tfor (let i = 0; i < data.options.etiquette.length; i++) {
  2450. \t\t\t\tetiquettes +='<option>'+data.options.etiquette[i]+'</option>'
  2451. \t\t\t}
  2452. \t\t\t\$(\"#optionsetiquette\").html(etiquettes);
  2453. \t\t\t\$(\".optionsetiquette\").attr(\"style\", \"display: block !important\");
  2454. \t\t\t\$(\"#optionsetiquette\").attr(\"style\", \"display: block !important\");
  2455. \t\t}
  2456. \t\telse{
  2457. \t\t\t\$(\".optionsetiquette\").attr(\"style\", \"display: none !important\");
  2458. \t\t}
  2459.         if (typeof data.options.ruban != \"undefined\" && data.options.ruban != null && data.options.ruban.length != null && data.options.ruban.length > 0) {
  2460. \t\t\tvar rubans =\"\";
  2461. \t\t\tfor (let i = 0; i < data.options.ruban.length; i++) {
  2462. \t\t\t\trubans +='<option>'+data.options.ruban[i]+'</option>'
  2463. \t\t\t}
  2464. \t\t\t\$(\"#optionsruban\").html(rubans);
  2465. \t\t\t\$(\".optionsruban\").attr(\"style\", \"display: block !important\");
  2466. \t\t\t\$(\"#optionsruban\").attr(\"style\", \"display: block !important\");
  2467. \t\t}
  2468. \t\telse{
  2469. \t\t\t\$(\".optionsruban\").attr(\"style\", \"display: none !important\");
  2470. \t\t}
  2471. \t\t
  2472. \t\t\$(\"#modalOption\").modal(\"show\");
  2473. \t\t\t
  2474. \t});
  2475. \t
  2476. }
  2477. // function envoiGroupOption(params) {
  2478. // \tconsole.log(\"io fa tonga\");
  2479. // \t var valeuroptions = localStorage.getItem('produit_option');
  2480. // \t\$(\"#storageGroupsOption\").val(valeuroptions);
  2481. // }
  2482. function validemodaloption() {
  2483. \t//\$(\"#optionscolor\").val();
  2484. \t \$(\"#modalOption\").modal(\"hide\");
  2485. \tconsole.log(\$(\"#optionscolor\").val(),\$(\"#id_optionmodal\").val());
  2486. \t const data = {
  2487.             idoption: \$(\"#id_optionmodal\").val(),
  2488. \t\t\tnomoption: \$(\"#name_optionmodal\").val(),
  2489. \t\t\timageoption: \$(\"#image_optionmodal\").val(),
  2490.             color: \$(\"#optionscolor\").val(),
  2491.             form: \$(\"#optionsform\").val(),
  2492.             finition: \$(\"#optionsfinition\").val(),
  2493.             papier: \$(\"#optionspapier\").val(),
  2494.             quantite: \$(\"#optionsquantite\").val(),
  2495.             etiquette: \$(\"#optionsetiquette\").val(),
  2496.             ruban: \$(\"#optionsruban\").val(),
  2497.         };
  2498.     //     let datas = new FormData();
  2499.     //   return  datas.append(\"data\", JSON.stringify(data));
  2500.     
  2501. \tlocalStorage.setItem(\$(\"#id_optionmodal\").val(), JSON.stringify(data));
  2502. }
  2503. // Fonction afiches tous option
  2504. function voirtoutOption(id_product,url) {
  2505. \tconsole.log('kokokoko',url);
  2506. \tconsole.log('isID',id_product);
  2507. \t// var id_product=314;
  2508. \t\$(\"#valeurOpion\").html(\"\");
  2509. \tfetch(`\${url}/tous-options-product/\${id_product}`)
  2510.     .then(response=> response.json())
  2511.     .then(data=>{
  2512. \t\tconsole.log('tous option', data);
  2513. \t\t\$(\"#valeurOpion\").append(data);
  2514. \t});
  2515. \t
  2516. }
  2517. function validemodalgroupe() {
  2518. \$(\"#modalOptionGP\").modal(\"hide\");
  2519.  var goption= document.getElementsByClassName('goption');
  2520.  var labels =new Array();
  2521.  for (let i = 0; i < goption.length; i++) {
  2522. \tvar id_goption = goption[i].id.split(\"_\");
  2523. \tvar label= document.getElementsByClassName('label_'+id_goption[1]);
  2524. \tvar hidden= document.getElementsByClassName('hidden_'+id_goption[1]);
  2525. \tvar qte= document.getElementsByClassName('qte_'+id_goption[1]);
  2526. \t
  2527. \t// console.log('labeb',label);
  2528. \tvar compter=0;
  2529. \t
  2530. \t var lab =new Array();
  2531. \t var qt =new Array();
  2532. \tfor (let l = 0; l < label.length; l++) {
  2533. \t   console.log('type', label[l].type);
  2534. \t\t if (label[l].type==\"checkbox\" && label[l].checked) {
  2535.             
  2536. \t\t\tlab[compter] = hidden[l].value;
  2537. \t\t\tqt[compter] = qte[l].value;
  2538. \t\t\tcompter++
  2539.         }
  2540. \t\tif (label[l].type==\"select-one\" && label[l].value != \"\") {    
  2541. \t\t\tlab[compter] = label[l].value;
  2542. \t\t\tqt[compter] = qte[l].value;
  2543. \t\t\tcompter++
  2544.         }
  2545. \t}
  2546. \tlabels[i] = {idoption: id_goption[1], labelo: lab, qte: qt};
  2547.  }
  2548.     console.log('valin label',labels);
  2549. \t
  2550. \tlocalStorage.setItem('produit_option', JSON.stringify(labels));
  2551. }
  2552. \t\t// Ajouter au panier
  2553. document.addEventListener('DOMContentLoaded', function () {
  2554.     if (!document.getElementById('form_add_bascket')) {
  2555.         return;
  2556.     }
  2557.     var form = document.getElementById('form_add_bascket');
  2558. \t// var url = window.location.href.split('/');
  2559. \t// var param_url = url[0]+'//'+url[2];
  2560. \t// var checkOpt = document.querySelectorAll('.option-product');
  2561. \t// var dataOptios = [];
  2562. \t// for (var i = 0; i < checkOpt.length; i++) {
  2563.     // checkOpt[i].addEventListener('change', (option) => {
  2564. \t// \t// console.log('pppp',this);
  2565. \t// \tvar idop = option.target.getAttribute('data-id');
  2566. \t// \t// console.log(\"izzz\",param_url, idop);
  2567. \t// \tfetch(`\${param_url}/option/\${idop}`)
  2568. \t// \t.then(response=> response.json())
  2569. \t// \t.then(data=>{
  2570. \t// \t\tconsole.log('qqqqqq',data.options);
  2571. \t// \t\tconsole.log('nn',option.target.checked);
  2572. \t// \t\tif (option.target.checked) {
  2573. \t\t\t\t
  2574. \t// \t\t\tvar dataOption={
  2575. \t// \t\t\t\t\tidoption: data.options.id ? data.options.id : null,
  2576. \t// \t\t\t\t\tnomoption: data.options.name ? data.options.name : null,
  2577. \t// \t\t\t\t\timageoption: data.options.image1 ? data.options.image1 : null,
  2578. \t// \t\t\t\t\tcolor: data.options.colorsOption[0] ? data.options.colorsOption[0] : null,
  2579. \t// \t\t\t\t\tform: data.options.format[0] ? data.options.format[0] : null,
  2580. \t// \t\t\t\t\tfinition: data.options.finition[0] ? data.options.finition[0] : null,
  2581. \t// \t\t\t\t\tpapier: data.options.papier[0] ? data.options.papier[0] : null,
  2582. \t// \t\t\t\t\tquantite: data.options.quantite[0] ? data.options.quantite[0] : null,
  2583. \t// \t\t\t\t\tetiquette: data.options.etiquette[0] ? data.options.etiquette[0] : null,
  2584. \t// \t\t\t\t\truban: data.options.ruban[0] ? data.options.ruban[0] : null ,
  2585. \t// \t\t\t\t\t}
  2586. \t// \t\t\tdataOptios.push(dataOption);
  2587. \t// \t\t}else{
  2588. \t// \t\t\tconsole.log('miala checked');
  2589.     //             console.log('donnée',dataOptios);
  2590. \t// \t\t\tfor (let g = 0; g < dataOptios.length; g++) {\t
  2591. \t// \t\t\t\tif (dataOptios[g].idoption == idop) {
  2592. \t// \t\t\t\t\tconsole.log('données_hita',dataOptios[g].idoption);
  2593. \t// \t\t\t\t}
  2594. \t// \t\t\t}
  2595. \t// \t\t}
  2596. \t// \t});
  2597. \t// })
  2598. \t// }\t
  2599. \t
  2600.     form.addEventListener('submit', (e) => {
  2601.         e.preventDefault();
  2602. \t\t let form = e.target;
  2603.         const formData = new FormData(form);
  2604. \t\t// for (let h = 0; h < dataOptios.length; h++) {\t
  2605. \t\t// \t//  formData.append(\"OpId_\"+j, values[j]);
  2606. \t\t// \t//  console.log(\"valuo\",values[j]);
  2607. \t\t// \tconsole.log('tonga_aty',dataOptios[h]);
  2608. \t\t// }  
  2609. \t var valeuroptions=localStorage.getItem('produit_option');
  2610. \t localStorage.removeItem('produit_option');
  2611. \t console.log(\"localstor\", valeuroptions);
  2612. \t formData.append(\"groupOption\", valeuroptions);
  2613. \t//  var table=[];
  2614. \t//  for (let o = 0; o < valeuroptions.length; o++) {
  2615. \t// \ttable[]= valeuroptions[o];\t
  2616. \t//  }
  2617. \t//  console.log('valertab', table);
  2618. \t  if (Object.keys(localStorage).length != 0) {
  2619. \t\t
  2620. \t\t  var values = [];
  2621. \t\t  keys = Object.keys(localStorage);
  2622. \t\t  i = keys.length;
  2623.   
  2624. \t\t  while ( i-- ) {
  2625. \t\t\t  values.push( localStorage.getItem(keys[i]) );
  2626. \t\t\t  localStorage.removeItem(keys[i]);
  2627. \t\t  }       
  2628. \t\t  formData.append(\"tail\",values.length);
  2629. \t\t  
  2630. \t\t  for (let j = 0; j < values.length; j++) {\t
  2631. \t\t\t formData.append(\"OpId_\"+j, values[j]);
  2632. \t\t\t console.log(\"valuo\",values[j]);
  2633. \t\t  }
  2634. \t  }
  2635.         fetch(form.action, {
  2636.             method: form.method,
  2637.             body: formData
  2638.         }).then(response => response.json())
  2639. \t\t.then(data => {
  2640.             if (data.message === 'ok') {
  2641.                 if (data.response === 'added') {
  2642.                     const btnAdd = document.getElementById('btn_add');
  2643.                     btnAdd.classList.replace('btn-primary', 'btn-danger');
  2644.                     btnAdd.textContent = 'Supprimer du panier';
  2645.                     const msgElt = document.getElementById('message_form');
  2646.                     msgElt.classList.replace('text-danger', 'text-success');
  2647.                     msgElt.classList.add('text-center');
  2648.                     msgElt.textContent = 'Produit ajouté au panier !';
  2649. \t\t\t\t\t
  2650.                     let nbProducts = parseInt(document.getElementById('nb_basket').innerHTML);
  2651.                     nbProducts++;
  2652.                     document.getElementById('nb_basket').textContent = nbProducts;
  2653.                 } else if (data.response === 'removed') {
  2654.                     const btnAdd = document.getElementById('btn_add');
  2655.                     btnAdd.classList.replace('btn-danger', 'btn-primary');
  2656.                     btnAdd.textContent = 'Ajouter au panier';
  2657.                     const msgElt = document.getElementById('message_form');
  2658.                     msgElt.classList.replace('text-danger', 'text-success');
  2659.                     msgElt.classList.add('text-center');
  2660.                     msgElt.textContent = 'Produit supprimé du panier !';
  2661.                     let nbProducts = parseInt(document.getElementById('nb_basket').innerHTML);
  2662.                     nbProducts--;
  2663.                     document.getElementById('nb_basket').textContent = nbProducts;
  2664.                 } else if (data.response === 'error') {
  2665.                     const msgElt = document.getElementById('message_form');
  2666.                     msgElt.textContent = data.response;
  2667.                 }
  2668.             } else if (data.message === 'error') {
  2669. \t\t\t\tif (data.response === 'Quantité non disponible'){
  2670. \t\t\t\t\tconst msgElt = document.getElementById('message_form');
  2671. \t\t\t\t\tmsgElt.classList.replace('text-success', 'text-danger');
  2672. \t\t\t\t\tmsgElt.classList.add('text-center');
  2673. \t\t\t\t\tmsgElt.textContent = 'Quantité pas disponible';
  2674. \t\t\t\t\treturn;
  2675. \t\t\t\t}
  2676. \t\t\t\tif (data.response === 'Quantité option non disponible') {
  2677. \t\t\t\t\tconst msgElt = document.getElementById('message_form');
  2678. \t\t\t\t\tmsgElt.classList.replace('text-success', 'text-danger');
  2679. \t\t\t\t\tmsgElt.classList.add('text-center');
  2680. \t\t\t\t\tmsgElt.textContent = 'Il y a une quantité d\\'option pas disponible';
  2681. \t\t\t\t\treturn;
  2682. \t\t\t\t}
  2683. \t\t\t}
  2684.         });
  2685.         return false;
  2686.     })
  2687.     const btnWish = document.getElementById('btn_add_wish');
  2688.     if (btnWish) {
  2689.         btnWish.addEventListener('click', () => {
  2690.             fetch(\"";
  2691.         // line 2034
  2692.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("front_add_wish", ["id" => twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'2034$this->source); })()), "id", [], "any"falsefalsefalse2034)]), "html"nulltrue);
  2693.         echo "\", { method: \"POST\" }).then(response => response.json()).then(data => {
  2694.                 if (data.message === 'ok') {
  2695.                     if (data.response === 'added') {
  2696.                         btnWish.style.color = '#fff';
  2697.                         btnWish.style.backgroundColor = '#ff4d4d';
  2698.                         document.getElementById('text_btn').textContent = \"Supprimer\";
  2699.                     } else if (data.response === 'removed') {
  2700.                         btnWish.style.color = '#ff4d4d';
  2701.                         btnWish.style.backgroundColor = '#fff';
  2702.                         document.getElementById('text_btn').textContent = \"Ajouter\";
  2703.                     }
  2704.                 }
  2705.             });
  2706.         })
  2707.     }
  2708. })
  2709. \t\t</script>
  2710. \t\t<script>
  2711. const formContact = document.getElementById('contactFormProduct');
  2712. formContact.addEventListener('submit', (e) => {
  2713. e.preventDefault();
  2714. let form = e.target;
  2715. const formData = new FormData(form);
  2716. fetch(form.action, {
  2717. method: form.method,
  2718. body: formData
  2719. }).then(response => response.json()).then(data => {
  2720. if (data.status === 'ok') {
  2721. document.getElementById('messageSuccessContact').style.display = 'block';
  2722. formContact.reset();
  2723. }
  2724. });
  2725. return false;
  2726. })
  2727. \t\t</script>
  2728. \t\t<script src=\"";
  2729.         // line 2076
  2730.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("js/jquery.rateyo.min.js"), "html"nulltrue);
  2731.         echo "\"></script>
  2732. \t\t<script>
  2733. \t\t\t\$(function () {
  2734. \$(\"#rateYo1, #rateYo2, #rateYo3, #rateYo4, #rateYo5, #rateYo6 \").rateYo({rating: 3.6});
  2735. });
  2736. \$(\"#rateYo1\").rateYo().on(\"rateyo.change\", function (e, data) {
  2737. var \$rateYo = \$(\"#rateYo1\").rateYo(\"rating\");
  2738. \$('#avis_serviceQuality').val(\$rateYo);
  2739. });
  2740. \$(\"#rateYo2\").rateYo().on(\"rateyo.change\", function (e, data) {
  2741. var \$rateYo = \$(\"#rateYo2\").rateYo(\"rating\");
  2742. \$('#avis_fiability').val(\$rateYo);
  2743. });
  2744. \$(\"#rateYo3\").rateYo().on(\"rateyo.change\", function (e, data) {
  2745. var \$rateYo = \$(\"#rateYo3\").rateYo(\"rating\");
  2746. \$('#avis_price').val(\$rateYo);
  2747. });
  2748. \$(\"#rateYo4\").rateYo().on(\"rateyo.change\", function (e, data) {
  2749. var \$rateYo = \$(\"#rateYo4\").rateYo(\"rating\");
  2750. \$('#avis_speed').val(\$rateYo);
  2751. });
  2752. \$(\"#rateYo5\").rateYo().on(\"rateyo.change\", function (e, data) {
  2753. var \$rateYo = \$(\"#rateYo5\").rateYo(\"rating\");
  2754. \$('#avis_conformDescription').val(\$rateYo);
  2755. });
  2756. \$(\"#rateYo6\").rateYo().on(\"rateyo.change\", function (e, data) {
  2757. var \$rateYo = \$(\"#rateYo6\").rateYo(\"rating\");
  2758. \$('#avis_communication').val(\$rateYo);
  2759. });
  2760. \t\t</script>
  2761. \t\t";
  2762.         // line 2109
  2763.         $context["isService"] = false;
  2764.         // line 2110
  2765.         echo "
  2766. \t\t";
  2767.         // line 2111
  2768.         $context['_parent'] = $context;
  2769.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'2111$this->source); })()), "subCategories", [], "any"falsefalsefalse2111));
  2770.         foreach ($context['_seq'] as $context["_key"] => $context["productSubCategory"]) {
  2771.             // line 2112
  2772.             echo "\t\t\t";
  2773.             if ((twig_get_attribute($this->env$this->source$context["productSubCategory"], "isService", [], "any"falsefalsefalse2112) == true)) {
  2774.                 // line 2113
  2775.                 echo "\t\t\t\t";
  2776.                 $context["isService"] = true;
  2777.                 // line 2114
  2778.                 echo "\t\t\t";
  2779.             }
  2780.             // line 2115
  2781.             echo "\t\t";
  2782.         }
  2783.         $_parent $context['_parent'];
  2784.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['productSubCategory'], $context['_parent'], $context['loop']);
  2785.         $context array_intersect_key($context$_parent) + $_parent;
  2786.         // line 2116
  2787.         echo "
  2788. \t\t";
  2789.         // line 2117
  2790.         if (((isset($context["isService"]) || array_key_exists("isService"$context) ? $context["isService"] : (function () { throw new RuntimeError('Variable "isService" does not exist.'2117$this->source); })()) == true)) {
  2791.             // line 2118
  2792.             echo "\t\t\t<!-- LOCATIONS -->
  2793. \t\t\t";
  2794.             // line 2119
  2795.             $context["isLocation"] = false;
  2796.             // line 2120
  2797.             echo "
  2798. \t\t\t";
  2799.             // line 2121
  2800.             $context['_parent'] = $context;
  2801.             $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'2121$this->source); })()), "subcategories", [], "any"falsefalsefalse2121));
  2802.             foreach ($context['_seq'] as $context["_key"] => $context["singleCategory"]) {
  2803.                 // line 2122
  2804.                 echo "\t\t\t\t";
  2805.                 if (((twig_get_attribute($this->env$this->source$context["singleCategory"], "name", [], "any"falsefalsefalse2122) == "Location de salle") || (twig_get_attribute($this->env$this->source$context["singleCategory"], "name", [], "any"falsefalsefalse2122) == "Location de vehicule"))) {
  2806.                     // line 2123
  2807.                     echo "\t\t\t\t\t";
  2808.                     $context["isLocation"] = true;
  2809.                     // line 2124
  2810.                     echo "\t\t\t\t";
  2811.                 }
  2812.                 // line 2125
  2813.                 echo "\t\t\t";
  2814.             }
  2815.             $_parent $context['_parent'];
  2816.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['singleCategory'], $context['_parent'], $context['loop']);
  2817.             $context array_intersect_key($context$_parent) + $_parent;
  2818.             // line 2126
  2819.             echo "
  2820. \t\t\t";
  2821.             // line 2127
  2822.             if (array_key_exists("isLocation"$context)) {
  2823.                 // line 2128
  2824.                 echo "\t\t\t\t<!-- LOCATIONS -->
  2825. \t\t\t\t";
  2826.                 // line 2129
  2827.                 if ((((isset($context["isLocation"]) || array_key_exists("isLocation"$context) ? $context["isLocation"] : (function () { throw new RuntimeError('Variable "isLocation" does not exist.'2129$this->source); })()) == true) ||  !(null === twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'2129$this->source); })()), "typeLocation", [], "any"falsefalsefalse2129)))) {
  2828.                     // line 2130
  2829.                     echo "
  2830. \t\t\t\t\t";
  2831.                     // line 2131
  2832.                     $context["locations"] = [];
  2833.                     // line 2132
  2834.                     echo "
  2835. \t\t\t\t\t";
  2836.                     // line 2133
  2837.                     $context['_parent'] = $context;
  2838.                     $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'2133$this->source); })()), "locations", [], "any"falsefalsefalse2133));
  2839.                     foreach ($context['_seq'] as $context["_key"] => $context["location"]) {
  2840.                         // line 2134
  2841.                         echo "\t\t\t\t\t\t";
  2842.                         // line 2135
  2843.                         echo "\t\t\t\t\t\t";
  2844.                         // line 2136
  2845.                         echo "\t\t\t\t\t\t\t";
  2846.                         if (((twig_get_attribute($this->env$this->source$context["location"], "isAccepted", [], "any"falsefalsefalse2136) === null) || (twig_get_attribute($this->env$this->source$context["location"], "isAccepted", [], "any"falsefalsefalse2136) === true))) {
  2847.                             // line 2137
  2848.                             echo "\t\t\t\t\t\t";
  2849.                             $context["locations"] = twig_array_merge((isset($context["locations"]) || array_key_exists("locations"$context) ? $context["locations"] : (function () { throw new RuntimeError('Variable "locations" does not exist.'2137$this->source); })()), [=> ["debut" => twig_get_attribute($this->env$this->source$context["location"], "startAt", [], "any"falsefalsefalse2137), "fin" => twig_get_attribute($this->env$this->source$context["location"], "endAt", [], "any"falsefalsefalse2137), "typeLocation" => ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["location"], "product", [], "any"falsefalsefalse2137), "typeLocation", [], "any"falsefalsefalse2137)) ? (twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["location"], "product", [], "any"falsefalsefalse2137), "typeLocation", [], "any"falsefalsefalse2137), "label", [], "any"falsefalsefalse2137)) : (""))]]);
  2850.                             // line 2138
  2851.                             echo "\t\t\t\t\t";
  2852.                         }
  2853.                         // line 2139
  2854.                         echo "\t\t\t\t\t\t";
  2855.                         // line 2142
  2856.                         echo "\t\t\t\t\t";
  2857.                     }
  2858.                     $_parent $context['_parent'];
  2859.                     unset($context['_seq'], $context['_iterated'], $context['_key'], $context['location'], $context['_parent'], $context['loop']);
  2860.                     $context array_intersect_key($context$_parent) + $_parent;
  2861.                     // line 2143
  2862.                     echo "
  2863. \t\t\t\t\t<script>
  2864. \t\t\t\t\t\tconst checkOptLocation = document.querySelectorAll('.cheklocationclass');
  2865. \t\t\t\t\t\t
  2866. \t\t\t\t\t\tfor (var i = 0; i < checkOptLocation.length; i++) {
  2867. \t\t\t\t\t\t\tcheckOptLocation[i].addEventListener('change', (option) => {
  2868. \t\t\t\t\t\t\t\tif (option.target.checked) {
  2869. \t\t\t\t\t\t\t\t\tconst priceOptionre = option.target.getAttribute('data-price');
  2870. \t\t\t\t\t\t\t\t\tconsole.log('yyyaaa',\$(\"#totalPricese\").html());
  2871. \t\t\t\t\t\t\t\t\tvar total= parseFloat(\$(\"#totalPricese\").html()) + parseFloat(priceOptionre);
  2872. \t\t\t\t\t\t\t\t\t\$(\"#totalPricese\").html(total);
  2873. \t\t\t\t\t\t\t\t}else{
  2874. \t\t\t\t\t\t\t\t\tconst priceOptionre = option.target.getAttribute('data-price');
  2875. \t\t\t\t\t\t\t\t\tvar total= parseFloat(\$(\"#totalPricese\").html()) - parseFloat(priceOptionre);
  2876. \t\t\t\t\t\t\t\t\t\$(\"#totalPricese\").html(total);
  2877. \t\t\t\t\t\t\t\t}
  2878. \t\t\t\t\t\t\t})
  2879. \t\t\t\t\t\t}
  2880. \t\t\t\t\t</script>
  2881. \t\t\t\t\t<script>
  2882. \t\t\t\t\t\tlet locations = ";
  2883.                     // line 2164
  2884.                     echo json_encode((isset($context["locations"]) || array_key_exists("locations"$context) ? $context["locations"] : (function () { throw new RuntimeError('Variable "locations" does not exist.'2164$this->source); })()));
  2885.                     echo ";
  2886. \t\t\t\t\t</script>
  2887. \t\t\t\t\t";
  2888.                     // line 2166
  2889.                     if (twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'2166$this->source); })()), "typeLocation", [], "any"falsefalsefalse2166)) {
  2890.                         // line 2167
  2891.                         echo "\t\t\t\t\t\t";
  2892.                         if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'2167$this->source); })()), "typeLocation", [], "any"falsefalsefalse2167), "label", [], "any"falsefalsefalse2167) == "heure")) {
  2893.                             // line 2168
  2894.                             echo "\t\t\t\t\t\t\t<script src=\"https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment-with-locales.min.js\"></script>
  2895. \t\t\t\t\t\t\t<script src=\"https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.8.1/baguetteBox.min.js\"></script>
  2896. \t\t\t\t\t\t\t<script src=\"";
  2897.                             // line 2170
  2898.                             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/js/jquery.datetimepicker.full.js"), "html"nulltrue);
  2899.                             echo "\"></script>
  2900. \t\t\t\t\t\t\t<script src=\"";
  2901.                             // line 2171
  2902.                             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/js/calendrierLocationHeure.js"), "html"nulltrue);
  2903.                             echo "\"></script>
  2904. \t\t\t\t\t\t";
  2905.                         } else {
  2906.                             // line 2173
  2907.                             echo "\t\t\t\t\t\t\t<script src=\"";
  2908.                             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/js/calendrierJours.js"), "html"nulltrue);
  2909.                             echo "\"></script>
  2910. \t\t\t\t\t\t";
  2911.                         }
  2912.                         // line 2175
  2913.                         echo "\t\t\t\t\t";
  2914.                     } else {
  2915.                         // line 2176
  2916.                         echo "\t\t\t\t\t\t<script src=\"";
  2917.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/js/calendrierJours.js"), "html"nulltrue);
  2918.                         echo "\"></script>
  2919. \t\t\t\t\t";
  2920.                     }
  2921.                     // line 2178
  2922.                     echo "\t\t\t\t";
  2923.                 }
  2924.                 // line 2179
  2925.                 echo "
  2926. \t\t\t\t<!-- RESERVATIONS -->
  2927. \t\t\t\t";
  2928.                 // line 2181
  2929.                 if ((((isset($context["isLocation"]) || array_key_exists("isLocation"$context) ? $context["isLocation"] : (function () { throw new RuntimeError('Variable "isLocation" does not exist.'2181$this->source); })()) === false) && (null === twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'2181$this->source); })()), "typeLocation", [], "any"falsefalsefalse2181)))) {
  2930.                     // line 2182
  2931.                     echo "\t\t\t\t\t";
  2932.                     $context["reservationsList"] = [];
  2933.                     // line 2183
  2934.                     echo "
  2935. \t\t\t\t\t";
  2936.                     // line 2184
  2937.                     $context['_parent'] = $context;
  2938.                     $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["product"]) || array_key_exists("product"$context) ? $context["product"] : (function () { throw new RuntimeError('Variable "product" does not exist.'2184$this->source); })()), "reservations", [], "any"falsefalsefalse2184));
  2939.                     foreach ($context['_seq'] as $context["_key"] => $context["reservation"]) {
  2940.                         // line 2185
  2941.                         echo "\t\t\t\t\t\t";
  2942.                         if (((twig_get_attribute($this->env$this->source$context["reservation"], "isAccepted", [], "any"falsefalsefalse2185) === null) || (twig_get_attribute($this->env$this->source$context["reservation"], "isAccepted", [], "any"falsefalsefalse2185) === true))) {
  2943.                             // line 2186
  2944.                             echo "\t\t\t\t\t\t\t";
  2945.                             $context["reservationsList"] = twig_array_merge((isset($context["reservationsList"]) || array_key_exists("reservationsList"$context) ? $context["reservationsList"] : (function () { throw new RuntimeError('Variable "reservationsList" does not exist.'2186$this->source); })()), [=> ["date_livraison" => twig_get_attribute($this->env$this->source$context["reservation"], "reservationPlannedAt", [], "any"falsefalsefalse2186)]]);
  2946.                             // line 2187
  2947.                             echo "\t\t\t\t\t\t";
  2948.                         }
  2949.                         // line 2188
  2950.                         echo "\t\t\t\t\t";
  2951.                     }
  2952.                     $_parent $context['_parent'];
  2953.                     unset($context['_seq'], $context['_iterated'], $context['_key'], $context['reservation'], $context['_parent'], $context['loop']);
  2954.                     $context array_intersect_key($context$_parent) + $_parent;
  2955.                     // line 2189
  2956.                     echo "\t\t\t\t\t ";
  2957.                     // line 2208
  2958.                     echo "\t\t\t\t\t<script>
  2959. \t\t\t\t\t\tlet reservationsList = ";
  2960.                     // line 2209
  2961.                     echo json_encode((isset($context["reservationsList"]) || array_key_exists("reservationsList"$context) ? $context["reservationsList"] : (function () { throw new RuntimeError('Variable "reservationsList" does not exist.'2209$this->source); })()));
  2962.                     echo ";
  2963. \t\t\t\t\t</script>
  2964. \t\t\t\t\t<script src=\"https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment-with-locales.min.js\"></script>
  2965. \t\t\t\t\t<script src=\"https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.8.1/baguetteBox.min.js\"></script>
  2966. \t\t\t\t\t<script src=\"";
  2967.                     // line 2213
  2968.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/js/jquery.datetimepicker.full.js"), "html"nulltrue);
  2969.                     echo "\"></script>
  2970. \t\t\t\t\t<script src=\"";
  2971.                     // line 2214
  2972.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("/js/calendrierReservation.js"), "html"nulltrue);
  2973.                     echo "\"></script>
  2974. \t\t\t\t";
  2975.                 }
  2976.                 // line 2216
  2977.                 echo "\t\t\t";
  2978.             }
  2979.             // line 2217
  2980.             echo "\t\t";
  2981.         }
  2982.         // line 2218
  2983.         echo "
  2984. \t";
  2985.         
  2986.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  2987.         
  2988.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  2989.     }
  2990.     public function getTemplateName()
  2991.     {
  2992.         return "front/product/single.html.twig";
  2993.     }
  2994.     public function isTraitable()
  2995.     {
  2996.         return false;
  2997.     }
  2998.     public function getDebugInfo()
  2999.     {
  3000.         return array (  3106 => 2218,  3103 => 2217,  3100 => 2216,  3095 => 2214,  3091 => 2213,  3084 => 2209,  3081 => 2208,  3079 => 2189,  3073 => 2188,  3070 => 2187,  3067 => 2186,  3064 => 2185,  3060 => 2184,  3057 => 2183,  3054 => 2182,  3052 => 2181,  3048 => 2179,  3045 => 2178,  3039 => 2176,  3036 => 2175,  3030 => 2173,  3025 => 2171,  3021 => 2170,  3017 => 2168,  3014 => 2167,  3012 => 2166,  3007 => 2164,  2984 => 2143,  2978 => 2142,  2976 => 2139,  2973 => 2138,  2970 => 2137,  2967 => 2136,  2965 => 2135,  2963 => 2134,  2959 => 2133,  2956 => 2132,  2954 => 2131,  2951 => 2130,  2949 => 2129,  2946 => 2128,  2944 => 2127,  2941 => 2126,  2935 => 2125,  2932 => 2124,  2929 => 2123,  2926 => 2122,  2922 => 2121,  2919 => 2120,  2917 => 2119,  2914 => 2118,  2912 => 2117,  2909 => 2116,  2903 => 2115,  2900 => 2114,  2897 => 2113,  2894 => 2112,  2890 => 2111,  2887 => 2110,  2885 => 2109,  2849 => 2076,  2804 => 2034,  2454 => 1686,  2438 => 1685,  2434 => 1684,  2415 => 1683,  2409 => 1679,  2375 => 1646,  2358 => 1631,  2272 => 1547,  2268 => 1545,  2249 => 1528,  2236 => 1520,  2220 => 1519,  2216 => 1518,  2197 => 1517,  2193 => 1516,  2190 => 1515,  2186 => 1514,  2183 => 1513,  2173 => 1512,  2158 => 1506,  2149 => 1500,  2145 => 1499,  2135 => 1493,  2125 => 1492,  2111 => 1488,  2101 => 1487,  2085 => 1480,  2079 => 1477,  2075 => 1475,  2065 => 1474,  2054 => 1471,  2050 => 1468,  2041 => 1463,  2034 => 1458,  2030 => 1456,  2027 => 1455,  2022 => 1448,  2020 => 1447,  2017 => 1446,  2010 => 1440,  2006 => 1423,  2002 => 1421,  1994 => 1415,  1986 => 1410,  1982 => 1408,  1976 => 1399,  1973 => 1398,  1971 => 1394,  1968 => 1391,  1964 => 1377,  1959 => 1373,  1955 => 1291,  1946 => 1287,  1935 => 1281,  1927 => 1275,  1923 => 1273,  1916 => 1270,  1914 => 1269,  1910 => 1268,  1903 => 1264,  1897 => 1260,  1890 => 1258,  1877 => 1257,  1872 => 1255,  1867 => 1254,  1849 => 1253,  1841 => 1250,  1835 => 1246,  1827 => 1244,  1825 => 1243,  1821 => 1242,  1816 => 1239,  1811 => 1238,  1786 => 1216,  1771 => 1203,  1764 => 1201,  1751 => 1200,  1746 => 1198,  1741 => 1197,  1723 => 1196,  1710 => 1185,  1706 => 1183,  1703 => 1182,  1700 => 1181,  1698 => 1180,  1694 => 1178,  1691 => 1177,  1688 => 1176,  1686 => 1175,  1682 => 1173,  1676 => 1172,  1673 => 1171,  1670 => 1170,  1667 => 1169,  1663 => 1168,  1660 => 1167,  1658 => 1166,  1655 => 1165,  1653 => 1164,  1649 => 1162,  1646 => 1161,  1643 => 1160,  1641 => 1159,  1638 => 1158,  1632 => 1157,  1629 => 1156,  1626 => 1155,  1623 => 1154,  1619 => 1153,  1616 => 1152,  1614 => 1151,  1603 => 1142,  1600 => 1141,  1592 => 1137,  1582 => 1128,  1580 => 1124,  1575 => 1122,  1573 => 1121,  1570 => 1116,  1565 => 1113,  1369 => 919,  1366 => 918,  1363 => 917,  1361 => 916,  1356 => 913,  1349 => 911,  1344 => 910,  1338 => 906,  1332 => 903,  1326 => 901,  1324 => 900,  1320 => 898,  1311 => 896,  1307 => 895,  1301 => 892,  1296 => 890,  1286 => 882,  1280 => 881,  1276 => 879,  1272 => 877,  1269 => 876,  1265 => 875,  1255 => 870,  1248 => 868,  1241 => 863,  1238 => 862,  1232 => 861,  1214 => 843,  1210 => 841,  1204 => 840,  1200 => 838,  1196 => 836,  1193 => 835,  1189 => 834,  1184 => 831,  1182 => 830,  1176 => 827,  1172 => 825,  1166 => 824,  1162 => 822,  1158 => 820,  1155 => 819,  1151 => 818,  1146 => 815,  1144 => 814,  1138 => 811,  1134 => 809,  1128 => 808,  1124 => 806,  1120 => 804,  1117 => 803,  1113 => 802,  1108 => 799,  1106 => 798,  1098 => 793,  1094 => 791,  1088 => 790,  1084 => 788,  1080 => 786,  1077 => 785,  1073 => 784,  1068 => 781,  1066 => 780,  1058 => 775,  1054 => 773,  1048 => 772,  1044 => 770,  1040 => 768,  1037 => 767,  1033 => 766,  1028 => 763,  1026 => 762,  1015 => 753,  1011 => 751,  1007 => 749,  1002 => 748,  997 => 746,  992 => 744,  989 => 743,  987 => 742,  984 => 741,  978 => 740,  974 => 738,  970 => 736,  967 => 735,  963 => 734,  956 => 731,  953 => 730,  950 => 729,  947 => 728,  944 => 727,  942 => 726,  932 => 718,  929 => 717,  925 => 715,  922 => 714,  919 => 713,  917 => 712,  911 => 708,  902 => 705,  899 => 704,  895 => 703,  889 => 699,  883 => 697,  880 => 696,  874 => 694,  868 => 692,  865 => 691,  863 => 690,  846 => 675,  844 => 674,  842 => 558,  839 => 556,  835 => 553,  832 => 552,  829 => 551,  823 => 550,  815 => 548,  812 => 547,  804 => 545,  801 => 544,  796 => 543,  793 => 542,  790 => 541,  779 => 532,  776 => 531,  770 => 530,  766 => 528,  762 => 526,  759 => 525,  755 => 524,  751 => 522,  748 => 521,  742 => 520,  739 => 519,  734 => 518,  732 => 517,  729 => 516,  722 => 512,  719 => 511,  717 => 510,  709 => 505,  700 => 498,  694 => 495,  691 => 494,  688 => 493,  682 => 489,  680 => 488,  673 => 483,  664 => 477,  652 => 467,  634 => 451,  632 => 450,  621 => 444,  618 => 443,  611 => 441,  598 => 440,  593 => 438,  588 => 437,  570 => 436,  562 => 431,  552 => 423,  541 => 421,  537 => 420,  528 => 413,  522 => 408,  465 => 351,  454 => 341,  448 => 336,  442 => 330,  440 => 316,  438 => 309,  436 => 306,  434 => 294,  432 => 286,  430 => 282,  422 => 273,  410 => 263,  403 => 257,  393 => 256,  372 => 241,  359 => 229,  352 => 223,  302 => 174,  292 => 165,  144 => 19,  139 => 18,  129 => 17,  117 => 13,  115 => 12,  99 => 11,  95 => 10,  92 => 9,  89 => 8,  86 => 7,  83 => 6,  80 => 5,  77 => 4,  67 => 3,  56 => 1,  54 => 254,  41 => 1,);
  3001.     }
  3002.     public function getSourceContext()
  3003.     {
  3004.         return new Source("{% extends 'base_front.html.twig' %}
  3005. {% block meta %}
  3006. \t{% if notes['globalNote']['count'] > 0 %}
  3007. \t\t{% set globalNote = notes['globalNote']['totalNote'] / notes['globalNote']['count'] %}
  3008. \t{% else %}
  3009. \t\t{% set globalNote = 0 %}
  3010. \t{% endif %}
  3011. \t<title>Produit
  3012. \t\t{{ product.name }}</title>
  3013. \t<meta name=\"description\" content=\"Le produit {{ product.name }} de la catégorie {{ product.subCategories.first.name }} {% if globalNote > 0 %}possède une note de {{ globalNote|number_format(1, '.') }}/5 {% else %}à un stock limité à {{ product.quantity }} articles, dépéchez-vous !{% endif %}\">
  3014. \t{% if not product.isActivated %}
  3015. \t\t<meta name=\"robots\" content=\"noindex\">
  3016. \t{% endif %}
  3017. {% endblock %}
  3018. {% block style %}
  3019. \t<link href=\"{{ asset('css/jquery.rateyo.css') }}\" rel=\"stylesheet\">
  3020. \t<link rel=\"stylesheet\" href=\"{{ asset('css/jquery.datetimepicker.min.css') }}\">
  3021. \t<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\">
  3022. \t<link href=\"https://fonts.googleapis.com/css2?family=Mukta&display=swap\" rel=\"stylesheet\">
  3023. \t<style>
  3024. \t\t.mfp-fade.mfp-bg {
  3025. \t\t\topacity: 0;
  3026. \t\t\t-webkit-transition: all 0.15s ease-out;
  3027. \t\t\t-moz-transition: all 0.15s ease-out;
  3028. \t\t\ttransition: all 0.15s ease-out;
  3029. \t\t}
  3030. \t\t.mfp-fade.mfp-bg.mfp-ready {
  3031. \t\t\topacity: 0.8;
  3032. \t\t}
  3033. \t\t.mfp-fade.mfp-bg.mfp-removing {
  3034. \t\t\topacity: 0;
  3035. \t\t}
  3036. \t\t.mfp-fade.mfp-wrap .mfp-content {
  3037. \t\t\topacity: 0;
  3038. \t\t\t-webkit-transition: all 0.15s ease-out;
  3039. \t\t\t-moz-transition: all 0.15s ease-out;
  3040. \t\t\ttransition: all 0.15s ease-out;
  3041. \t\t}
  3042. \t\t.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  3043. \t\t\topacity: 1;
  3044. \t\t}
  3045. \t\t.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  3046. \t\t\topacity: 0;
  3047. \t\t}
  3048. \t\t.chat {
  3049. \t\t\tlist-style: none;
  3050. \t\t\tmargin: 0;
  3051. \t\t\tpadding: 0;
  3052. \t\t}
  3053. \t\t.chat li {
  3054. \t\t\tmargin-bottom: 10px;
  3055. \t\t\tpadding-bottom: 5px;
  3056. \t\t\tborder-bottom: 1px dotted #B3A9A9;
  3057. \t\t}
  3058. \t\t.chat li.left .chat-body {
  3059. \t\t\tmargin-left: 60px;
  3060. \t\t}
  3061. \t\t.chat li.right .chat-body {
  3062. \t\t\tmargin-right: 60px;
  3063. \t\t}
  3064. \t\t.chat li .chat-body p {
  3065. \t\t\tmargin: 0;
  3066. \t\t\tcolor: #777777;
  3067. \t\t}
  3068. \t\t.panel .slidedown .glyphicon,
  3069. \t\t.chat .glyphicon {
  3070. \t\t\tmargin-right: 5px;
  3071. \t\t}
  3072. \t\t.panel-body {
  3073. \t\t\theight: 250px;
  3074. \t\t}
  3075. \t\t::-webkit-scrollbar-track {
  3076. \t\t\t-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  3077. \t\t\tbackground-color: #F5F5F5;
  3078. \t\t}
  3079. \t\t::-webkit-scrollbar {
  3080. \t\t\twidth: 12px;
  3081. \t\t\tbackground-color: #F5F5F5;
  3082. \t\t}
  3083. \t\t::-webkit-scrollbar-thumb {
  3084. \t\t\t-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  3085. \t\t\tbackground-color: #555;
  3086. \t\t}
  3087. \t\t/** DateTimePicker Style */
  3088. \t\t.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
  3089. \t\t.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
  3090. \t\t.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current {
  3091. \t\t\tbackground: #ff4d4d;
  3092. \t\t\tbox-shadow: #ff4d4d 1px 3px 0 inset;
  3093. \t\t\tcolor: #fff;
  3094. \t\t\tfont-weight: 700;
  3095. \t\t}
  3096. \t\t.xdsoft_datetimepicker .xdsoft_calendar td:hover,
  3097. \t\t.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:hover {
  3098. \t\t\tcolor: #fff !important;
  3099. \t\t\tbackground: #ff4d4d !important;
  3100. \t\t\tbox-shadow: none !important;
  3101. \t\t}
  3102. \t\t/*Zoo option*/
  3103. \t\t.imgZoomOption {
  3104. \t\t\tposition: fixed;
  3105. \t\t\tz-index: 99;
  3106. \t\t\twidth: 52rem;
  3107. \t\t\tleft: 50%;
  3108. \t\t\ttransform: translateX(-50%);
  3109. \t\t\ttop: 15px;
  3110. \t\t\tdisplay: none;
  3111. \t\t\tbackground-color: white;
  3112. \t\t\theight: 95%;
  3113. \t\t\tobject-fit: cover;
  3114. \t\t}
  3115. \t\t.backgroundTrans {
  3116. \t\t\tposition: fixed;
  3117. \t\t\twidth: 100%;
  3118. \t\t\theight: 100%;
  3119. \t\t\tbackground-color: #000000ab;
  3120. \t\t\tz-index: 89;
  3121. \t\t\ttop: 0;
  3122. \t\t\tdisplay: none;
  3123. \t\t}
  3124. \t\t#clickoptionImg1, #clickoptionImg2 {
  3125. \t\t\tcursor: pointer;
  3126. \t\t}
  3127. \t\t.showImgOption {
  3128. \t\t\tposition: fixed;
  3129. \t\t\ttop: 0;
  3130. \t\t\tleft: 50%;
  3131. \t\t\ttransform: translateX(-50%);
  3132. \t\t\tz-index: 888;
  3133. \t\t\twidth: 50rem;
  3134. \t\t\theight: 100%;
  3135. \t\t\tobject-fit: cover;
  3136. \t\t}
  3137. \t\t.exitZoomOpt {
  3138. \t\t\tposition: fixed;
  3139. \t\t\ttop: 0;
  3140. \t\t\tright: 10px;
  3141. \t\t\tcolor: #903ef4;
  3142. \t\t\tdisplay: none;
  3143. \t\t\tz-index: 100;
  3144. \t\t\tborder: none;
  3145. \t\t\tbackground: white;
  3146. \t\t\tfont-size: 24px;
  3147. \t\t\ttop: 5px;
  3148. \t\t\tcursor: pointer;
  3149. \t\t\tpadding: 3px 9px;
  3150. \t\t\tborder-radius: 12px;
  3151. \t\t}
  3152. \t\t{# input quantity option #}
  3153. \t\t.inputQtyOpt {
  3154. \t\t\twidth: 63px;
  3155. \t\t\theight: 39px;
  3156. \t\t\tpadding: 0 5px;
  3157. \t\t\ttext-align: center;
  3158. \t\t\tbackground-color: transparent;
  3159. \t\t\tborder: 1px solid #efefef;
  3160. \t\t}
  3161. \t\t{# Chate #}
  3162. \t\t#MyChat {
  3163. \t\t\tright: 20px;
  3164. \t\t\tbottom: 70px;
  3165. \t\t\tz-index: 100;
  3166. \t\t\tcursor: pointer;
  3167. \t\t\twidth: 50px;
  3168. \t\t\theight: 50px;
  3169. \t\t\tbackground-color: #903ef4;
  3170. \t\t\tjustify-content: center;
  3171. \t\t\tdisplay: flex;
  3172. \t\t\tpadding: 10px;
  3173. \t\t\tborder-radius: 50%;
  3174. \t\t\talign-items: center;
  3175. \t\t}
  3176. \t\t.MyIconChat {
  3177. \t\t\tcolor: #fff;
  3178. \t\t\tfont-size: 24px;
  3179. \t\t}
  3180. \t\t.collapseMessage {
  3181. \t\t\tposition: absolute;
  3182. \t\t\ttop: 11px;
  3183. \t\t\tright: 25px;
  3184. \t\t\tbackground-color: white;
  3185. \t\t\tcolor: #903ef4;
  3186. \t\t\tpadding: 0px 8px;
  3187. \t\t\tborder-radius: 50%;
  3188. \t\t\tz-index: 1;
  3189. \t\t\tcursor: pointer;
  3190. \t\t}
  3191. \t\t#collapseOne {
  3192. \t\t\tborder-top-left-radius: 18px;
  3193. \t\t\tborder-top-right-radius: 18px;
  3194. \t\t}
  3195. \t\t.titreSMS {
  3196. \t\t\tpadding: 10px 20px;
  3197. \t\t\tbackground-color: #903ef4;
  3198. \t\t\tborder-top-left-radius: 14px;
  3199. \t\t\tborder-top-right-radius: 14px;
  3200. \t\t}
  3201. \t\t.titreSMS h3 {
  3202. \t\t\tcolor: white;
  3203. \t\t\tfont-size: 17px;
  3204. \t\t}
  3205. \t\t.myradiuss {
  3206. \t\t\tbackground-color: white;
  3207. \t\t\tborder-top-left-radius: 23px;
  3208. \t\t\tborder-top-right-radius: 23px;
  3209. \t\t}
  3210. \t\t{# modadl option #}
  3211. \t\t@media screen and (min-width: 800px) {\t
  3212. \t\t\t.myWidth {
  3213. \t\t\t\tmax-width: 800px;
  3214. \t\t\t}
  3215. \t\t}
  3216. \t\t{# image comment #}
  3217. \t\t.cont_img_comment {
  3218. \t\t\tdisplay: flex;
  3219. \t\t\tcolumn-gap: 10px;
  3220. \t\t}
  3221. \t\t.cont_img_comment img {
  3222. \t\t\twidth: 100px;
  3223. \t\t\theight: 100px;
  3224. \t\t\tbox-shadow: 1px 1px 5px #0000005c;
  3225. \t\t\tborder-radius: 20px;
  3226. \t\t\tobject-fit: cover;
  3227. \t\t}
  3228. \t\t{# choice option #}
  3229. \t\t.labold {
  3230. \t\t\tfont-weight: 500;
  3231. \t\t\tfont-size: 18px;
  3232. \t\t}
  3233. \t\t.mt9 {
  3234. \t\t\tmargin-top: 9px;
  3235. \t\t}
  3236. \t\t.myPadding {
  3237. \t\t\tpadding: 8px 0px;
  3238. \t\t}
  3239. \t</style>
  3240. {% endblock %}
  3241. {% form_theme formComment _self %}
  3242. {% block body %}
  3243. \t<!-- Modal options groups -->
  3244. \t<div class=\"modal fade\" id=\"modalOptionGP\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalLongTitle\" aria-hidden=\"true\">
  3245. \t\t<div class=\"modal-dialog myWidth\" role=\"document\">
  3246. \t\t\t<div class=\"modal-content\">
  3247. \t\t\t\t{# <form action=\"\"> #}
  3248. \t\t\t\t\t<div class=\"modal-header\">
  3249. \t\t\t\t\t\t<h5 class=\"modal-title\" id=\"\">Modifier les groupes d'options</h5>
  3250. \t\t\t\t\t\t<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
  3251. \t\t\t\t\t\t\t<span aria-hidden=\"true\">&times;</span>
  3252. \t\t\t\t\t\t</button>
  3253. \t\t\t\t\t</div>
  3254. \t\t\t\t\t<div class=\"modal-body\">
  3255. \t\t\t\t\t\t<div class=\"row\">
  3256. \t\t\t\t\t\t\t<div class=\"col-lg-6 col-12\" >
  3257. \t\t\t\t\t\t\t\t<div id=\"optionsimage\">
  3258. \t\t\t\t\t\t\t\t\t<img src=\"{{ asset(constant('App\\\\Services\\\\File::IMAGE_PRODUCT_DIR') ~ product.photos.toArray()[0].url) }}\" alt=\"\">
  3259. \t\t\t\t\t\t\t\t</div>
  3260. \t\t\t\t\t\t\t</div>
  3261. \t\t\t\t\t\t\t
  3262. \t\t\t\t\t\t\t<div class=\"col-lg-6 col-12\" id=\"valeurOpion\" style=\"display: block\">
  3263. \t\t\t\t\t\t\t    {# <div class=\"row\">
  3264. \t\t\t\t\t\t\t\t\t<div class=\"col-8\">
  3265. \t\t\t\t\t\t\t\t\t\t<label for=\"\" class=\"labold\">Couleur</label>
  3266. \t\t\t\t\t\t\t\t\t\t<div id=\"valeurOpion\"></div> #}
  3267. \t\t\t\t\t\t\t\t\t\t{# <div class=\"custom-checkbox myPadding\"style=\"position: relative\">
  3268. \t\t\t\t\t\t\t\t\t\t\t<input type=\"checkbox\" name=\"\" id=\"vert\" class=\"custom-control-input\">
  3269. \t\t\t\t\t\t\t\t\t\t\t<label for=\"vert\" class=\"custom-control-label\" style=\"margin-left: 25px;\">Vert (3€)</label>
  3270. \t\t\t\t\t\t\t\t\t\t</div>  #}
  3271. \t\t\t\t\t\t\t\t\t\t{# <div class=\"custom-checkbox myPadding\" style=\"position: relative\">
  3272. \t\t\t\t\t\t\t\t\t\t\t<input type=\"checkbox\" name=\"\" id=\"rouge\" class=\"custom-control-input\">
  3273. \t\t\t\t\t\t\t\t\t\t\t<label for=\"rouge\" class=\"custom-control-label\" style=\"margin-left: 25px;\">Rouge (4€)</label>
  3274. \t\t\t\t\t\t\t\t\t\t</div>
  3275. \t\t\t\t\t\t\t\t\t\t<div class=\"custom-checkbox myPadding\" style=\"position: relative\">
  3276. \t\t\t\t\t\t\t\t\t\t\t<input type=\"checkbox\" name=\"\" id=\"bleu\" class=\"custom-control-input\">
  3277. \t\t\t\t\t\t\t\t\t\t\t<label for=\"bleu\" class=\"custom-control-label\" style=\"margin-left: 25px;\">Bleu (6€)</label>
  3278. \t\t\t\t\t\t\t\t\t\t</div> #}
  3279. \t\t\t\t\t\t\t\t\t{# </div>
  3280. \t\t\t\t\t\t\t\t\t<div class=\"col-4\">
  3281. \t\t\t\t\t\t\t\t\t\t<label for=\"qt1\" class=\"mt9\">Quantité</label>
  3282. \t\t\t\t\t\t\t\t\t\t<input type=\"number\" name=\"\" min=\"0\" id=\"\" class=\"form-control\">
  3283. \t\t\t\t\t\t\t\t\t\t<input type=\"number\" name=\"\" min=\"0\" id=\"\" class=\"form-control\">
  3284. \t\t\t\t\t\t\t\t\t\t<input type=\"number\" name=\"\" min=\"0\" id=\"\" class=\"form-control\">
  3285. \t\t\t\t\t\t\t\t\t</div>
  3286. \t\t\t\t\t\t\t\t</div><br>
  3287. \t\t\t\t\t\t\t\t<div class=\"row\">
  3288. \t\t\t\t\t\t\t\t\t<div class=\"col-8\">
  3289. \t\t\t\t\t\t\t\t\t\t<label class=\"labold\" for=\"\">Taille</label>
  3290. \t\t\t\t\t\t\t\t\t\t<select name=\"\" id=\"valeurOpionNm\" class=\"form-control wide\" style=\"display: block !important;\">\t #}
  3291. \t\t\t\t\t\t\t\t\t\t\t{# <option value=\"\">M (6€)</option>
  3292. \t\t\t\t\t\t\t\t\t\t\t<option value=\"\">L (8€)</option>
  3293. \t\t\t\t\t\t\t\t\t\t\t<option value=\"\">XL (10€)</option> #}
  3294. \t\t\t\t\t\t\t\t\t\t{# </select>\t
  3295. \t\t\t\t\t\t\t\t\t</div>
  3296. \t\t\t\t\t\t\t\t\t<div class=\"col-4\">
  3297. \t\t\t\t\t\t\t\t\t\t<label for=\"qt1\" class=\"mt9\">Quantité</label>
  3298. \t\t\t\t\t\t\t\t\t\t<input type=\"number\" name=\"\" min=\"0\" id=\"\" class=\"form-control\">
  3299. \t\t\t\t\t\t\t\t\t</div>
  3300. \t\t\t\t\t\t\t\t</div><br> #}
  3301. \t\t\t\t\t\t\t\t{# <div class=\"row\">
  3302. \t\t\t\t\t\t\t\t\t<div class=\"col-8\">
  3303. \t\t\t\t\t\t\t\t\t\t<label class=\"labold\" for=\"\">Type tissu</label>
  3304. \t\t\t\t\t\t\t\t\t\t<select name=\"\" id=\"\" class=\"form-control wide\" style=\"display: block !important;\">
  3305. \t\t\t\t\t\t\t\t\t\t\t<option value=\"\">Semi-cotton (2€)</option>
  3306. \t\t\t\t\t\t\t\t\t\t\t<option value=\"\">Cotton (4€)</option>
  3307. \t\t\t\t\t\t\t\t\t\t\t<option value=\"\">t-shirt rétréci (5€)</option>
  3308. \t\t\t\t\t\t\t\t\t\t</select>
  3309. \t\t\t\t\t\t\t\t\t</div>
  3310. \t\t\t\t\t\t\t\t\t<div class=\"col-4\">
  3311. \t\t\t\t\t\t\t\t\t\t<label for=\"qt1\" class=\"mt9\">Quantité</label>
  3312. \t\t\t\t\t\t\t\t\t\t<input type=\"number\" name=\"\" min=\"0\" id=\"\" class=\"form-control\">
  3313. \t\t\t\t\t\t\t\t\t</div>
  3314. \t\t\t\t\t\t\t\t</div><br> #}
  3315. \t\t\t\t\t\t\t</div>
  3316. \t\t\t\t\t\t</div>
  3317. \t\t\t\t\t</div>
  3318. \t\t\t\t\t{# {% endfor %}
  3319. \t\t\t\t\t{% endif %} #}
  3320. \t\t\t\t\t<div class=\"modal-footer\">
  3321. \t\t\t\t\t\t<button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">Fermer</button>
  3322. \t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-primary\" id=\"\" onclick=\"validemodalgroupe()\">Ok</button>
  3323. \t\t\t\t\t</div>
  3324. \t\t\t\t{# </form> #}
  3325. \t\t\t</div>
  3326. \t\t</div>
  3327. \t</div>
  3328. \t<!-- Fin Modal options groups -->
  3329. \t<!-- Modal options -->
  3330. \t<div class=\"modal fade\" id=\"modalOption\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalLongTitle\" aria-hidden=\"true\">
  3331. \t\t<div class=\"modal-dialog myWidth\" role=\"document\">
  3332. \t\t\t<div class=\"modal-content\">
  3333. \t\t\t\t{# <form action=\"\"> #}
  3334. \t\t\t\t\t<div class=\"modal-header\">
  3335. \t\t\t\t\t\t<h5 class=\"modal-title\" id=\"\">Modifier les options</h5>
  3336. \t\t\t\t\t\t<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
  3337. \t\t\t\t\t\t\t<span aria-hidden=\"true\">&times;</span>
  3338. \t\t\t\t\t\t</button>
  3339. \t\t\t\t\t</div>
  3340. \t\t\t\t\t<div class=\"modal-body\">
  3341. \t\t\t\t\t\t<div class=\"row\">
  3342. \t\t\t\t\t\t\t<input type=\"hidden\" id=\"id_optionmodal\">
  3343. \t\t\t\t\t\t\t<input type=\"hidden\" id=\"name_optionmodal\">
  3344. \t\t\t\t\t\t\t<input type=\"hidden\" id=\"image_optionmodal\">
  3345. \t\t\t\t\t\t\t<div class=\"col-lg-6 col-12\" >
  3346. \t\t\t\t\t\t\t\t<div id=\"optionsimage\"></div>
  3347. \t\t\t\t\t\t\t</div>
  3348. \t\t\t\t\t\t\t
  3349. \t\t\t\t\t\t\t<div class=\"col-lg-6 col-12\" style=\"display: block\">
  3350. \t\t\t\t\t\t\t    <div class=\"optionscolor\">
  3351. \t\t\t\t\t\t\t\t\t<label >couleur d'option</label>
  3352. \t\t\t\t\t\t\t\t\t<select name=\"\" id=\"optionscolor\" class=\"form-control wide\" style=\"display: block;\">
  3353. \t\t\t\t\t\t\t\t\t</select>
  3354. \t\t\t\t\t\t\t\t</div><br>
  3355. \t\t\t\t\t\t\t\t<div class=\"optionsform\">
  3356. \t\t\t\t\t\t\t\t\t<label for=\"optionsform\">Format</label>
  3357. \t\t\t\t\t\t\t\t\t<select name=\"\" id=\"optionsform\" class=\"form-control wide\" style=\"display: block !important;\">\t
  3358. \t\t\t\t\t\t\t\t\t</select>\t
  3359. \t\t\t\t\t\t\t\t</div><br>
  3360. \t\t\t\t\t\t\t\t<div class=\"optionsfinition\">
  3361. \t\t\t\t\t\t\t\t\t<label for=\"optionsfinition\">Finition :</label>
  3362. \t\t\t\t\t\t\t\t\t<select name=\"\" id=\"optionsfinition\" class=\"form-control wide\" style=\"display: block !important;\">
  3363. \t\t\t\t\t\t\t\t\t</select>
  3364. \t\t\t\t\t\t\t\t</div><br>
  3365. \t\t\t\t\t\t\t\t<div class=\"optionspapier\">
  3366. \t\t\t\t\t\t\t\t\t<label for=\"optionspapier\">Papier :</label>
  3367. \t\t\t\t\t\t\t\t\t<select name=\"\" id=\"optionspapier\" class=\"form-control wide\"style=\"display: block !important;\">
  3368. \t\t\t\t\t\t\t\t\t</select>
  3369. \t\t\t\t\t\t\t\t</div><br>
  3370. \t\t\t\t\t\t\t\t<div class=\"optionsetiquette\">
  3371. \t\t\t\t\t\t\t\t\t<label for=\"optionsetiquette\">Étiquette :</label>
  3372. \t\t\t\t\t\t\t\t\t<select name=\"\" id=\"optionsetiquette\" class=\"form-control wide\" style=\"display: block !important;\">\t
  3373. \t\t\t\t\t\t\t\t\t</select>
  3374. \t\t\t\t\t\t\t\t</div><br>
  3375. \t\t\t\t\t\t\t\t<div class=\"optionsruban\">
  3376. \t\t\t\t\t\t\t\t\t<label for=\"optionsruban\">Ruban: :</label>
  3377. \t\t\t\t\t\t\t\t\t<select name=\"\" id=\"optionsruban\" class=\"form-control wide\" style=\"display: block !important;\">\t
  3378. \t\t\t\t\t\t\t\t\t</select>
  3379. \t\t\t\t\t\t\t\t</div><br>
  3380. \t\t\t\t\t\t\t\t<div class=\"optionsquantite\">
  3381. \t\t\t\t\t\t\t\t<label for=\"optionsquantite\">Quantité :</label>
  3382. \t\t\t\t\t\t\t\t<select name=\"\" id=\"optionsquantite\" class=\"form-control wide\" style=\"display: block !important;\">
  3383. \t\t\t\t\t\t\t\t</select>
  3384. \t\t\t\t\t\t\t\t</div><br>
  3385. \t\t\t\t\t\t\t</div>
  3386. \t\t\t\t\t\t</div>
  3387. \t\t\t\t\t</div>
  3388. \t\t\t\t\t{# {% endfor %}
  3389. \t\t\t\t\t{% endif %} #}
  3390. \t\t\t\t\t<div class=\"modal-footer\">
  3391. \t\t\t\t\t\t<button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">Fermer</button>
  3392. \t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-primary\" id=\"validemodaloption\" onclick=\"validemodaloption()\">Ok</button>
  3393. \t\t\t\t\t</div>
  3394. \t\t\t\t{# </form> #}
  3395. \t\t\t</div>
  3396. \t\t</div>
  3397. \t</div>
  3398. \t<!-- Fin Modal options -->
  3399. \t<div class=\"list-single-carousel\" style=\"margin-top:90px\">
  3400. \t\t<div class=\"owl-carousel owl-theme owl-second\">
  3401. \t\t\t{% for photo in product.photos %}
  3402. \t\t\t\t<div class=\"item\" style=\"height:400px;background:url({{ asset(constant('App\\\\Services\\\\File::IMAGE_PRODUCT_DIR') ~ photo.url) }})no-repeat center;background-size: cover\" alt=\"{{ photo.url }}\"></div>
  3403. \t\t\t{% endfor %}
  3404. \t\t</div>
  3405. \t</div>
  3406. \t<div class=\"list-single-second mt-1\">
  3407. \t\t<div class=\"container\">
  3408. \t\t\t<div class=\"\">
  3409. \t\t\t\t<div class=\"row\">
  3410. \t\t\t\t\t<div class=\"col-xl-8 col-lg-8 col-md-8 col-sm-12 col-12\">
  3411. \t\t\t\t\t\t<div class=\"vendor-head text-left\">
  3412. \t\t\t\t\t\t\t<h2 class=\"mb10\">{{ product.name }}</h2>
  3413. \t\t\t\t\t\t\t<p class=\"text-black-50\">
  3414. \t\t\t\t\t\t\t\t<span class=\"mr-2\">
  3415. \t\t\t\t\t\t\t\t\t<i class=\"fas fa-map-marker-alt \"></i>
  3416. \t\t\t\t\t\t\t\t</span>
  3417. \t\t\t\t\t\t\t\t{% for department in product.departments %}
  3418. \t\t\t\t\t\t\t\t\t{{ department.name }}
  3419. \t\t\t\t\t\t\t\t\t{% if not loop.last %},
  3420. \t\t\t\t\t\t\t\t\t{% endif %}
  3421. \t\t\t\t\t\t\t\t{% else %}
  3422. \t\t\t\t\t\t\t\t\tDans toute la France
  3423. \t\t\t\t\t\t\t\t{% endfor %}
  3424. \t\t\t\t\t\t\t\t<br>Service de la catégorie
  3425. \t\t\t\t\t\t\t\t<a href=\"{{ path('front_product_subcategory', {'subCategorySlug': product.subCategories.first.subCategorySlug}) }}\" class=\"btn-default-link\">{{ product.subCategories.first.name }}</a>
  3426. \t\t\t\t\t\t\t</p>
  3427. \t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-primary\" data-toggle=\"modal\" data-target=\"#exampleModalCenter\">
  3428. \t\t\t\t\t\t\tLire  la  condition générale de vente
  3429. \t\t\t\t\t\t\t</button>
  3430. \t\t\t\t\t\t\t<!-- Modal -->
  3431. \t\t\t\t\t\t\t{% if (product.company.conditionsVente|raw)  is null or (product.company.conditionsVente|raw == '') %}
  3432. \t\t\t\t\t\t\t\t<div class=\"modal fade\" id=\"exampleModalCenter\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalCenterTitle\" aria-hidden=\"true\">
  3433. \t\t\t\t\t\t\t\t\t<div class=\"modal-dialog modal-xl\" role=\"document\">
  3434. \t\t\t\t\t\t\t\t\t\t<div class=\"modal-content\">
  3435. \t\t\t\t\t\t\t\t\t\t<div class=\"modal-header\">
  3436. \t\t\t\t\t\t\t\t\t\t\t<h5 class=\"modal-title\" id=\"exampleModalCenterTitle\">Condition générale de vente</h5>
  3437. \t\t\t\t\t\t\t\t\t\t\t<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
  3438. \t\t\t\t\t\t\t\t\t\t\t<span aria-hidden=\"true\">&times;</span>
  3439. \t\t\t\t\t\t\t\t\t\t\t</button>
  3440. \t\t\t\t\t\t\t\t\t\t</div>
  3441. \t\t\t\t\t\t\t\t\t\t<div class=\"modal-body\">
  3442. \t\t\t\t\t\t\t\t\t\t\t\tVeulliez contactez votre prestataire pour connaitre la condition de vente
  3443. \t\t\t\t\t\t\t\t\t\t</div>
  3444. \t\t\t\t\t\t\t\t\t\t</div>
  3445. \t\t\t\t\t\t\t\t\t</div>
  3446. \t\t\t\t\t\t\t\t</div>
  3447. \t\t\t\t\t\t\t{% else %}
  3448. \t\t\t\t\t\t\t\t<div class=\"modal fade\" id=\"exampleModalCenter\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalCenterTitle\" aria-hidden=\"true\">
  3449. \t\t\t\t\t\t\t\t\t<div class=\"modal-dialog modal-xl\" role=\"document\">
  3450. \t\t\t\t\t\t\t\t\t\t<div class=\"modal-content\">
  3451. \t\t\t\t\t\t\t\t\t\t<div class=\"modal-header\">
  3452. \t\t\t\t\t\t\t\t\t\t\t<h5 class=\"modal-title\" id=\"exampleModalCenterTitle\">Condition générale de vente</h5>
  3453. \t\t\t\t\t\t\t\t\t\t\t<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
  3454. \t\t\t\t\t\t\t\t\t\t\t<span aria-hidden=\"true\">&times;</span>
  3455. \t\t\t\t\t\t\t\t\t\t\t</button>
  3456. \t\t\t\t\t\t\t\t\t\t</div>
  3457. \t\t\t\t\t\t\t\t\t\t<div class=\"modal-body\">
  3458. \t\t\t\t\t\t\t\t\t\t\t\t{{ product.company.conditionsVente | raw }}
  3459. \t\t\t\t\t\t\t\t\t\t</div>
  3460. \t\t\t\t\t\t\t\t\t\t</div>
  3461. \t\t\t\t\t\t\t\t\t</div>
  3462. \t\t\t\t\t\t\t\t</div>\t\t\t\t\t
  3463. \t\t\t\t\t\t\t{% endif %}
  3464. \t\t\t\t\t\t\t
  3465. \t\t\t\t\t\t</div>
  3466. \t\t\t\t\t</div>
  3467. \t\t\t\t\t<div class=\"col-xl-4 col-lg-4 col-md-4 col-sm-12 col-12\">
  3468. \t\t\t\t\t\t<div class=\"vendor-head text-xl-right row\">
  3469. \t\t\t\t\t\t\t{% if product.photos is not empty %}
  3470. \t\t\t\t\t\t\t\t<div class=\"col-md-6\">
  3471. \t\t\t\t\t\t\t\t\t<a href=\"#\" class=\"btn btn-default btn-sm ml-2 text-center\" id=\"open-popup-images\">Voir les photos</a>
  3472. \t\t\t\t\t\t\t\t</div>
  3473. \t\t\t\t\t\t\t{% endif %}
  3474. \t\t\t\t\t\t\t{% if product.youtubeVideo %}
  3475. \t\t\t\t\t\t\t\t<div class=\"col-md-6\">
  3476. \t\t\t\t\t\t\t\t\t<a class=\"popup-youtube btn btn-default btn-sm ml-2 text-center\" href=\"{{ product.youtubeVideo }}\">Voir la vidéo</a>
  3477. \t\t\t\t\t\t\t\t</div>
  3478. \t\t\t\t\t\t\t{% endif %}
  3479. \t\t\t\t\t\t</div>
  3480. \t\t\t\t\t</div>
  3481. \t\t\t\t</div>
  3482. \t\t\t</div>
  3483. \t\t\t<div class=\"vendor-meta bg-white border m-0 \">
  3484. \t\t\t\t<div class=\"vendor-meta-item vendor-meta-item-bordered\">
  3485. \t\t\t\t\t<span class=\"vendor-price\">
  3486. \t\t\t\t\t\t{{ product.price|number_format(2, '.', '') }}€
  3487. \t\t\t\t\t</span>
  3488. \t\t\t\t\t<span class=\"vendor-text\">Prix</span>
  3489. \t\t\t\t</div>
  3490. \t\t\t\t<div class=\"vendor-meta-item vendor-meta-item-bordered\">
  3491. \t\t\t\t\t{% if product.quantity %}
  3492. \t\t\t\t\t\t<span class=\"vendor-guest\">
  3493. \t\t\t\t\t\t\t{{ product.quantity }}
  3494. \t\t\t\t\t\t</span>
  3495. \t\t\t\t\t\t<span class=\"vendor-text\">Quantité restante</span>
  3496. \t\t\t\t\t{% endif %}
  3497. \t\t\t\t</div>
  3498. \t\t\t\t{% set notesProduct = 0 %}
  3499. \t\t\t\t{% for avi in product.avis %}
  3500. \t\t\t\t\t{% set notesProduct = notesProduct + avi.globalNote %}
  3501. \t\t\t\t{% endfor %}
  3502. \t\t\t\t{% set noteTotalProduct = (notesProduct > 0) ? notesProduct / product.avis|length : 0 %}
  3503. \t\t\t\t<div class=\"vendor-meta-item vendor-meta-item-bordered\">
  3504. \t\t\t\t\t<span class=\"rating-star\">
  3505. \t\t\t\t\t\t{% for i in 1..5 %}
  3506. \t\t\t\t\t\t\t{% if i < noteTotalProduct %}
  3507. \t\t\t\t\t\t\t\t<i class=\"fa fa-star rated\"></i>
  3508. \t\t\t\t\t\t\t{% else %}
  3509. \t\t\t\t\t\t\t\t<i class=\"fa fa-star rate-mute\"></i>
  3510. \t\t\t\t\t\t\t{% endif %}
  3511. \t\t\t\t\t\t{% endfor %}
  3512. \t\t\t\t\t</span>
  3513. \t\t\t\t\t<span class=\"rating-count vendor-text\">({{ product.avis|length }})</span>
  3514. \t\t\t\t</div>
  3515. \t\t\t</div>
  3516. \t\t</div>
  3517. \t</div>
  3518. \t<!-- /.page-header -->
  3519. \t<!-- page-header -->
  3520. \t{# Zoom img option #}
  3521. \t{% if product.company.isConfirmed %}
  3522. \t\t{% if product.productOptions %}
  3523. \t\t\t{% for option in product.productOptions %}
  3524. \t\t\t\t{% if option.image1 %}
  3525. \t\t\t\t\t<img id=\"{{ option.id }}btn1img\" class=\"imgZoomOption\" src=\"{{ asset(constant('App\\\\Services\\\\File::IMAGE_PRODUCT_DIR') ~ option.image1) }}\">
  3526. \t\t\t\t{% endif %}
  3527. \t\t\t\t{% if option.image2 %}
  3528. \t\t\t\t\t<img id=\"{{ option.id }}btn2img\" class=\"imgZoomOption\" src=\"{{ asset(constant('App\\\\Services\\\\File::IMAGE_PRODUCT_DIR') ~ option.image2) }}\">
  3529. \t\t\t\t{% endif %}
  3530. \t\t\t{% endfor %}
  3531. \t\t{% endif %}
  3532. \t{% endif %}
  3533. \t<div class=\"backgroundTrans\"></div>
  3534. \t<button class=\"exitZoomOpt\">X</button>
  3535. \t{# Zoom img option #}
  3536. \t{# Pannier #}
  3537. \t{# <div class=\"tab-pane fade active show\" id=\"allguest\" role=\"tabpanel\" aria-labelledby=\"allguest-tab\" style=\"width:100%\">
  3538. \t\t<div class=\"card-body\">
  3539. \t\t\t<h3>Mon panier ({{ products|length }} produit{% if products|length > 1 %}s{% endif %})</h3>
  3540. \t\t</div>
  3541. \t\t<div class=\"table-responsive\" style=\"width:100%\">
  3542. \t\t\t<table class=\"table mt-4\">
  3543. \t\t\t\t<thead>
  3544. \t\t\t\t<tr>
  3545. \t\t\t\t\t<th class=\"wedding-budget-event\">Designation</th>
  3546. \t\t\t\t\t<th class=\"wedding-budget-estimate\">Aperçu</th>
  3547. \t\t\t\t\t<th class=\"wedding-budget-estimate\">Prix à l'unité</th>
  3548. \t\t\t\t\t<th class=\"wedding-budget-actual\">Quantité</th>
  3549. \t\t\t\t\t<th class=\"wedding-budget-paid\">Total produit</th>
  3550. \t\t\t\t\t<th class=\"wedding-budget-paid\"></th>
  3551. \t\t\t\t</tr>
  3552. \t\t\t\t</thead>
  3553. \t\t\t\t<tbody>
  3554. \t\t\t\t{% if pack %}
  3555. \t\t\t\t\t<tr>
  3556. \t\t\t\t\t\t<td>{{ pack.name }}</td>
  3557. \t\t\t\t\t\t<td><img src=\"{{ asset(constant('App\\\\Services\\\\File::IMAGE_PRODUCT_DIR')) ~ pack.image }}\" style=\"height:50px;border-radius:2px\"></td>
  3558. \t\t\t\t\t\t<td><span class=\"total-amount\">{{ pack.price|number_format(2, '.') }}€</span></td>
  3559. \t\t\t\t\t\t<td>1</td>
  3560. \t\t\t\t\t\t<td><span class=\"total-amount\">{{ pack.price|number_format(2, '.') }}€</span></td>
  3561. \t\t\t\t\t\t<td class=\"paid-total\"><a href=\"{{ path('front_my_basket_remove_pack', {'id': pack.id}) }}\" class=\"btn btn-rounded btn-default\">Supprimer du panier</a></td>
  3562. \t\t\t\t\t</tr>
  3563. \t\t\t\t{% endif %}
  3564. \t\t\t\t{% set TotalPriceProduct = 0 %}
  3565. \t\t\t\t{% for product in products %}
  3566. \t\t\t\t\t<tr class=\"border-bottom\">
  3567. \t\t\t\t\t\t<td>{{ product.product.name }}
  3568. \t\t\t\t\t\t\t{% set isClothing = null %}
  3569. \t\t\t\t\t\t\t{% for subcategory in product.product.subCategories %}
  3570. \t\t\t\t\t\t\t\t{% if subcategory.isClothing %}
  3571. \t\t\t\t\t\t\t\t\t{% set isClothing = true %}
  3572. \t\t\t\t\t\t\t\t{% endif %}
  3573. \t\t\t\t\t\t\t{% endfor %}
  3574. \t\t\t\t\t\t\t{% if isClothing %}
  3575. \t\t\t\t\t\t\t\t<br><strong>Taille : {{ product.size }}</strong>
  3576. \t\t\t\t\t\t\t{% endif %}
  3577. \t\t\t\t\t\t\t{% set isColor = null %}
  3578. \t\t\t\t\t\t\t{% for subcategory in product.product.subCategories %}
  3579. \t\t\t\t\t\t\t\t{% if subcategory.isColor %}
  3580. \t\t\t\t\t\t\t\t\t{% set isColor = true %}
  3581. \t\t\t\t\t\t\t\t{% endif %}
  3582. \t\t\t\t\t\t\t{% endfor %}
  3583. \t\t\t\t\t\t\t{% if isColor %}
  3584. \t\t\t\t\t\t\t\t<br><strong>Couleur : {{ product.color }}</strong>
  3585. \t\t\t\t\t\t\t{% endif %}
  3586. \t\t\t\t\t\t</td>
  3587. \t\t\t\t\t\t<td><img src=\"{{ asset(constant('App\\\\Services\\\\File::IMAGE_PRODUCT_DIR')) ~ product.product.photos.first.url }}\" style=\"height:50px;border-radius:2px\"></td>
  3588. \t\t\t\t\t\t{% if product.promo %}
  3589. \t\t\t\t\t\t\t{% set ProductPrice = product.product.price - product.promo %}
  3590. \t\t\t\t\t\t{% else %}
  3591. \t\t\t\t\t\t\t{% set ProductPrice = product.product.price %}
  3592. \t\t\t\t\t\t{% endif %}
  3593. \t\t\t\t\t\t<td class=\"estimate-total\"><span class=\"total-amount\">{% if product.promo %}<small><del>{{ product.product.price|number_format(2, '.') }}€</del></small> <strong>{{ ProductPrice|number_format(2, '.') }}€</strong>{% else %}{{ ProductPrice|number_format(2, '.') }}€{% endif %}</span><br>{% if product.promo %}(code promo -{{ product.promo }}€){% endif %}</td>
  3594. \t\t\t\t\t\t<td class=\"actual-total\">{{ product.quantity }}</td>
  3595. \t\t\t\t\t\t{% set TotalWithQuantity = product.quantity * ProductPrice %}
  3596. \t\t\t\t\t\t{% set TotalPriceProduct = TotalPriceProduct + TotalWithQuantity %}
  3597. \t\t\t\t\t\t<td class=\"paid-total\"><span class=\"total-amount\">{{ TotalWithQuantity|number_format(2, '.') }}€</span></td>
  3598. \t\t\t\t\t\t<td class=\"paid-total\"><a href=\"{{ path('front_my_basket_remove_product', {'id': product.product.id}) }}\" class=\"btn btn-rounded btn-default\">Supprimer du panier</a></td>
  3599. \t\t\t\t\t</tr>
  3600. \t\t\t\t\t{% for option in product.options %}
  3601. \t\t\t\t\t\t{% set optionObject = filter_service.getProductOption(option) %}
  3602. \t\t\t\t\t\t{% set TotalPriceProduct = TotalPriceProduct + optionObject.price %}
  3603. \t\t\t\t\t\t<tr class=\"border-bottom\" style=\"background:#fff\">
  3604. \t\t\t\t\t\t\t<td class=\"pl-4\"><strong>Option :</strong> {{ optionObject.name }}</td>
  3605. \t\t\t\t\t\t\t<td></td>
  3606. \t\t\t\t\t\t\t<td class=\"estimate-total\"><span class=\"total-amount\">{{ optionObject.price|number_format(2, '.') }}€</span></td>
  3607. \t\t\t\t\t\t\t<td class=\"actual-total\"></td>
  3608. \t\t\t\t\t\t\t<td class=\"paid-total\"><span class=\"total-amount\">{{ optionObject.price|number_format(2, '.') }}€</span></td>
  3609. \t\t\t\t\t\t\t<td class=\"paid-total\"></td>
  3610. \t\t\t\t\t\t</tr>
  3611. \t\t\t\t\t{% endfor %}
  3612. \t\t\t\t{% endfor %}
  3613. \t\t\t\t{% if pack or products is not empty %}
  3614. \t\t\t\t\t<tr>
  3615. \t\t\t\t\t\t<td>TOTAL :</td>
  3616. \t\t\t\t\t\t<td></td>
  3617. \t\t\t\t\t\t<td></td>
  3618. \t\t\t\t\t\t<td></td>
  3619. \t\t\t\t\t\t{% if pack %}
  3620. \t\t\t\t\t\t\t{% set TotalPriceProduct = TotalPriceProduct + pack.price  %}
  3621. \t\t\t\t\t\t{% endif %}
  3622. \t\t\t\t\t\t<td>{{ TotalPriceProduct|number_format(2, '.') }}€</td>
  3623. \t\t\t\t\t</tr>
  3624. \t\t\t\t{% endif %}
  3625. \t\t\t\t{% if not pack and products is empty %}
  3626. \t\t\t\t\t<tr><td>Aucun produit ajouté au panier</td></tr>
  3627. \t\t\t\t{% endif %}
  3628. \t\t\t\t</tbody>
  3629. \t\t\t</table>
  3630. \t\t</div>
  3631. \t\t<div class=\"card-footer\" style=\"height:70px\">
  3632. \t\t\t{% if products|length > 0 or pack is not null %}
  3633. \t\t\t\t{% if is_granted('ROLE_ENTERPRISE') == false %}
  3634. \t\t\t\t<div class=\"float-left\">
  3635. \t\t\t\t\t{{ form_start(form, {'attr': {'class': 'form-inline'}}) }}
  3636. \t\t\t\t\t<div class=\"form-group\">
  3637. \t\t\t\t\t\t{{ form_widget(form.codePromo) }}
  3638. \t\t\t\t\t</div>
  3639. \t\t\t\t\t<button type=\"submit\" class=\"btn btn-default ml-3\">Valider</button>
  3640. \t\t\t\t\t{{ form_end(form) }}
  3641. \t\t\t\t\t{% if isMessagePromo is defined and isMessagePromo %}
  3642. \t\t\t\t\t\t<span style=\"color:green\">Code promo valide !</span>
  3643. \t\t\t\t\t{% endif %}
  3644. \t\t\t\t</div>
  3645. \t\t\t\t<div class=\"float-right\">
  3646. \t\t\t\t\t<a href=\"{{ path('front_command_livraison') }}\" class=\"btn btn-primary\">Commander</a>
  3647. \t\t\t\t</div>
  3648. \t\t\t\t{% endif %}
  3649. \t\t\t{% endif %}
  3650. \t\t</div>
  3651. \t</div> #}
  3652. \t{# Pannier #}
  3653. \t<div class=\"vendor-content-wrapper\">
  3654. \t\t<div class=\"container\">
  3655. \t\t\t<div class=\"row\">
  3656. \t\t\t\t<div
  3657. \t\t\t\t\tclass=\"col-xl-8 col-lg-9 col-md-9 col-sm-12 col-12\">
  3658. \t\t\t\t\t<!--vendor-details -->
  3659. \t\t\t\t\t<div style=\"overflow: hidden\">
  3660. \t\t\t\t\t\t<div class=\"card border card-shadow-none\">
  3661. \t\t\t\t\t\t\t<h3 class=\"card-header bg-white\">A propos du service</h3>
  3662. \t\t\t\t\t\t\t<div class=\"card-body card-box overflow-hidden\">
  3663. \t\t\t\t\t\t\t\t<!--/.vendor-details -->
  3664. \t\t\t\t\t\t\t\t<!--vendor-description -->
  3665. \t\t\t\t\t\t\t\t\t{% if product.company.isEditorGuide %}
  3666. \t\t\t\t\t\t\t\t\t\t{% if product.productDescription and product.template %}
  3667. \t\t\t\t\t\t\t\t\t\t{{ include('front/html/template/template'~product.template~'.html.twig') }}
  3668. \t\t\t\t\t\t\t\t\t{% else %}
  3669. \t\t\t\t\t\t\t\t\t\t<p class=\"lead\">{{ product.text|raw }}</p>
  3670. \t\t\t\t\t\t\t\t\t{% endif %}
  3671. \t\t\t\t\t\t\t\t{% else %}
  3672. \t\t\t\t\t\t\t\t\t<p class=\"lead\">{{ product.text|raw }}</p>
  3673. \t\t\t\t\t\t\t\t{% endif %}
  3674. \t\t\t\t\t\t\t</div>
  3675. \t\t\t\t\t\t</div>
  3676. \t\t\t\t\t\t<!--vendor-description -->
  3677. \t\t\t\t\t\t<!-- review-block -->
  3678. \t\t\t\t\t\t{% for message in app.flashes('success') %}
  3679. \t\t\t\t\t\t\t<div class=\"alert alert-success\">
  3680. \t\t\t\t\t\t\t\t{{ message }}
  3681. \t\t\t\t\t\t\t</div>
  3682. \t\t\t\t\t\t{% endfor %}
  3683. \t\t\t\t\t\t<div id=\"reviews\">
  3684. \t\t\t\t\t\t\t<div class=\"card border card-shadow-none \">
  3685. \t\t\t\t\t\t\t\t<div class=\"card-header bg-white\">
  3686. \t\t\t\t\t\t\t\t\t<h3 class=\"mb0 d-inline-block\" id=\"global_notes\">Notes</h3>
  3687. \t\t\t\t\t\t\t\t\t{% if app.user and app.user.roles[0] == 'ROLE_USER' %}
  3688. \t\t\t\t\t\t\t\t\t\t{% set ifAvis = filter_service.getAvisUserExist(app.user, product) %}
  3689. \t\t\t\t\t\t\t\t\t\t{% if ifAvis == false %}
  3690. \t\t\t\t\t\t\t\t\t\t\t<a href=\"#review-form\" class=\"btn btn-default btn-sm float-right d-inline-block\">Donnez votre avis</a>
  3691. \t\t\t\t\t\t\t\t\t\t{% endif %}
  3692. \t\t\t\t\t\t\t\t\t{% endif %}
  3693. \t\t\t\t\t\t\t\t</div>
  3694. \t\t\t\t\t\t\t\t<div class=\"card-body\">
  3695. \t\t\t\t\t\t\t\t\t<div class=\"review-block\">
  3696. \t\t\t\t\t\t\t\t\t\t<div class=\"row\">
  3697. \t\t\t\t\t\t\t\t\t\t\t<div
  3698. \t\t\t\t\t\t\t\t\t\t\t\tclass=\"col-xl-6 col-lg-6 col-md-6 col-sm-12 col-12\">
  3699. \t\t\t\t\t\t\t\t\t\t\t\t<!-- review-sidebar -->
  3700. \t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-sidebar\">
  3701. \t\t\t\t\t\t\t\t\t\t\t\t\t{% if notes['globalNote']['count'] > 0 %}
  3702. \t\t\t\t\t\t\t\t\t\t\t\t\t\t{% set globalNote = notes['globalNote']['totalNote'] / notes['globalNote']['count'] %}
  3703. \t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
  3704. \t\t\t\t\t\t\t\t\t\t\t\t\t\t{% set globalNote = 0 %}
  3705. \t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
  3706. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-total\">{{ globalNote|number_format(1, '.') }}</div>
  3707. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-text\">moyenne des notes</div>
  3708. \t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  3709. \t\t\t\t\t\t\t\t\t\t\t\t\t\t{% for i in 1..5 %}
  3710. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if i <= globalNote|round %}
  3711. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  3712. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
  3713. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  3714. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
  3715. \t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endfor %}
  3716. \t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  3717. \t\t\t\t\t\t\t\t\t\t\t\t\t{% if notes['globalNote']['count'] %}
  3718. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Note de
  3719. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ globalNote|number_format(1, '.') }}
  3720. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbasée sur
  3721. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ notes['globalNote']['count'] }}
  3722. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnote
  3723. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if notes['globalNote']['count'] > 1 %}s
  3724. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}.</p>
  3725. \t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
  3726. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Aucune note pour le moment</p>
  3727. \t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
  3728. \t\t\t\t\t\t\t\t\t\t\t\t</div>
  3729. \t\t\t\t\t\t\t\t\t\t\t\t<!-- /.review-sidebar -->
  3730. \t\t\t\t\t\t\t\t\t\t\t</div>
  3731. \t\t\t\t\t\t\t\t\t\t\t<div class=\"col-xl-6 col-lg-6 col-md-6 col-sm-12 col-12\">
  3732. \t\t\t\t\t\t\t\t\t\t\t\t<div
  3733. \t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"review-box\">
  3734. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- review-list -->
  3735. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-list\">
  3736. \t\t\t\t\t\t\t\t\t\t\t\t\t\t{% set globalQualityService = notes['qualityService']['count'] ? notes['qualityService']['totalNote'] / notes['qualityService']['count'] : notes['qualityService']['count'] %}
  3737. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-for\">Qualité du service</div>
  3738. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-rating\">
  3739. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  3740. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% for i in 1..5 %}
  3741. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if i <= globalQualityService %}
  3742. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  3743. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
  3744. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  3745. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
  3746. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endfor %}
  3747. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  3748. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3749. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-number\">{{ globalQualityService|number_format(1, '.') }}</div>
  3750. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3751. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- /.review-list -->
  3752. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- review-list -->
  3753. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-list\">
  3754. \t\t\t\t\t\t\t\t\t\t\t\t\t\t{% set globalPrice = notes['price']['count'] ? notes['price']['totalNote'] / notes['price']['count'] : notes['price']['count'] %}
  3755. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-for\">Prix</div>
  3756. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-rating\">
  3757. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  3758. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% for i in 1..5 %}
  3759. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if i <= globalPrice %}
  3760. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  3761. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
  3762. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  3763. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
  3764. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endfor %}
  3765. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  3766. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3767. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-number\">{{ globalPrice|number_format(1, '.') }}</div>
  3768. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3769. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- /.review-list -->
  3770. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- review-list -->
  3771. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-list\">
  3772. \t\t\t\t\t\t\t\t\t\t\t\t\t\t{% set globalSpeed = notes['speed']['count'] ? notes['speed']['totalNote'] / notes['speed']['count'] : notes['speed']['count'] %}
  3773. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-for\">Rapidité</div>
  3774. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-rating\">
  3775. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  3776. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% for i in 1..5 %}
  3777. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if i <= globalSpeed %}
  3778. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  3779. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
  3780. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  3781. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
  3782. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endfor %}
  3783. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  3784. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3785. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-number\">{{ globalSpeed|number_format(1, '.') }}</div>
  3786. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3787. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-list\">
  3788. \t\t\t\t\t\t\t\t\t\t\t\t\t\t{% set globalConformite = notes['conformDescription']['count'] ? notes['conformDescription']['totalNote'] / notes['conformDescription']['count'] : notes['conformDescription']['count'] %}
  3789. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-for\">Description conforme</div>
  3790. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-rating\">
  3791. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  3792. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% for i in 1..5 %}
  3793. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if i <= globalConformite %}
  3794. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  3795. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
  3796. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  3797. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
  3798. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endfor %}
  3799. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  3800. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3801. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-number\">{{ globalConformite|number_format(1, '.') }}</div>
  3802. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3803. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-list\">
  3804. \t\t\t\t\t\t\t\t\t\t\t\t\t\t{% set globalCommunication = notes['communication']['count'] ? notes['communication']['totalNote'] / notes['communication']['count'] : notes['communication']['count'] %}
  3805. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-for\">Communication</div>
  3806. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-rating\">
  3807. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  3808. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% for i in 1..5 %}
  3809. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if i <= globalCommunication %}
  3810. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  3811. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
  3812. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  3813. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
  3814. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endfor %}
  3815. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  3816. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3817. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-number\">{{ globalCommunication|number_format(1, '.') }}</div>
  3818. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3819. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- /.review-list -->
  3820. \t\t\t\t\t\t\t\t\t\t\t\t</div>
  3821. \t\t\t\t\t\t\t\t\t\t\t</div>
  3822. \t\t\t\t\t\t\t\t\t\t</div>
  3823. \t\t\t\t\t\t\t\t\t</div>
  3824. \t\t\t\t\t\t\t\t</div>
  3825. \t\t\t\t\t\t\t</div>
  3826. \t\t\t\t\t\t\t<div class=\"card border card-shadow-none widget-vendor-list \">
  3827. \t\t\t\t\t\t\t\t<div class=\"card-body pl-0 pr-0\">
  3828. \t\t\t\t\t\t\t\t\t<div class=\"col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12\">
  3829. \t\t\t\t\t\t\t\t\t\t<h3 class=\"mb20\">Avis</h3>
  3830. \t\t\t\t\t\t\t\t\t</div>
  3831. \t\t\t\t\t\t\t\t\t{# <pre>
  3832. \t\t\t\t\t\t\t\t\t\t{{ dump(productAvis|slice(0, 3)) }}
  3833. \t\t\t\t\t\t\t\t\t</pre> #}
  3834. \t\t\t\t\t\t\t\t\t{% for key,productAvi in productAvis|slice(0, 3) %}
  3835. \t\t\t\t\t\t\t\t\t\t{% if productAvi.isDesactivatedByAdmin == null and productAvi.isDesactivatedByAdmin == false %}
  3836. \t\t\t\t\t\t\t\t\t\t\t<div class=\"card border card-shadow-none \">
  3837. \t\t\t\t\t\t\t\t\t\t\t\t<!-- review-user -->
  3838. \t\t\t\t\t\t\t\t\t\t\t\t<div class=\"card-header bg-white mb0\">
  3839. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-user\">
  3840. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"user-img\">
  3841. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"{{ asset(constant('App\\\\Services\\\\File::IMAGE_CLIENT_DIR') ~ productAvi.client.image) }}\" alt=\"{{ productAvi.client.firstName }}\" class=\"rounded-circle\" style=\"width:50px;height:50px;object-fit:cover\"></div>
  3842. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"user-meta\">
  3843. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h5 class=\"user-name mb-0\">{{ productAvi.client.firstName }}<span class=\"user-review-date\">{{ productAvi.createdAt|date('d/m/Y') }}</span>
  3844. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</h5>
  3845. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"given-review\">
  3846. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rated\">
  3847. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  3848. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% for i in 2..5 %}
  3849. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% if i <= productAvi.globalNote|round %}
  3850. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star\"></i>
  3851. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% else %}
  3852. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"far fa-star\"></i>
  3853. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
  3854. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endfor %}
  3855. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>
  3856. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3857. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3858. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3859. \t\t\t\t\t\t\t\t\t\t\t\t</div>
  3860. \t\t\t\t\t\t\t\t\t\t\t\t<!-- /.review-user -->
  3861. \t\t\t\t\t\t\t\t\t\t\t\t<div class=\"card-body\">
  3862. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- review-descripttions -->
  3863. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-descriptions mb-2\" id=\"cli_{{key}}\">
  3864. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>
  3865. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i>{{ productAvi.text }}</i>
  3866. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</p>
  3867. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"cont_img_comment\">
  3868. \t\t\t\t\t\t\t\t\t\t\t\t\t\t{% for imageComment in productAvi.imageComments.toArray() %}
  3869. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img src={{ asset(constant('App\\\\Services\\\\File::IMAGE_COMMENT_DIR') ~ imageComment.url) }} class=\"img_comment\">
  3870. \t\t\t\t\t\t\t\t\t\t\t\t\t\t{% endfor %}
  3871. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3872. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3873. \t\t\t\t\t\t\t\t\t\t\t\t\t{% if productAvi.responseCompany %}
  3874. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"review-descriptions mb-2\" id=\"prest_{{key}}\">
  3875. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRéponse du prestataire :<br>
  3876. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i>{{ productAvi.responseCompany }}</i>
  3877. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3878. \t\t\t\t\t\t\t\t\t\t\t\t\t{% endif %}
  3879. \t\t\t\t\t\t\t\t\t\t\t\t\t<!-- /.review-descripttions -->
  3880. \t\t\t\t\t\t\t\t\t\t\t\t</div>
  3881. \t\t\t\t\t\t\t\t\t\t\t</div>
  3882. \t\t\t\t\t\t\t\t\t\t{% endif %}
  3883. \t\t\t\t\t\t\t\t\t{% else %}
  3884. \t\t\t\t\t\t\t\t\t\t<p class=\"p-3\">Aucun avis pour le moment</p>
  3885. \t\t\t\t\t\t\t\t\t{% endfor %}
  3886. \t\t\t\t\t\t\t\t</div>
  3887. \t\t\t\t\t\t\t</div>
  3888. \t\t\t\t\t\t</div>
  3889. \t\t\t\t\t\t{% if app.user and app.user.roles[0] == 'ROLE_USER' %}
  3890. \t\t\t\t\t\t\t{% set ifAvis = filter_service.getAvisUserExist(app.user, product) %}
  3891. \t\t\t\t\t\t\t{% if ifAvis == false %}
  3892. \t\t\t\t\t\t\t\t<div class=\"card border card-shadow-none leave-review\" id=\"review-form\">
  3893. \t\t\t\t\t\t\t\t\t<div class=\"card-header bg-white mb0\">
  3894. \t\t\t\t\t\t\t\t\t\t<h3 class=\"mb0\">Evaluez votre commande</h3>
  3895. \t\t\t\t\t\t\t\t\t</div>
  3896. \t\t\t\t\t\t\t\t\t<div class=\"card-body\">
  3897. \t\t\t\t\t\t\t\t\t\t<div class=\"review-rating-select\">
  3898. \t\t\t\t\t\t\t\t\t\t\t<div class=\"rate-selection\">
  3899. \t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-dark\">Qualité du service</span>
  3900. \t\t\t\t\t\t\t\t\t\t\t\t<span id=\"rateYo1\" class=\"jq-ry-container ml-4\" style=\"width: 70px;\">
  3901. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-group-wrapper\">
  3902. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-normal-group jq-ry-group\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\">
  3903. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3904. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  3905. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3906. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  3907. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3908. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  3909. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3910. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  3911. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3912. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  3913. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3914. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-rated-group jq-ry-group\" id=\"rate1\" style=\"width: 72%;\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\">
  3915. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3916. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  3917. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3918. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  3919. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3920. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  3921. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3922. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  3923. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3924. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  3925. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3926. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3927. \t\t\t\t\t\t\t\t\t\t\t\t</span>
  3928. \t\t\t\t\t\t\t\t\t\t\t</div>
  3929. \t\t\t\t\t\t\t\t\t\t\t<div class=\"rate-selection\">
  3930. \t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-dark\">Fiabilité</span>
  3931. \t\t\t\t\t\t\t\t\t\t\t\t<span id=\"rateYo2\" class=\"jq-ry-container ml-4\" style=\"width: 70px;\">
  3932. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-group-wrapper\">
  3933. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-normal-group jq-ry-group\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\">
  3934. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3935. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  3936. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3937. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  3938. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3939. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  3940. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3941. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  3942. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3943. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  3944. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3945. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-rated-group jq-ry-group\" id=\"rate2\" style=\"width: 72%;\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\">
  3946. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3947. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  3948. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3949. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  3950. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3951. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  3952. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3953. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  3954. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3955. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  3956. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3957. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3958. \t\t\t\t\t\t\t\t\t\t\t\t</span>
  3959. \t\t\t\t\t\t\t\t\t\t\t</div>
  3960. \t\t\t\t\t\t\t\t\t\t\t<div class=\"rate-selection\">
  3961. \t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-dark\">Prix</span>
  3962. \t\t\t\t\t\t\t\t\t\t\t\t<span id=\"rateYo3\" class=\"jq-ry-container ml-4\" style=\"width: 70px;\">
  3963. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-group-wrapper\">
  3964. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-normal-group jq-ry-group\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\">
  3965. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3966. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  3967. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3968. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  3969. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3970. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  3971. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3972. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  3973. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3974. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  3975. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3976. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-rated-group jq-ry-group\" id=\"rate3\" style=\"width: 72%;\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\">
  3977. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3978. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  3979. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3980. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  3981. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3982. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  3983. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3984. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  3985. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3986. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  3987. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3988. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  3989. \t\t\t\t\t\t\t\t\t\t\t\t</span>
  3990. \t\t\t\t\t\t\t\t\t\t\t</div>
  3991. \t\t\t\t\t\t\t\t\t\t\t<div class=\"rate-selection\">
  3992. \t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-dark\">Rapidité</span>
  3993. \t\t\t\t\t\t\t\t\t\t\t\t<span id=\"rateYo4\" class=\"jq-ry-container ml-4\" style=\"width: 70px;\">
  3994. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-group-wrapper\">
  3995. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-normal-group jq-ry-group\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\">
  3996. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3997. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  3998. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  3999. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  4000. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4001. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  4002. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4003. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  4004. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4005. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  4006. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  4007. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-rated-group jq-ry-group\" id=\"rate4\" style=\"width: 72%;\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\">
  4008. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4009. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  4010. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4011. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  4012. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4013. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  4014. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4015. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  4016. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4017. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  4018. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  4019. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  4020. \t\t\t\t\t\t\t\t\t\t\t\t</span>
  4021. \t\t\t\t\t\t\t\t\t\t\t</div>
  4022. \t\t\t\t\t\t\t\t\t\t\t<div class=\"rate-selection\">
  4023. \t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-dark\">Conforme à la description</span>
  4024. \t\t\t\t\t\t\t\t\t\t\t\t<span id=\"rateYo5\" class=\"jq-ry-container ml-4\" style=\"width: 70px;\">
  4025. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-group-wrapper\">
  4026. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-normal-group jq-ry-group\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\">
  4027. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4028. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  4029. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4030. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  4031. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4032. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  4033. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4034. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  4035. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4036. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  4037. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  4038. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-rated-group jq-ry-group\" id=\"rate5\" style=\"width: 72%;\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\">
  4039. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4040. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  4041. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4042. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  4043. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4044. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  4045. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4046. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  4047. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4048. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  4049. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  4050. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  4051. \t\t\t\t\t\t\t\t\t\t\t\t</span>
  4052. \t\t\t\t\t\t\t\t\t\t\t</div>
  4053. \t\t\t\t\t\t\t\t\t\t\t<div class=\"rate-selection\">
  4054. \t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-dark\">Communication</span>
  4055. \t\t\t\t\t\t\t\t\t\t\t\t<span id=\"rateYo6\" class=\"jq-ry-container ml-4\" style=\"width: 70px;\">
  4056. \t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-group-wrapper\">
  4057. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-normal-group jq-ry-group\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\">
  4058. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4059. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  4060. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4061. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  4062. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4063. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  4064. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4065. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#d3d3d3\" style=\"margin-left: 0px;\">
  4066. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4067. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  4068. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  4069. \t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"jq-ry-rated-group jq-ry-group\" id=\"rate6\" style=\"width: 72%;\"><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\">
  4070. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4071. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  4072. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4073. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  4074. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4075. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  4076. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4077. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg><!--?xml version=\"1.0\" encoding=\"utf-8\"?--><svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"0 12.705 512 486.59\" x=\"0px\" y=\"0px\" xml:space=\"preserve\" width=\"14px\" height=\"14px\" fill=\"#ff9227\" style=\"margin-left: 0px;\">
  4078. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<polygon points=\"256.814,12.705 317.205,198.566 512.631,198.566 354.529,313.435 414.918,499.295 256.814,384.427 98.713,499.295 159.102,313.435 1,198.566 196.426,198.566 \"></polygon>
  4079. \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>
  4080. \t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  4081. \t\t\t\t\t\t\t\t\t\t\t\t\t</div>
  4082. \t\t\t\t\t\t\t\t\t\t\t\t</span>
  4083. \t\t\t\t\t\t\t\t\t\t\t</div>
  4084. \t\t\t\t\t\t\t\t\t\t</div>
  4085. \t\t\t\t\t\t\t\t\t\t{{ form_start(formComment) }}
  4086. \t\t\t\t\t\t\t\t\t\t<div class=\"row\">
  4087. \t\t\t\t\t\t\t\t\t\t\t{# <div style=\"color:red\">{{ form_errors(formComment) }}</div> #}
  4088. \t\t\t\t\t\t\t\t\t\t\t<div class=\"col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mt30\">
  4089. \t\t\t\t\t\t\t\t\t\t\t\t{# <div class=\"form-group\">
  4090. \t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_label(form.imageComment, '', {'label_attr': {'class': 'control-label'}}) }}
  4091. \t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_widget(form.imageComment) }}
  4092. \t\t\t\t\t\t\t\t\t\t\t\t</div> #}
  4093. \t\t\t\t\t\t\t\t\t\t\t\t{# <div class=\"col-md-12\"> #}
  4094. \t\t\t\t\t\t\t\t\t\t\t\t\t{{form_widget(formComment)}}
  4095. \t\t\t\t\t\t\t\t\t\t\t\t{# </div> #}
  4096. \t\t\t\t\t\t\t\t\t\t\t\t{# <div class=\"form-group\">
  4097. \t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_label(formComment.text, '', {'label_attr': {'class': 'control-label'}}) }}
  4098. \t\t\t\t\t\t\t\t\t\t\t\t\t{{ form_widget(formComment.text, {'attr': {'class': 'form-control', 'rows': 5}}) }}
  4099. \t\t\t\t\t\t\t\t\t\t\t\t</div> #}
  4100. \t\t\t\t\t\t\t\t\t\t\t</div>
  4101. \t\t\t\t\t\t\t\t\t\t\t<!-- Button -->
  4102. \t\t\t\t\t\t\t\t\t\t\t<div class=\"col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12\">
  4103. \t\t\t\t\t\t\t\t\t\t\t\t<div class=\"form-group\">
  4104. \t\t\t\t\t\t\t\t\t\t\t\t\t<button id=\"submit\" name=\"submit\" class=\"btn btn-default\">Ajouter mon avis</button>
  4105. \t\t\t\t\t\t\t\t\t\t\t\t</div>
  4106. \t\t\t\t\t\t\t\t\t\t\t</div>
  4107. \t\t\t\t\t\t\t\t\t\t</div>
  4108. \t\t\t\t\t\t\t\t\t\t{# {{ form_rest(formComment) }} #}
  4109. \t\t\t\t\t\t\t\t\t\t{{ form_end(formComment) }}
  4110. \t\t\t\t\t\t\t\t\t</div>
  4111. \t\t\t\t\t\t\t\t</div>
  4112. \t\t\t\t\t\t\t{% endif %}
  4113. \t\t\t\t\t\t{% endif %}
  4114. \t\t\t\t\t</div>
  4115. \t\t\t\t\t<!-- /.review-content -->
  4116. \t\t\t\t</div>
  4117. \t\t\t\t<!-- /.location -->
  4118. \t\t\t\t<!-- list-sidebar -->
  4119. \t\t\t\t<div class=\"col-xl-4 col-lg-3 col-md-3 col-sm-12 col-12\">
  4120. \t\t\t\t\t<div
  4121. \t\t\t\t\t\tclass=\"sidebar-venue\">
  4122. \t\t\t\t\t\t<!-- FORMULAIRE DU PANIER -->
  4123. \t\t\t\t\t\t{% set isService = false %}
  4124. \t\t\t\t\t\t{% for productSubCategory in product.subCategories %}
  4125. \t\t\t\t\t\t\t{% if productSubCategory.isService == true %}
  4126. \t\t\t\t\t\t\t\t{% set isService = true %}
  4127. \t\t\t\t\t\t\t{% endif %}
  4128. \t\t\t\t\t\t{% endfor %}
  4129. \t\t\t\t\t\t{% if isService != true %}
  4130. \t\t\t\t\t\t\t{% include \"front/product/cart/cart_form.html.twig\" with {'product' : product} %}
  4131. \t\t\t\t\t\t{% endif %}
  4132. \t\t\t\t\t\t{% if isService == true %}
  4133. \t\t\t\t\t\t\t<!-- TEST DU TYPE DE SERVICE (location ou réservation) -->
  4134. \t\t\t\t\t\t\t{% set isLocation = false %}
  4135. \t\t\t\t\t\t\t{% for singleCategory in product.subcategories %}
  4136. \t\t\t\t\t\t\t\t{% if singleCategory.name == \"Location de salle\" or singleCategory.name == \"Location de vehicule\"  %}
  4137. \t\t\t\t\t\t\t\t\t{% set isLocation = true %}
  4138. \t\t\t\t\t\t\t\t{% endif %}
  4139. \t\t\t\t\t\t\t{% endfor %}
  4140. \t\t\t\t\t\t\t<!-- FORMULAIRE DE LOCATION -->
  4141. \t\t\t\t\t\t\t{% if isLocation == true or product.typeLocation is not null %}
  4142. \t\t\t\t\t\t\t\t{% include \"front/product/location/location_form.html.twig\" with {'product' : product} %}
  4143. \t\t\t\t\t\t\t{% endif %}
  4144. \t\t\t\t\t\t\t<!-- FORMULAIRE DE RESERVATION DE SERVICES -->
  4145. \t\t\t\t\t\t\t{% if isLocation == false and product.typeLocation is null %}
  4146. \t\t\t\t\t\t\t\t{% include \"front/product/reservation/reservation_form.html.twig\" with {'product' : product} %}
  4147. \t\t\t\t\t\t\t{% endif %}
  4148. \t\t\t\t\t\t{% endif %}
  4149. \t\t\t\t\t\t<div class=\"vendor-owner-profile mb30\">
  4150. \t\t\t\t\t\t\t<div class=\"vendor-owner-profile-head\">
  4151. \t\t\t\t\t\t\t\t<h3 class=\"mb-0\">Livraison</h3>
  4152. \t\t\t\t\t\t\t</div>
  4153. \t\t\t\t\t\t\t<div class=\"vendor-owner-profile-content\">
  4154. \t\t\t\t\t\t\t\t<ul class=\"list-group list-group-flush\">
  4155. \t\t\t\t\t\t\t\t\t<li class=\"list-group-item\">
  4156. \t\t\t\t\t\t\t\t\t\t<span class=\"mr-2\">
  4157. \t\t\t\t\t\t\t\t\t\t\t<i class=\"fas fa-fw fa-map-marker-alt\"></i>
  4158. \t\t\t\t\t\t\t\t\t\t</span>
  4159. \t\t\t\t\t\t\t\t\t\t{% for department in product.departments %}
  4160. \t\t\t\t\t\t\t\t\t\t\t{{ department.name }}
  4161. \t\t\t\t\t\t\t\t\t\t\t{% if not loop.last %},
  4162. \t\t\t\t\t\t\t\t\t\t\t{% endif %}
  4163. \t\t\t\t\t\t\t\t\t\t{% else %}
  4164. \t\t\t\t\t\t\t\t\t\t\tToute la France
  4165. \t\t\t\t\t\t\t\t\t\t{% endfor %}
  4166. \t\t\t\t\t\t\t\t\t</li>
  4167. \t\t\t\t\t\t\t\t</ul>
  4168. \t\t\t\t\t\t\t</div>
  4169. \t\t\t\t\t\t</div>
  4170. \t\t\t\t\t\t<!-- venue-admin -->
  4171. \t\t\t\t\t\t<div class=\"vendor-owner-profile mb30\">
  4172. \t\t\t\t\t\t\t<div class=\"vendor-owner-profile-head\">
  4173. \t\t\t\t\t\t\t\t<h3 class=\"mb-4\">Prestataire</h3>
  4174. \t\t\t\t\t\t\t</div>
  4175. \t\t\t\t\t\t\t<div class=\"vendor-owner-profile-content\">
  4176. \t\t\t\t\t\t\t\t<ul class=\"list-group list-group-flush\">
  4177. \t\t\t\t\t\t\t\t\t<li class=\"list-group-item\">
  4178. \t\t\t\t\t\t\t\t\t\t<span class=\"mr-2\">
  4179. \t\t\t\t\t\t\t\t\t\t\t<a href=\"{{ path('front_company_single', {'companySlug': product.company.companySlug, 'id': product.company.id}) }}\" class=\"btn btn-default btn-sm ml-2 text-center\">Voir le prestataire</a>
  4180. \t\t\t\t\t\t\t\t\t\t</span>
  4181. \t\t\t\t\t\t\t\t\t</li>
  4182. \t\t\t\t\t\t\t\t</ul>
  4183. \t\t\t\t\t\t\t</div>
  4184. \t\t\t\t\t\t</div>
  4185. \t\t\t\t\t</div>
  4186. \t\t\t\t</div>
  4187. \t\t\t</div>
  4188. \t\t\t<!-- /.list-sidebar -->
  4189. \t\t</div>
  4190. \t</div>
  4191. \t<!-- vendor-thumbnail section -->
  4192. \t<div class=\"space-small\">
  4193. \t\t<div class=\"container\">
  4194. \t\t\t<div class=\"row\">
  4195. \t\t\t\t<div class=\"col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12\">
  4196. \t\t\t\t\t<h2>Autres services du prestataire</h2>
  4197. \t\t\t\t</div>
  4198. \t\t\t</div>
  4199. \t\t\t<div class=\"row\">
  4200. \t\t\t\t{% for otherProduct in otherProducts %}
  4201. \t\t\t\t\t<div class=\"col-xl-4 col-lg-4 col-md-6 col-sm-6 col-12\">
  4202. \t\t\t\t\t\t<div class=\"container-block-Pcompanies mb-3\">
  4203. \t\t\t\t\t\t\t<div class=\"container-imageP zoomimg\">
  4204. \t\t\t\t\t\t\t\t<a href=\"{{ path('front_product_single', {'slug': otherProduct.subCategories[0].categories[0].slug, 'subCategorySlug': otherProduct.subCategories[0].subCategorySlug, 'product_id': otherProduct.id, 'productSlug': otherProduct.productSlug}) }}\">
  4205. \t\t\t\t\t\t\t\t\t{% if otherProduct.photos is not empty %}
  4206. \t\t\t\t\t\t\t\t\t\t<img src=\"{{ asset(constant('App\\\\Services\\\\File::IMAGE_PRODUCT_DIR') ~ otherProduct.photos.first.url) }}\" alt=\"{{ otherProduct.name }}\" class=\"img-fluid\" style=\"object-fit: cover; border-radius: .5rem .5rem 0 0;\">
  4207. \t\t\t\t\t\t\t\t\t{% endif %}
  4208. \t\t\t\t\t\t\t\t</a>
  4209. \t\t\t\t\t\t\t</div>
  4210. \t\t\t\t\t\t\t<div class=\"container-info-presta\" style=\"padding-bottom: 80px;\">
  4211. \t\t\t\t\t\t\t\t<h2 class=\"vendor-title\">
  4212. \t\t\t\t\t\t\t\t\t<a href=\"{{ path('front_product_single', {'slug': otherProduct.subCategories[0].categories[0].slug, 'subCategorySlug': otherProduct.subCategories[0].subCategorySlug, 'product_id': otherProduct.id, 'productSlug': otherProduct.productSlug}) }}\" class=\"title\">{{ otherProduct.name }}</a>
  4213. \t\t\t\t\t\t\t\t</h2>
  4214. \t\t\t\t\t\t\t\t<p class=\"vendor-address\">
  4215. \t\t\t\t\t\t\t\t\t{% for department in otherProduct.departments %}
  4216. \t\t\t\t\t\t\t\t\t\t{{ department.name }}
  4217. \t\t\t\t\t\t\t\t\t\t{% if not loop.last %},
  4218. \t\t\t\t\t\t\t\t\t\t{% endif %}
  4219. \t\t\t\t\t\t\t\t\t{% else %}
  4220. \t\t\t\t\t\t\t\t\t\tToute la France
  4221. \t\t\t\t\t\t\t\t\t{% endfor %}
  4222. \t\t\t\t\t\t\t\t</p>
  4223. \t\t\t\t\t\t\t\t<p>
  4224. \t\t\t\t\t\t\t\t\t<i class=\"fas fa-money-bill-wave\"></i>
  4225. \t\t\t\t\t\t\t\t\tPrix
  4226. \t\t\t\t\t\t\t\t\t<strong>{{ otherProduct.price|number_format(2, '.', '') }}</strong>
  4227. \t\t\t\t\t\t\t\t\t€</p>
  4228. \t\t\t\t\t\t\t\t<p>
  4229. \t\t\t\t\t\t\t\t\t<i class=\"fa fa-star rated\"></i>
  4230. \t\t\t\t\t\t\t\t\t{{ otherProduct.avis|length }} Avis</p>
  4231. \t\t\t\t\t\t\t\t{% if otherProduct.quantity %}
  4232. \t\t\t\t\t\t\t\t\t<p>{{ otherProduct.quantity }}
  4233. \t\t\t\t\t\t\t\t\t\tQuantité restante</p>
  4234.                                 {% else %}
  4235.                                     <p style=\"color: transparent;\">Quantité restante</p>
  4236. \t\t\t\t\t\t\t\t{% endif %}
  4237. \t\t\t\t\t\t\t</div>
  4238.                             <div class=\"wishlist-sign\">
  4239. \t\t\t\t\t\t\t\t<a href=\"#\" class=\"btn-wishlist\">
  4240. \t\t\t\t\t\t\t\t\t<i class=\"fa fa-heart\"></i>
  4241. \t\t\t\t\t\t\t\t</a>
  4242. \t\t\t\t\t\t\t</div>
  4243.                             <a href=\"{{ path('front_product_single', {'slug': otherProduct.subCategories[0].categories[0].slug, 'subCategorySlug': otherProduct.subCategories[0].subCategorySlug, 'product_id': otherProduct.id, 'productSlug': otherProduct.productSlug}) }}\" class=\"title\">
  4244.                                 <button class=\"btnVoirP btn\">Voir le produit</button>
  4245.                             </a>
  4246. \t\t\t\t\t\t</div>
  4247. \t\t\t\t\t</div>
  4248. \t\t\t\t{% else %}
  4249. \t\t\t\t\t<div class=\"col-md-12 mt-5 text-center\">
  4250. \t\t\t\t\t\t<p>Aucun autre produit.</p>
  4251. \t\t\t\t\t</div>
  4252. \t\t\t\t{% endfor %}
  4253. \t\t\t</div>
  4254. \t\t\t{# <div class=\"row\">
  4255. \t\t\t\t{% for otherProduct in otherProducts %}
  4256. \t\t\t\t\t<div class=\"col-xl-4 col-lg-4 col-md-6 col-sm-6 col-12\">
  4257. \t\t\t\t\t\t<div
  4258. \t\t\t\t\t\t\tclass=\"vendor-thumbnail\">
  4259. \t\t\t\t\t\t\t<!-- Vendor thumbnail -->
  4260. \t\t\t\t\t\t\t<div
  4261. \t\t\t\t\t\t\t\tclass=\"vendor-img zoomimg\">
  4262. \t\t\t\t\t\t\t\t<!-- Vendor img -->
  4263. \t\t\t\t\t\t\t\t<a href=\"{{ path('front_product_single', {'slug': otherProduct.subCategories[0].categories[0].slug, 'subCategorySlug': otherProduct.subCategories[0].subCategorySlug, 'product_id': otherProduct.id, 'productSlug': otherProduct.productSlug}) }}\">
  4264. \t\t\t\t\t\t\t\t\t{% if otherProduct.photos is not empty %}
  4265. \t\t\t\t\t\t\t\t\t\t<img src=\"{{ asset(constant('App\\\\Services\\\\File::IMAGE_PRODUCT_DIR') ~ otherProduct.photos.first.url) }}\" alt=\"{{ otherProduct.name }}\" class=\"img-fluid\">
  4266. \t\t\t\t\t\t\t\t\t{% endif %}
  4267. \t\t\t\t\t\t\t\t</a>
  4268. \t\t\t\t\t\t\t\t<div class=\"wishlist-sign\">
  4269. \t\t\t\t\t\t\t\t\t<a href=\"#\" class=\"btn-wishlist\">
  4270. \t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-heart\"></i>
  4271. \t\t\t\t\t\t\t\t\t</a>
  4272. \t\t\t\t\t\t\t\t</div>
  4273. \t\t\t\t\t\t\t</div>
  4274. \t\t\t\t\t\t\t<!-- /.Vendor img -->
  4275. \t\t\t\t\t\t\t<div
  4276. \t\t\t\t\t\t\t\tclass=\"vendor-content\">
  4277. \t\t\t\t\t\t\t\t<!-- Vendor Content -->
  4278. \t\t\t\t\t\t\t\t<h2 class=\"vendor-title\">
  4279. \t\t\t\t\t\t\t\t\t<a href=\"{{ path('front_product_single', {'slug': otherProduct.subCategories[0].categories[0].slug, 'subCategorySlug': otherProduct.subCategories[0].subCategorySlug, 'product_id': otherProduct.id, 'productSlug': otherProduct.productSlug}) }}\" class=\"title\">{{ otherProduct.name }}</a>
  4280. \t\t\t\t\t\t\t\t</h2>
  4281. \t\t\t\t\t\t\t\t<p class=\"vendor-address\">
  4282. \t\t\t\t\t\t\t\t\t{% for department in otherProduct.departments %}
  4283. \t\t\t\t\t\t\t\t\t\t{{ department.name }}
  4284. \t\t\t\t\t\t\t\t\t\t{% if not loop.last %},
  4285. \t\t\t\t\t\t\t\t\t\t{% endif %}
  4286. \t\t\t\t\t\t\t\t\t{% else %}
  4287. \t\t\t\t\t\t\t\t\t\tToute la France
  4288. \t\t\t\t\t\t\t\t\t{% endfor %}
  4289. \t\t\t\t\t\t\t\t</p>
  4290. \t\t\t\t\t\t\t</div>
  4291. \t\t\t\t\t\t\t<div class=\"vendor-meta\">
  4292. \t\t\t\t\t\t\t\t<div class=\"vendor-meta-item vendor-meta-item-bordered\">
  4293. \t\t\t\t\t\t\t\t\t<span class=\"vendor-price\">
  4294. \t\t\t\t\t\t\t\t\t\t{{ otherProduct.price|number_format(2, '.', '') }}€
  4295. \t\t\t\t\t\t\t\t\t</span>
  4296. \t\t\t\t\t\t\t\t\t<span class=\"vendor-text\">Prix</span>
  4297. \t\t\t\t\t\t\t\t</div>
  4298. \t\t\t\t\t\t\t\t<div class=\"vendor-meta-item vendor-meta-item-bordered\">
  4299. \t\t\t\t\t\t\t\t\t{% if otherProduct.quantity %}
  4300. \t\t\t\t\t\t\t\t\t\t<span class=\"vendor-guest\">
  4301. \t\t\t\t\t\t\t\t\t\t\t{{ otherProduct.quantity }}
  4302. \t\t\t\t\t\t\t\t\t\t</span>
  4303. \t\t\t\t\t\t\t\t\t\t<span class=\"vendor-text\">Quantité restante</span>
  4304. \t\t\t\t\t\t\t\t\t{% endif %}
  4305. \t\t\t\t\t\t\t\t</div>
  4306. \t\t\t\t\t\t\t\t{% set notes = 0 %}
  4307. \t\t\t\t\t\t\t\t{% for avi in otherProduct.avis %}
  4308. \t\t\t\t\t\t\t\t\t{% set notes = notes + avi.globalNote %}
  4309. \t\t\t\t\t\t\t\t{% endfor %}
  4310. \t\t\t\t\t\t\t\t{% set noteTotal = (notes > 0) ? notes / otherProduct.avis|length : 0 %}
  4311. \t\t\t\t\t\t\t\t<div class=\"vendor-meta-item vendor-meta-item-bordered\">
  4312. \t\t\t\t\t\t\t\t\t<span class=\"rating-star\">
  4313. \t\t\t\t\t\t\t\t\t\t{% for i in 1..5 %}
  4314. \t\t\t\t\t\t\t\t\t\t\t{% if i < noteTotal %}
  4315. \t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star rated\"></i>
  4316. \t\t\t\t\t\t\t\t\t\t\t{% else %}
  4317. \t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-star rate-mute\"></i>
  4318. \t\t\t\t\t\t\t\t\t\t\t{% endif %}
  4319. \t\t\t\t\t\t\t\t\t\t{% endfor %}
  4320. \t\t\t\t\t\t\t\t\t</span>
  4321. \t\t\t\t\t\t\t\t\t<span class=\"rating-count vendor-text\">({{ otherProduct.avis|length }})</span>
  4322. \t\t\t\t\t\t\t\t</div>
  4323. \t\t\t\t\t\t\t</div>
  4324. \t\t\t\t\t\t\t<!-- /.Vendor Content -->
  4325. \t\t\t\t\t\t</div>
  4326. \t\t\t\t\t\t<!-- /.Vendor thumbnail -->
  4327. \t\t\t\t\t</div>
  4328. \t\t\t\t{% else %}
  4329. \t\t\t\t\t<div class=\"col-md-12 mt-5 text-center\">
  4330. \t\t\t\t\t\t<p>Aucun autre produit.</p>
  4331. \t\t\t\t\t</div>
  4332. \t\t\t\t{% endfor %}
  4333. \t\t\t</div> #}
  4334. \t\t</div>
  4335. \t</div>
  4336.     {# Question #}
  4337. \t<div class=\"col-sm-12 col-md-5 col-lg-4 col-xl-3 position-fixed\" id=\"chatbar\" style=\"bottom:0;right:50px;z-index: 1000\">
  4338. \t\t<div class=\"panel panel-primary myradiuss\">
  4339. \t\t\t\t{# <div class=\"d-flex justify-content-between panel-heading p-2\" data-toggle=\"collapse\" data-parent=\"#accordion\" href=\"#collapseOne\" id=\"accordion\" style=\"background:#A066F2;border-radius: 8px 8px 0 0;cursor:pointer\">
  4340. \t\t\t\t\t<span style=\"color:#fff\">
  4341. \t\t\t\t\t\t<i class=\"fas fa-comments\"></i>
  4342. \t\t\t\t\t\tUne question sur ce
  4343. \t\t\t\t\t\t{% if product.company == 'product' %}produit{% else %}service{% endif%}
  4344. \t\t\t\t\t\t?</span>
  4345. \t\t\t\t\t<div class=\"btn-group pull-right\">
  4346. \t\t\t\t\t\t<a type=\"button\" class=\"btn btn-default btn-xs\">
  4347. \t\t\t\t\t\t\t<i class=\"fas fa-chevron-down\"></i>
  4348. \t\t\t\t\t\t</a>
  4349. \t\t\t\t\t</div>
  4350. \t\t\t\t</div> #}
  4351. \t\t\t\t<div class=\"panel-collapse collapse\" id=\"collapseOne\" style=\"border:1px solid #A066F2\">
  4352. \t\t\t\t\t{# <div class=\"modal-header\">
  4353. \t\t\t\t\t\t{# <h5 class=\"modal-title\" id=\"exampleModalLongTitle\">Créer un ticket</h5> #}
  4354. \t\t\t\t\t\t{# <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
  4355. \t\t\t\t\t\t<span aria-hidden=\"true\">&times;</span>
  4356. \t\t\t\t\t\t</button> 
  4357. \t\t\t\t\t</div> #}
  4358. \t\t\t\t\t<div class=\"titreSMS\"><h3 style=\"margin-bottom: 0\">Discutez avec le prestataire</h3></div>
  4359. \t\t\t\t\t{{ form_start(formTicket) }}
  4360. \t\t\t\t\t<span class=\"collapseMessage\" data-toggle=\"collapse\" data-parent=\"#accordion\" href=\"#collapseOne\">X</span>
  4361. \t\t\t\t\t<div class=\"modal-body\">
  4362. \t\t\t\t\t\t{# supprime d'apres le retour 12/08/22
  4363. \t\t\t\t\t\t<div class=\"col-xl-12 col-lg-12 col-md-12 col-sm-6 col-12\">
  4364. \t\t\t\t\t\t\t<div class=\"form-group\">
  4365. \t\t\t\t\t\t\t\t{{ form_row(formTicket.subject) }}
  4366. \t\t\t\t\t\t\t</div>
  4367. \t\t\t\t\t\t</div> #}
  4368. \t\t\t\t\t\t<div class=\"col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12\">
  4369. \t\t\t\t\t\t\t<div class=\"form-group\">
  4370. \t\t\t\t\t\t\t\t{{ form_row(formTicket.messagings) }}
  4371. \t\t\t\t\t\t\t</div>
  4372. \t\t\t\t\t\t</div>
  4373. \t\t\t\t\t\t<div class=\"col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12\">
  4374. \t\t\t\t\t\t\t<div class=\"form-group\">
  4375. \t\t\t\t\t\t\t\t<input class='form-control' name=\"productID\" type=\"hidden\" value={{ product.id }} readonly>
  4376. \t\t\t\t\t\t\t</div>
  4377. \t\t\t\t\t\t</div>
  4378. \t\t\t\t\t</div>
  4379. \t\t\t\t\t<div class=\"modal-footer\">
  4380. \t\t\t\t\t\t{# <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">Fermer</button> #}
  4381. \t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-primary\">Envoyer</button>
  4382. \t\t\t\t\t</div>
  4383. \t\t\t\t\t{{ form_end(formTicket) }}
  4384. \t\t\t\t\t{# <div class=\"p-3\" id=\"messageSuccessContact\" style=\"background:green;color:#fff;display:none\">Message envoyé !</div>
  4385. \t\t\t\t\t{{ form_start(formContact, {'attr': {'id': 'contactFormProduct'}}) }}
  4386. \t\t\t\t\t<div class=\"panel-body\" style=\"background:#fff\">
  4387. \t\t\t\t\t\t<div class=\"chat\">
  4388. \t\t\t\t\t\t\t{{ form_widget(formContact.message, {'attr': {'rows': 12}}) }}
  4389. \t\t\t\t\t\t</div>
  4390. \t\t\t\t\t</div>
  4391. \t\t\t\t\t<div class=\"panel-footer\">
  4392. \t\t\t\t\t\t<div class=\"input-group\">
  4393. \t\t\t\t\t\t\t{{ form_widget(formContact.email) }}
  4394. \t\t\t\t\t\t\t<span class=\"input-group-btn\">
  4395. \t\t\t\t\t\t\t\t<button type=\"submit\" class=\"btn btn-warning btn-sm\" id=\"btn-chat\">Envoyer</button>
  4396. \t\t\t\t\t\t\t</span>
  4397. \t\t\t\t\t\t</div>
  4398. \t\t\t\t\t</div>
  4399. \t\t\t\t\t{{ form_end(formContact) }} #}
  4400. \t\t\t\t</div>
  4401. \t\t\t</div>
  4402. \t\t</div>
  4403. \t</div>
  4404. \t{# Modal chat #}
  4405. \t<!-- Button trigger modal -->
  4406. \t\t{% if app.user %}
  4407. \t\t<div class=\"position-fixed\" id=\"MyChat\" data-toggle=\"collapse\" data-parent=\"#accordion\" href=\"#collapseOne\">
  4408. \t\t\t<i class=\"fas fa-comments MyIconChat\"></i>
  4409. \t\t</div>
  4410. \t\t{# <div class=\"position-fixed\" id=\"MyChat\" data-toggle=\"modal\" data-target=\"#modalChat\">
  4411. \t\t\t<i class=\"fas fa-comments MyIconChat\"></i>
  4412. \t\t\t</a>
  4413. \t\t</div> #}
  4414. \t\t {% else %}
  4415. \t\t <script src=\"\">
  4416. \t\t \tfunction connect(){
  4417. \t\t\t\twindow.open(\"{{ path('connection-test', {'product_id': product.id, 'productSlug': product.productSlug }) }}\", \"pub\", \"menubar=no\");
  4418. \t\t\t}
  4419. \t\t </script>
  4420. \t\t\t<div class=\"position-fixed\" id=\"MyChat\">
  4421. \t\t\t\t{# <a href=\"{{ path('front_product_single', {'slug': product.subCategories[0].categories[0].slug, 'subCategorySlug': product.subCategories[0].subCategorySlug, 'product_id': product.id, 'productSlug': product.productSlug}) }}\" onclick=\"connect();\"> #}
  4422. \t\t\t\t<a href=\"{{ path('connection-test', {'product_id': product.id, 'productSlug': product.productSlug }) }}\" onclick=\"connect();\" rel=\"noopener\" target=\"_blank\">
  4423. \t\t\t\t<i class=\"fas fa-comments MyIconChat\"></i>
  4424. \t\t\t\t</a>
  4425. \t\t\t</div>
  4426. \t\t{% endif %}
  4427. \t
  4428. \t{# Modal chat #}
  4429. \t{% endblock %}
  4430. \t {% block _avis_imageComments_widget %}
  4431. \t\t<p>Ici, vous pouvez ajouter vos image, sa taille ne doit pas dépasser 400ko !</p>
  4432. \t\t<div class=\"form-group\">
  4433. \t\t\t<button class=\"btn btn-primary\" id=\"add_image\" data-target=\"#block_{{id}}\" type=\"button\">Ajouter une image</button>
  4434. \t\t</div>
  4435. \t\t{{form_widget(form)}}
  4436. \t\t<input type=\"hidden\" id=\"widgets-counter\" value=\"0\">
  4437. \t\t<input type=\"hidden\" id=\"conteur-input\" value=\"0\">
  4438. \t{% endblock %}
  4439. \t{% block _avis_imageComments_entry_row %}
  4440. \t\t{{form_widget(form)}}
  4441. \t{% endblock %}
  4442. \t{% block _avis_imageComments_entry_widget %}
  4443. \t\t<div class=\"form-group\" id=\"block_{{id}}\">
  4444. \t\t\t<div class=\"row\">
  4445. \t\t\t\t<div class=\"col-10 mt-3\">
  4446. \t\t\t\t\t<div class=\"row\">
  4447. \t\t\t\t\t\t<div class=\"col-md-12 image-errors\">
  4448. \t\t\t\t\t\t\t{{ form_widget(form.url, {'attr': {'class': 'form-control file-input'}}) }}
  4449. \t\t\t\t\t\t\t{{ form_errors(form.url, {'attr': {'class': 'form-control message'}}) }}
  4450. \t\t\t\t\t\t</div>
  4451. \t\t\t\t\t</div>
  4452. \t\t\t\t</div>
  4453. \t\t\t\t<div class=\"col-2 mt-3\">
  4454. \t\t\t\t\t<button type=\"button\" data-action=\"delete\" data-target=\"#block_{{id}}\" class=\"btn btn-danger\">X</button>
  4455. \t\t\t\t</div>
  4456. \t\t\t</div>
  4457. \t\t</div>
  4458. \t{% endblock %}
  4459. \t{% block javascript %}
  4460. \t\t<script title=\"zoom img comment\">
  4461. \t\t\t{% for key,productAvi in productAvis|slice(0, 3) %}
  4462. \t\t\t\tif (\$('.img_comment').length) {
  4463. \t\t\t\t\t\$('#cli_{{key}} .img_comment').magnificPopup({
  4464. \t\t\t\t\t\titems: [{% for imageComment in productAvi.imageComments.toArray() %}{
  4465. \t\t\t\t\t\t\t\tsrc: \"{{ asset(constant('App\\\\Services\\\\File::IMAGE_COMMENT_DIR') ~ imageComment.url) }}\",
  4466. \t\t\t\t\t\t\t\ttitle: 'Photo ' + {{ loop.index }}
  4467. \t\t\t\t\t\t\t},{% endfor %}],
  4468. \t\t\t\t\t\tgallery: {
  4469. \t\t\t\t\t\t\tenabled: true
  4470. \t\t\t\t\t\t},
  4471. \t\t\t\t\t\ttype: 'image' // this is a default type
  4472. \t\t\t\t\t});
  4473. \t\t\t\t}
  4474. \t\t\t{% endfor %}
  4475. \t\t</script>
  4476. \t\t<script>
  4477. \t\t\tdocument.getElementById(\"profil_user_image\").addEventListener('change', function() {
  4478. \t\t\t\tvar reader = new FileReader();
  4479. \t\t\t\treader.onload = function (e) {
  4480. \t\t\t\t\t// get loaded data and render thumbnail.
  4481. \t\t\t\t\tconsole.log(e.target)
  4482. \t\t\t\t\tdocument.getElementById(\"image-preview\").style.background = `url(\${e.target.result})no-repeat center`;
  4483. \t\t\t\t\tdocument.getElementById(\"image-preview\").style.backgroundSize = `cover`;
  4484. \t\t\t\t};
  4485. \t\t\t\t// read the image file as a data URL.
  4486. \t\t\t\treader.readAsDataURL(this.files[0]);
  4487. \t\t\t});
  4488. \t\t</script>
  4489. \t\t{{ parent() }}
  4490. \t\t{# Script zoom option #}
  4491. \t\t<script>
  4492. \t\t\tlet backgroundFlou = document.querySelector('.backgroundTrans');
  4493. \t\t\tlet exitBtn = document.querySelector('.exitZoomOpt');
  4494. \t\t\t//Affiche image clikee
  4495. \t\t\tfunction afficheImgOption(idbtn) {
  4496. \t\t\t\tlet img = document.getElementById(idbtn + \"img\");
  4497. \t\t\t\t//console.log(img);
  4498. \t\t\t\t//img.classList.add('showImgOption');
  4499. \t\t\t\timg.style.display = \"block\";
  4500. \t\t\t\tbackgroundFlou.style.display = \"block\";
  4501. \t\t\t\texitBtn.style.display = \"block\";
  4502. \t\t\t}\t
  4503. \t\t\t//Fermer par contoure image
  4504. \t\t\tbackgroundFlou.addEventListener('click', function () {
  4505. \t\t\t\tlet imgZoomOp = document.querySelectorAll(\".imgZoomOption\");
  4506. \t\t\t\timgZoomOp.forEach(function(item,index){
  4507. \t\t\t\t\timgZoomOp[index].style.display = \"none\";
  4508. \t\t\t\t})
  4509. \t\t\t\tbackgroundFlou.style.display = \"none\";
  4510. \t\t\t\texitBtn.style.display = \"none\";
  4511. \t\t\t})
  4512. \t\t\t
  4513. \t\t\t//Fermer par boutton X
  4514. \t\t\texitBtn.addEventListener('click', function () {
  4515. \t\t\t\tlet imgZoomOp = document.querySelectorAll(\".imgZoomOption\");
  4516. \t\t\t\timgZoomOp.forEach(function(item,index){
  4517. \t\t\t\t\timgZoomOp[index].style.display = \"none\";
  4518. \t\t\t\t})
  4519. \t\t\t\tbackgroundFlou.style.display = \"none\";
  4520. \t\t\t\texitBtn.style.display = \"none\";
  4521. \t\t\t})
  4522. \t\t</script>
  4523. <script>
  4524. var counte = [];
  4525. \$('#add_image').click(function () {
  4526. const index = + \$('#widgets-counter').val();
  4527. var tab = this.dataset.target;
  4528. var valeur = tab + \"_\" + index;
  4529. if (counte.length < 3) {
  4530. counte.push(valeur);
  4531. const tmpl = \$('#avis_imageComments').data('prototype').replace(/__name__/g, index);
  4532. \$('#avis_imageComments').append(tmpl);
  4533. \$('#widgets-counter').val(index + 1);
  4534. }
  4535. handleDeleteButtons();
  4536. })
  4537. function handleDeleteButtons() {
  4538. \$('button[data-action=\"delete\"]').click(function (event) {
  4539. event.preventDefault();
  4540. const target = this.dataset.target;
  4541. var num = counte.indexOf(target);
  4542. \$(target).remove();
  4543. if (num != -1) {
  4544. counte.splice(num, 1);
  4545. }
  4546. });
  4547. }
  4548. function updateCounter() {
  4549. const count = + \$('#comment_imageComment div.form-group').length;
  4550. \$('#widgets-counter').val(count);
  4551. }
  4552. updateCounter();
  4553. handleDeleteButtons();
  4554. // OnFileValidation();
  4555. var previewPicture  = function (e) {
  4556.     // e.files contient un objet FileList
  4557.     const [picture] = e.files
  4558.     // \"picture\" est un objet File
  4559.     if (picture) {
  4560.         // On change l'URL de l'image
  4561.         document.getElementById(\"img_profil\").src = URL.createObjectURL(picture)
  4562.     }
  4563. }
  4564. \t\t\t</script>
  4565. \t\t<script tite=\"gestion options front\" src=\"{{ asset('js/gestion_option.js') }}\">
  4566. \t\t</script>
  4567. \t\t<script>
  4568. \$(document).ready(function () {
  4569.     \$('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({
  4570.         disableOn: 700,
  4571.         type: 'iframe',
  4572.         mainClass: 'mfp-fade',
  4573.         removalDelay: 160,
  4574.         preloader: false,
  4575.         fixedContentPos: false
  4576.     });
  4577. });
  4578. {# Moins Plus Qty #}
  4579. function wcqib_refresh_quantity_increments() {
  4580.     jQuery(\"div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)\").each(function (a, b) {
  4581.         var c = jQuery(b);
  4582.         c.addClass(\"buttons_added\"),
  4583.             c.children().first().before('<input type=\"button\" value=\"-\" class=\"minus\" />'),
  4584.             c.children().last().after('<input type=\"button\" value=\"+\" class=\"plus\" />')
  4585.     })
  4586. }
  4587. String.prototype.getDecimals || (String.prototype.getDecimals = function () {
  4588.     var a = this,
  4589.         b = (\"\" + a).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?\$/);
  4590.     return b ? Math.max(0, (b[1] ? b[1].length : 0) - (b[2] ? + b[2] : 0)) : 0
  4591. }),
  4592.     jQuery(document).ready(function () {
  4593.         wcqib_refresh_quantity_increments()
  4594.     }),
  4595.     jQuery(document).on(\"updated_wc_div\", function () {
  4596.         wcqib_refresh_quantity_increments()
  4597.     }),
  4598.     jQuery(document).on(\"click\", \".plus, .minus\", function () {
  4599.         var a = jQuery(this).closest(\".quantity\").find(\".qty\"),
  4600.             b = parseFloat(a.val()),
  4601.             c = parseFloat(a.attr(\"max\")),
  4602.             d = parseFloat(a.attr(\"min\")),
  4603.             e = a.attr(\"step\");
  4604.         b && \"\" !== b && \"NaN\" !== b || (b = 0),
  4605.             \"\" !== c && \"NaN\" !== c || (c = \"\"),
  4606.             \"\" !== d && \"NaN\" !== d || (d = 0),
  4607.             \"any\" !== e && \"\" !== e && void 0 !== e && \"NaN\" !== parseFloat(e) || (e = 1),
  4608.             jQuery(this).is(\".plus\") ? c && b >= c ? a.val(c) : a.val((b + parseFloat(e)).toFixed(e.getDecimals())) : d && b <= d ? a.val(d) : b > 0 && a.val((b - parseFloat(e)).toFixed(e.getDecimals())),
  4609.             a.trigger(\"change\")
  4610.     });
  4611. {# Moins Plus Qty #}
  4612. if (\$('#open-popup-images').length) {
  4613. \t\$('#open-popup-images').magnificPopup({
  4614. \t\titems: [{% for photo in product.photos %}{
  4615. \t\tsrc: \"{{ asset(constant('App\\\\Services\\\\File::IMAGE_PRODUCT_DIR') ~ photo.url) }}\",
  4616. \t\ttitle: 'Photo ' + {{ loop.index }}
  4617. \t},{% endfor %}],
  4618. \t\tgallery: {
  4619. \t\tenabled: true
  4620. \t},
  4621. \t\ttype: 'image' // this is a default type
  4622. \t});
  4623. }
  4624. \t\t</script>
  4625. \t\t<script>
  4626. window.addEventListener('load', (event) => {
  4627. \tlocalStorage.clear();
  4628. });
  4629. function modiffOption(id_option,url) {
  4630. \tconsole.log('zaaa',url);
  4631. \tfetch(`\${url}/option/\${id_option}`)
  4632.     .then(response=> response.json())
  4633.     .then(data=>{
  4634. \t\t
  4635. \t\t\$(\".nice-select\").attr(\"style\", \"display: none !important\");
  4636. \t\t\$(\"#id_optionmodal\").val(id_option);
  4637. \t\t\$(\"#name_optionmodal\").val(data.options.name);
  4638. \t\t\$(\"#image_optionmodal\").val(data.options.image1);
  4639. \t\tvar imageopt=`<img id=\"optionbtn1img\" src=\"/upload/produits/\${data.options.image1}\">`;
  4640. \t\t\$(\"#optionsimage\").html(imageopt);
  4641. \t\tconsole.log('image',imageopt);
  4642. \t\tconsole.log('subcates',data.options);
  4643. \t\tconsole.log('olor',data.options.colorsOption);
  4644. \t\tif ( typeof data.options.colorsOption != \"undefined\" && data.options.colorsOption != null && data.options.colorsOption.length != null && data.options.colorsOption.length > 0) {
  4645. \t\t\tvar colorso =\"\";
  4646. \t\t\tfor (let i = 0; i < data.options.colorsOption.length; i++) {
  4647. \t\t\t\tcolorso +='<option>'+ data.options.colorsOption[i]+'</option>'
  4648. \t\t\t}
  4649. \t\t\t\$(\"#optionscolor\").html(colorso);
  4650. \t\t\t\$(\".optionscolor\").attr(\"style\", \"display: block !important\");
  4651. \t\t\t\$(\"#optionscolor\").attr(\"style\", \"display: block !important\");
  4652. \t\t}else{
  4653. \t\t\t\$(\".optionscolor\").attr(\"style\", \"display: none !important\");
  4654. \t\t}
  4655.         if (typeof data.options.format != \"undefined\" && data.options.format != null && data.options.format.length != null && data.options.format.length > 0) {
  4656. \t\t\tvar formatopt =\"\";
  4657. \t\t\tfor (let i = 0; i < data.options.format.length; i++) {
  4658. \t\t\t\tformatopt +='<option>'+data.options.format[i]+'</option>'
  4659. \t\t\t}
  4660. \t\t\t\$(\"#optionsform\").html(formatopt);
  4661. \t\t\t\$(\".optionsform\").attr(\"style\", \"display: block !important\");
  4662. \t\t\t\$(\"#optionsform\").attr(\"style\", \"display: block !important\");
  4663. \t\t}
  4664. \t\telse{
  4665. \t\t\t\$(\".optionsform\").attr(\"style\", \"display: none !important\");
  4666. \t\t}
  4667.         if (typeof data.options.finition != \"undefined\" && data.options.finition != null && data.options.finition.length != null && data.options.finition.length > 0) {
  4668. \t\t\tvar finitions =\"\";
  4669. \t\t\tfor (let i = 0; i < data.options.finition.length; i++) {
  4670. \t\t\t\tfinitions +='<option>'+data.options.finition[i]+'</option>'
  4671. \t\t\t}
  4672. \t\t\t\$(\"#optionsfinition\").html(finitions);
  4673. \t\t\t\$(\".optionsfinition\").attr(\"style\", \"display: block !important\");
  4674. \t\t\t\$(\"#optionsfinition\").attr(\"style\", \"display: block !important\");
  4675. \t\t}
  4676. \t\telse{
  4677. \t\t\t\$(\".optionsfinition\").attr(\"style\", \"display: none !important\");
  4678. \t\t}
  4679. \t\tif (typeof data.options.papier != \"undefined\" && data.options.papier != null && data.options.papier.length != null && data.options.papier.length > 0) {
  4680. \t\t\tvar papiers =\"\";
  4681. \t\t\tfor (let i = 0; i < data.options.papier.length; i++) {
  4682. \t\t\t\tpapiers +='<option>'+data.options.papier[i]+'</option>'
  4683. \t\t\t}
  4684. \t\t\t\$(\"#optionspapier\").html(papiers);
  4685. \t\t\t\$(\".optionspapier\").attr(\"style\", \"display: block !important\");
  4686. \t\t\t\$(\"#optionspapier\").attr(\"style\", \"display: block !important\");
  4687. \t\t}
  4688. \t\telse{
  4689. \t\t\t\$(\".optionspapier\").attr(\"style\", \"display: none !important\");
  4690. \t\t}
  4691.         if (typeof data.options.quantite != \"undefined\" && data.options.quantite != null && data.options.quantite.length != null && data.options.quantite.length > 0) {
  4692. \t\t\tvar quantites =\"\";
  4693. \t\t\tfor (let i = 0; i < data.options.quantite.length; i++) {
  4694. \t\t\t\tquantites +='<option>'+data.options.quantite[i]+'</option>'
  4695. \t\t\t}
  4696. \t\t\t\$(\"#optionsquantite\").html(quantites);
  4697. \t\t\t\$(\".optionsquantite\").attr(\"style\", \"display: block !important\");
  4698. \t\t\t\$(\"#optionsquantite\").attr(\"style\", \"display: block !important\");
  4699. \t\t}
  4700. \t\telse{
  4701. \t\t\t\$(\".optionsquantite\").attr(\"style\", \"display: none !important\");
  4702. \t\t}
  4703.         if (typeof data.options.etiquette != \"undefined\" && data.options.etiquette != null && data.options.etiquette.length != null && data.options.etiquette.length > 0) {
  4704. \t\t\tvar etiquettes =\"\";
  4705. \t\t\tfor (let i = 0; i < data.options.etiquette.length; i++) {
  4706. \t\t\t\tetiquettes +='<option>'+data.options.etiquette[i]+'</option>'
  4707. \t\t\t}
  4708. \t\t\t\$(\"#optionsetiquette\").html(etiquettes);
  4709. \t\t\t\$(\".optionsetiquette\").attr(\"style\", \"display: block !important\");
  4710. \t\t\t\$(\"#optionsetiquette\").attr(\"style\", \"display: block !important\");
  4711. \t\t}
  4712. \t\telse{
  4713. \t\t\t\$(\".optionsetiquette\").attr(\"style\", \"display: none !important\");
  4714. \t\t}
  4715.         if (typeof data.options.ruban != \"undefined\" && data.options.ruban != null && data.options.ruban.length != null && data.options.ruban.length > 0) {
  4716. \t\t\tvar rubans =\"\";
  4717. \t\t\tfor (let i = 0; i < data.options.ruban.length; i++) {
  4718. \t\t\t\trubans +='<option>'+data.options.ruban[i]+'</option>'
  4719. \t\t\t}
  4720. \t\t\t\$(\"#optionsruban\").html(rubans);
  4721. \t\t\t\$(\".optionsruban\").attr(\"style\", \"display: block !important\");
  4722. \t\t\t\$(\"#optionsruban\").attr(\"style\", \"display: block !important\");
  4723. \t\t}
  4724. \t\telse{
  4725. \t\t\t\$(\".optionsruban\").attr(\"style\", \"display: none !important\");
  4726. \t\t}
  4727. \t\t
  4728. \t\t\$(\"#modalOption\").modal(\"show\");
  4729. \t\t\t
  4730. \t});
  4731. \t
  4732. }
  4733. // function envoiGroupOption(params) {
  4734. // \tconsole.log(\"io fa tonga\");
  4735. // \t var valeuroptions = localStorage.getItem('produit_option');
  4736. // \t\$(\"#storageGroupsOption\").val(valeuroptions);
  4737. // }
  4738. function validemodaloption() {
  4739. \t//\$(\"#optionscolor\").val();
  4740. \t \$(\"#modalOption\").modal(\"hide\");
  4741. \tconsole.log(\$(\"#optionscolor\").val(),\$(\"#id_optionmodal\").val());
  4742. \t const data = {
  4743.             idoption: \$(\"#id_optionmodal\").val(),
  4744. \t\t\tnomoption: \$(\"#name_optionmodal\").val(),
  4745. \t\t\timageoption: \$(\"#image_optionmodal\").val(),
  4746.             color: \$(\"#optionscolor\").val(),
  4747.             form: \$(\"#optionsform\").val(),
  4748.             finition: \$(\"#optionsfinition\").val(),
  4749.             papier: \$(\"#optionspapier\").val(),
  4750.             quantite: \$(\"#optionsquantite\").val(),
  4751.             etiquette: \$(\"#optionsetiquette\").val(),
  4752.             ruban: \$(\"#optionsruban\").val(),
  4753.         };
  4754.     //     let datas = new FormData();
  4755.     //   return  datas.append(\"data\", JSON.stringify(data));
  4756.     
  4757. \tlocalStorage.setItem(\$(\"#id_optionmodal\").val(), JSON.stringify(data));
  4758. }
  4759. // Fonction afiches tous option
  4760. function voirtoutOption(id_product,url) {
  4761. \tconsole.log('kokokoko',url);
  4762. \tconsole.log('isID',id_product);
  4763. \t// var id_product=314;
  4764. \t\$(\"#valeurOpion\").html(\"\");
  4765. \tfetch(`\${url}/tous-options-product/\${id_product}`)
  4766.     .then(response=> response.json())
  4767.     .then(data=>{
  4768. \t\tconsole.log('tous option', data);
  4769. \t\t\$(\"#valeurOpion\").append(data);
  4770. \t});
  4771. \t
  4772. }
  4773. function validemodalgroupe() {
  4774. \$(\"#modalOptionGP\").modal(\"hide\");
  4775.  var goption= document.getElementsByClassName('goption');
  4776.  var labels =new Array();
  4777.  for (let i = 0; i < goption.length; i++) {
  4778. \tvar id_goption = goption[i].id.split(\"_\");
  4779. \tvar label= document.getElementsByClassName('label_'+id_goption[1]);
  4780. \tvar hidden= document.getElementsByClassName('hidden_'+id_goption[1]);
  4781. \tvar qte= document.getElementsByClassName('qte_'+id_goption[1]);
  4782. \t
  4783. \t// console.log('labeb',label);
  4784. \tvar compter=0;
  4785. \t
  4786. \t var lab =new Array();
  4787. \t var qt =new Array();
  4788. \tfor (let l = 0; l < label.length; l++) {
  4789. \t   console.log('type', label[l].type);
  4790. \t\t if (label[l].type==\"checkbox\" && label[l].checked) {
  4791.             
  4792. \t\t\tlab[compter] = hidden[l].value;
  4793. \t\t\tqt[compter] = qte[l].value;
  4794. \t\t\tcompter++
  4795.         }
  4796. \t\tif (label[l].type==\"select-one\" && label[l].value != \"\") {    
  4797. \t\t\tlab[compter] = label[l].value;
  4798. \t\t\tqt[compter] = qte[l].value;
  4799. \t\t\tcompter++
  4800.         }
  4801. \t}
  4802. \tlabels[i] = {idoption: id_goption[1], labelo: lab, qte: qt};
  4803.  }
  4804.     console.log('valin label',labels);
  4805. \t
  4806. \tlocalStorage.setItem('produit_option', JSON.stringify(labels));
  4807. }
  4808. \t\t// Ajouter au panier
  4809. document.addEventListener('DOMContentLoaded', function () {
  4810.     if (!document.getElementById('form_add_bascket')) {
  4811.         return;
  4812.     }
  4813.     var form = document.getElementById('form_add_bascket');
  4814. \t// var url = window.location.href.split('/');
  4815. \t// var param_url = url[0]+'//'+url[2];
  4816. \t// var checkOpt = document.querySelectorAll('.option-product');
  4817. \t// var dataOptios = [];
  4818. \t// for (var i = 0; i < checkOpt.length; i++) {
  4819.     // checkOpt[i].addEventListener('change', (option) => {
  4820. \t// \t// console.log('pppp',this);
  4821. \t// \tvar idop = option.target.getAttribute('data-id');
  4822. \t// \t// console.log(\"izzz\",param_url, idop);
  4823. \t// \tfetch(`\${param_url}/option/\${idop}`)
  4824. \t// \t.then(response=> response.json())
  4825. \t// \t.then(data=>{
  4826. \t// \t\tconsole.log('qqqqqq',data.options);
  4827. \t// \t\tconsole.log('nn',option.target.checked);
  4828. \t// \t\tif (option.target.checked) {
  4829. \t\t\t\t
  4830. \t// \t\t\tvar dataOption={
  4831. \t// \t\t\t\t\tidoption: data.options.id ? data.options.id : null,
  4832. \t// \t\t\t\t\tnomoption: data.options.name ? data.options.name : null,
  4833. \t// \t\t\t\t\timageoption: data.options.image1 ? data.options.image1 : null,
  4834. \t// \t\t\t\t\tcolor: data.options.colorsOption[0] ? data.options.colorsOption[0] : null,
  4835. \t// \t\t\t\t\tform: data.options.format[0] ? data.options.format[0] : null,
  4836. \t// \t\t\t\t\tfinition: data.options.finition[0] ? data.options.finition[0] : null,
  4837. \t// \t\t\t\t\tpapier: data.options.papier[0] ? data.options.papier[0] : null,
  4838. \t// \t\t\t\t\tquantite: data.options.quantite[0] ? data.options.quantite[0] : null,
  4839. \t// \t\t\t\t\tetiquette: data.options.etiquette[0] ? data.options.etiquette[0] : null,
  4840. \t// \t\t\t\t\truban: data.options.ruban[0] ? data.options.ruban[0] : null ,
  4841. \t// \t\t\t\t\t}
  4842. \t// \t\t\tdataOptios.push(dataOption);
  4843. \t// \t\t}else{
  4844. \t// \t\t\tconsole.log('miala checked');
  4845.     //             console.log('donnée',dataOptios);
  4846. \t// \t\t\tfor (let g = 0; g < dataOptios.length; g++) {\t
  4847. \t// \t\t\t\tif (dataOptios[g].idoption == idop) {
  4848. \t// \t\t\t\t\tconsole.log('données_hita',dataOptios[g].idoption);
  4849. \t// \t\t\t\t}
  4850. \t// \t\t\t}
  4851. \t// \t\t}
  4852. \t// \t});
  4853. \t// })
  4854. \t// }\t
  4855. \t
  4856.     form.addEventListener('submit', (e) => {
  4857.         e.preventDefault();
  4858. \t\t let form = e.target;
  4859.         const formData = new FormData(form);
  4860. \t\t// for (let h = 0; h < dataOptios.length; h++) {\t
  4861. \t\t// \t//  formData.append(\"OpId_\"+j, values[j]);
  4862. \t\t// \t//  console.log(\"valuo\",values[j]);
  4863. \t\t// \tconsole.log('tonga_aty',dataOptios[h]);
  4864. \t\t// }  
  4865. \t var valeuroptions=localStorage.getItem('produit_option');
  4866. \t localStorage.removeItem('produit_option');
  4867. \t console.log(\"localstor\", valeuroptions);
  4868. \t formData.append(\"groupOption\", valeuroptions);
  4869. \t//  var table=[];
  4870. \t//  for (let o = 0; o < valeuroptions.length; o++) {
  4871. \t// \ttable[]= valeuroptions[o];\t
  4872. \t//  }
  4873. \t//  console.log('valertab', table);
  4874. \t  if (Object.keys(localStorage).length != 0) {
  4875. \t\t
  4876. \t\t  var values = [];
  4877. \t\t  keys = Object.keys(localStorage);
  4878. \t\t  i = keys.length;
  4879.   
  4880. \t\t  while ( i-- ) {
  4881. \t\t\t  values.push( localStorage.getItem(keys[i]) );
  4882. \t\t\t  localStorage.removeItem(keys[i]);
  4883. \t\t  }       
  4884. \t\t  formData.append(\"tail\",values.length);
  4885. \t\t  
  4886. \t\t  for (let j = 0; j < values.length; j++) {\t
  4887. \t\t\t formData.append(\"OpId_\"+j, values[j]);
  4888. \t\t\t console.log(\"valuo\",values[j]);
  4889. \t\t  }
  4890. \t  }
  4891.         fetch(form.action, {
  4892.             method: form.method,
  4893.             body: formData
  4894.         }).then(response => response.json())
  4895. \t\t.then(data => {
  4896.             if (data.message === 'ok') {
  4897.                 if (data.response === 'added') {
  4898.                     const btnAdd = document.getElementById('btn_add');
  4899.                     btnAdd.classList.replace('btn-primary', 'btn-danger');
  4900.                     btnAdd.textContent = 'Supprimer du panier';
  4901.                     const msgElt = document.getElementById('message_form');
  4902.                     msgElt.classList.replace('text-danger', 'text-success');
  4903.                     msgElt.classList.add('text-center');
  4904.                     msgElt.textContent = 'Produit ajouté au panier !';
  4905. \t\t\t\t\t
  4906.                     let nbProducts = parseInt(document.getElementById('nb_basket').innerHTML);
  4907.                     nbProducts++;
  4908.                     document.getElementById('nb_basket').textContent = nbProducts;
  4909.                 } else if (data.response === 'removed') {
  4910.                     const btnAdd = document.getElementById('btn_add');
  4911.                     btnAdd.classList.replace('btn-danger', 'btn-primary');
  4912.                     btnAdd.textContent = 'Ajouter au panier';
  4913.                     const msgElt = document.getElementById('message_form');
  4914.                     msgElt.classList.replace('text-danger', 'text-success');
  4915.                     msgElt.classList.add('text-center');
  4916.                     msgElt.textContent = 'Produit supprimé du panier !';
  4917.                     let nbProducts = parseInt(document.getElementById('nb_basket').innerHTML);
  4918.                     nbProducts--;
  4919.                     document.getElementById('nb_basket').textContent = nbProducts;
  4920.                 } else if (data.response === 'error') {
  4921.                     const msgElt = document.getElementById('message_form');
  4922.                     msgElt.textContent = data.response;
  4923.                 }
  4924.             } else if (data.message === 'error') {
  4925. \t\t\t\tif (data.response === 'Quantité non disponible'){
  4926. \t\t\t\t\tconst msgElt = document.getElementById('message_form');
  4927. \t\t\t\t\tmsgElt.classList.replace('text-success', 'text-danger');
  4928. \t\t\t\t\tmsgElt.classList.add('text-center');
  4929. \t\t\t\t\tmsgElt.textContent = 'Quantité pas disponible';
  4930. \t\t\t\t\treturn;
  4931. \t\t\t\t}
  4932. \t\t\t\tif (data.response === 'Quantité option non disponible') {
  4933. \t\t\t\t\tconst msgElt = document.getElementById('message_form');
  4934. \t\t\t\t\tmsgElt.classList.replace('text-success', 'text-danger');
  4935. \t\t\t\t\tmsgElt.classList.add('text-center');
  4936. \t\t\t\t\tmsgElt.textContent = 'Il y a une quantité d\\'option pas disponible';
  4937. \t\t\t\t\treturn;
  4938. \t\t\t\t}
  4939. \t\t\t}
  4940.         });
  4941.         return false;
  4942.     })
  4943.     const btnWish = document.getElementById('btn_add_wish');
  4944.     if (btnWish) {
  4945.         btnWish.addEventListener('click', () => {
  4946.             fetch(\"{{ path('front_add_wish', {'id': product.id}) }}\", { method: \"POST\" }).then(response => response.json()).then(data => {
  4947.                 if (data.message === 'ok') {
  4948.                     if (data.response === 'added') {
  4949.                         btnWish.style.color = '#fff';
  4950.                         btnWish.style.backgroundColor = '#ff4d4d';
  4951.                         document.getElementById('text_btn').textContent = \"Supprimer\";
  4952.                     } else if (data.response === 'removed') {
  4953.                         btnWish.style.color = '#ff4d4d';
  4954.                         btnWish.style.backgroundColor = '#fff';
  4955.                         document.getElementById('text_btn').textContent = \"Ajouter\";
  4956.                     }
  4957.                 }
  4958.             });
  4959.         })
  4960.     }
  4961. })
  4962. \t\t</script>
  4963. \t\t<script>
  4964. const formContact = document.getElementById('contactFormProduct');
  4965. formContact.addEventListener('submit', (e) => {
  4966. e.preventDefault();
  4967. let form = e.target;
  4968. const formData = new FormData(form);
  4969. fetch(form.action, {
  4970. method: form.method,
  4971. body: formData
  4972. }).then(response => response.json()).then(data => {
  4973. if (data.status === 'ok') {
  4974. document.getElementById('messageSuccessContact').style.display = 'block';
  4975. formContact.reset();
  4976. }
  4977. });
  4978. return false;
  4979. })
  4980. \t\t</script>
  4981. \t\t<script src=\"{{ asset('js/jquery.rateyo.min.js') }}\"></script>
  4982. \t\t<script>
  4983. \t\t\t\$(function () {
  4984. \$(\"#rateYo1, #rateYo2, #rateYo3, #rateYo4, #rateYo5, #rateYo6 \").rateYo({rating: 3.6});
  4985. });
  4986. \$(\"#rateYo1\").rateYo().on(\"rateyo.change\", function (e, data) {
  4987. var \$rateYo = \$(\"#rateYo1\").rateYo(\"rating\");
  4988. \$('#avis_serviceQuality').val(\$rateYo);
  4989. });
  4990. \$(\"#rateYo2\").rateYo().on(\"rateyo.change\", function (e, data) {
  4991. var \$rateYo = \$(\"#rateYo2\").rateYo(\"rating\");
  4992. \$('#avis_fiability').val(\$rateYo);
  4993. });
  4994. \$(\"#rateYo3\").rateYo().on(\"rateyo.change\", function (e, data) {
  4995. var \$rateYo = \$(\"#rateYo3\").rateYo(\"rating\");
  4996. \$('#avis_price').val(\$rateYo);
  4997. });
  4998. \$(\"#rateYo4\").rateYo().on(\"rateyo.change\", function (e, data) {
  4999. var \$rateYo = \$(\"#rateYo4\").rateYo(\"rating\");
  5000. \$('#avis_speed').val(\$rateYo);
  5001. });
  5002. \$(\"#rateYo5\").rateYo().on(\"rateyo.change\", function (e, data) {
  5003. var \$rateYo = \$(\"#rateYo5\").rateYo(\"rating\");
  5004. \$('#avis_conformDescription').val(\$rateYo);
  5005. });
  5006. \$(\"#rateYo6\").rateYo().on(\"rateyo.change\", function (e, data) {
  5007. var \$rateYo = \$(\"#rateYo6\").rateYo(\"rating\");
  5008. \$('#avis_communication').val(\$rateYo);
  5009. });
  5010. \t\t</script>
  5011. \t\t{% set isService = false %}
  5012. \t\t{% for productSubCategory in product.subCategories %}
  5013. \t\t\t{% if productSubCategory.isService == true %}
  5014. \t\t\t\t{% set isService = true %}
  5015. \t\t\t{% endif %}
  5016. \t\t{% endfor %}
  5017. \t\t{% if isService == true %}
  5018. \t\t\t<!-- LOCATIONS -->
  5019. \t\t\t{% set isLocation = false %}
  5020. \t\t\t{% for singleCategory in product.subcategories %}
  5021. \t\t\t\t{% if singleCategory.name == \"Location de salle\" or singleCategory.name == \"Location de vehicule\"  %}
  5022. \t\t\t\t\t{% set isLocation = true %}
  5023. \t\t\t\t{% endif %}
  5024. \t\t\t{% endfor %}
  5025. \t\t\t{% if isLocation is defined %}
  5026. \t\t\t\t<!-- LOCATIONS -->
  5027. \t\t\t\t{% if isLocation == true or product.typeLocation is not null %}
  5028. \t\t\t\t\t{% set locations = [] %}
  5029. \t\t\t\t\t{% for location in product.locations %}
  5030. \t\t\t\t\t\t{#% if annonce.categorie.libelle != 'SERVICES' %#}
  5031. \t\t\t\t\t\t{#% Si la location est en attente ou si la location est acceptée, elle est ajoutée au tableau locations %#}
  5032. \t\t\t\t\t\t\t{% if location.isAccepted is same as(null) or location.isAccepted is same as(true)%}
  5033. \t\t\t\t\t\t{% set locations = locations|merge([{debut: location.startAt, fin: location.endAt, typeLocation: location.product.typeLocation ? location.product.typeLocation.label : \"\" }]) %}
  5034. \t\t\t\t\t{% endif %}
  5035. \t\t\t\t\t\t{#% else %}
  5036. \t\t\t\t\t\t\t{% set locations = locations|merge([{debut: location.dateDebut|date(\"d/m/Y H:i\"), fin: location.dateFin|date(\"d/m/Y H:i\"), statut: location.statutLocation.id }]) %}
  5037. \t\t\t\t\t\t{% endif %#}
  5038. \t\t\t\t\t{% endfor %}
  5039. \t\t\t\t\t<script>
  5040. \t\t\t\t\t\tconst checkOptLocation = document.querySelectorAll('.cheklocationclass');
  5041. \t\t\t\t\t\t
  5042. \t\t\t\t\t\tfor (var i = 0; i < checkOptLocation.length; i++) {
  5043. \t\t\t\t\t\t\tcheckOptLocation[i].addEventListener('change', (option) => {
  5044. \t\t\t\t\t\t\t\tif (option.target.checked) {
  5045. \t\t\t\t\t\t\t\t\tconst priceOptionre = option.target.getAttribute('data-price');
  5046. \t\t\t\t\t\t\t\t\tconsole.log('yyyaaa',\$(\"#totalPricese\").html());
  5047. \t\t\t\t\t\t\t\t\tvar total= parseFloat(\$(\"#totalPricese\").html()) + parseFloat(priceOptionre);
  5048. \t\t\t\t\t\t\t\t\t\$(\"#totalPricese\").html(total);
  5049. \t\t\t\t\t\t\t\t}else{
  5050. \t\t\t\t\t\t\t\t\tconst priceOptionre = option.target.getAttribute('data-price');
  5051. \t\t\t\t\t\t\t\t\tvar total= parseFloat(\$(\"#totalPricese\").html()) - parseFloat(priceOptionre);
  5052. \t\t\t\t\t\t\t\t\t\$(\"#totalPricese\").html(total);
  5053. \t\t\t\t\t\t\t\t}
  5054. \t\t\t\t\t\t\t})
  5055. \t\t\t\t\t\t}
  5056. \t\t\t\t\t</script>
  5057. \t\t\t\t\t<script>
  5058. \t\t\t\t\t\tlet locations = {{ locations|json_encode|raw }};
  5059. \t\t\t\t\t</script>
  5060. \t\t\t\t\t{% if product.typeLocation %}
  5061. \t\t\t\t\t\t{% if product.typeLocation.label == 'heure' %}
  5062. \t\t\t\t\t\t\t<script src=\"https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment-with-locales.min.js\"></script>
  5063. \t\t\t\t\t\t\t<script src=\"https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.8.1/baguetteBox.min.js\"></script>
  5064. \t\t\t\t\t\t\t<script src=\"{{asset('/js/jquery.datetimepicker.full.js')}}\"></script>
  5065. \t\t\t\t\t\t\t<script src=\"{{ asset('/js/calendrierLocationHeure.js') }}\"></script>
  5066. \t\t\t\t\t\t{% else %}
  5067. \t\t\t\t\t\t\t<script src=\"{{ asset('/js/calendrierJours.js') }}\"></script>
  5068. \t\t\t\t\t\t{% endif %}
  5069. \t\t\t\t\t{% else %}
  5070. \t\t\t\t\t\t<script src=\"{{ asset('/js/calendrierJours.js') }}\"></script>
  5071. \t\t\t\t\t{% endif %}
  5072. \t\t\t\t{% endif %}
  5073. \t\t\t\t<!-- RESERVATIONS -->
  5074. \t\t\t\t{% if isLocation is same as(false) and product.typeLocation is null %}
  5075. \t\t\t\t\t{% set reservationsList = [] %}
  5076. \t\t\t\t\t{% for reservation in product.reservations %}
  5077. \t\t\t\t\t\t{% if reservation.isAccepted is same as(null) or reservation.isAccepted is same as(true)%}
  5078. \t\t\t\t\t\t\t{% set reservationsList = reservationsList|merge([{date_livraison: reservation.reservationPlannedAt}]) %}
  5079. \t\t\t\t\t\t{% endif %}
  5080. \t\t\t\t\t{% endfor %}
  5081. \t\t\t\t\t {# <script>
  5082. \t\t\t\t\t\tconst checkOptResevatio = document.querySelectorAll('.chekboxclass');
  5083. \t\t\t\t\t\t// console.log('ffafffa', checkOptResevatio);
  5084. \t\t\t\t\t\tfor (var i = 0; i < checkOptResevatio.length; i++) {
  5085. \t\t\t\t\t\t\tcheckOptResevatio[i].addEventListener('change', (option) => {
  5086. \t\t\t\t\t\t\t\tconsole.log('vvvvvvv', option.target.checked, parseFloat(\$(\"#totalPricere\").html()));
  5087. \t\t\t\t\t\t\t\tif (option.target.checked) {
  5088. \t\t\t\t\t\t\t\t\tconst priceOptionre = option.target.getAttribute('data-price');
  5089. \t\t\t\t\t\t\t\t\tvar total= parseFloat(\$(\"#totalPricere\").html()) + parseFloat(priceOptionre);
  5090. \t\t\t\t\t\t\t\t\t\$(\"#totalPricere\").html(total);
  5091. \t\t\t\t\t\t\t\t}else{
  5092. \t\t\t\t\t\t\t\t\tconst priceOptionre = option.target.getAttribute('data-price');
  5093. \t\t\t\t\t\t\t\t\tvar total= parseFloat(\$(\"#totalPricere\").html()) - parseFloat(priceOptionre);
  5094. \t\t\t\t\t\t\t\t\t\$(\"#totalPricere\").html(total);
  5095. \t\t\t\t\t\t\t\t}
  5096. \t\t\t\t\t\t\t})
  5097. \t\t\t\t\t\t}
  5098. \t\t\t\t\t </script> #}
  5099. \t\t\t\t\t<script>
  5100. \t\t\t\t\t\tlet reservationsList = {{ reservationsList|json_encode|raw }};
  5101. \t\t\t\t\t</script>
  5102. \t\t\t\t\t<script src=\"https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment-with-locales.min.js\"></script>
  5103. \t\t\t\t\t<script src=\"https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.8.1/baguetteBox.min.js\"></script>
  5104. \t\t\t\t\t<script src=\"{{asset('/js/jquery.datetimepicker.full.js')}}\"></script>
  5105. \t\t\t\t\t<script src=\"{{ asset('/js/calendrierReservation.js') }}\"></script>
  5106. \t\t\t\t{% endif %}
  5107. \t\t\t{% endif %}
  5108. \t\t{% endif %}
  5109. \t{% endblock %}
  5110. ""front/product/single.html.twig""/var/www/vhosts/providders.com/httpdocs/providders.com/templates/front/product/single.html.twig");
  5111.     }
  5112. }