var/cache/dev/twig/65/659855e7aa499a38b14031dd1b584a0c.php line 40

  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. /* base.html.twig */
  14. class __TwigTemplate_46b4763f2098506424e96e444f4f9464 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->parent = false;
  23.         $this->blocks = [
  24.             'title' => [$this, 'block_title'],
  25.             'head' => [$this, 'block_head'],
  26.             'stylesheet' => [$this, 'block_stylesheet'],
  27.             'altri_nav' => [$this, 'block_altri_nav'],
  28.             'body' => [$this, 'block_body'],
  29.             'javascript' => [$this, 'block_javascript'],
  30.             'footer' => [$this, 'block_footer'],
  31.         ];
  32.     }
  33.     protected function doDisplay(array $context, array $blocks = [])
  34.     {
  35.         $macros = $this->macros;
  36.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  37.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "base.html.twig"));
  38.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  39.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "base.html.twig"));
  40.         // line 2
  41.         echo "
  42. <!DOCTYPE html>
  43. <html lang=\"";
  44.         // line 4
  45.         echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, 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.', 4, $this->source); })()), "request", [], "any", false, false, false, 4), "getLocale", [], "method", false, false, false, 4), "html", null, true);
  46.         echo "\">
  47. <head>
  48.     <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
  49.     <meta name=\"author\" content=\"Fogazzi Mirko\" />
  50.     <meta name=\"copyright\" content=\"Fogazzi Mirko\" />
  51.     ";
  52.         // line 10
  53.         echo twig_include($this->env, $context, "seo_metatag.html.twig");
  54.         echo "
  55.     ";
  56.         // line 12
  57.         echo twig_get_attribute($this->env, $this->source, (isset($context["impostazioni"]) || array_key_exists("impostazioni", $context) ? $context["impostazioni"] : (function () { throw new RuntimeError('Variable "impostazioni" does not exist.', 12, $this->source); })()), "ritornaImpostazioneDaNome", ["HeaderGeneraleTuttePagine"], "method", false, false, false, 12);
  58.         echo "
  59.     ";
  60.         // line 13
  61.         echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 13, $this->source); })()), "CaricaTraduzioniDaFamiglie", [["agenti_dialog_principale", "dialog_ricerca_cliente", "agenti_crea_offerta_da_carrello_dialog"], twig_get_attribute($this->env, $this->source, 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.', 13, $this->source); })()), "request", [], "any", false, false, false, 13), "locale", [], "any", false, false, false, 13)], "method", false, false, false, 13), "html", null, true);
  62.         echo "
  63.     ";
  64.         // line 15
  65.         echo twig_include($this->env, $context, "ZZ_front_end/stili_base.html.twig");
  66.         echo "
  67.     <title>";
  68.         // line 17
  69.         $this->displayBlock('title', $context, $blocks);
  70.         echo "</title>
  71.     <link rel=\"stylesheet\" href=\"";
  72.         // line 19
  73.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("css/sm-core-css.css"), "html", null, true);
  74.         echo "\">
  75.     <link rel=\"stylesheet\" href=\"";
  76.         // line 20
  77.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("css/simple-sidebar.css"), "html", null, true);
  78.         echo "\">
  79.     <!-- Bootstrap core CSS -->
  80.     <link href=\"";
  81.         // line 22
  82.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("css/bootstrap.min.css"), "html", null, true);
  83.         echo "\" rel=\"stylesheet\">
  84.     <link href=\"//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css\" rel=\"stylesheet\">
  85.     <link href=\"";
  86.         // line 24
  87.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("css/dropdown-css-style.css"), "html", null, true);
  88.         echo "\" rel=\"stylesheet\">
  89.     ";
  90.         // line 27
  91.         echo "
  92.     <link href=\"";
  93.         // line 28
  94.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("java_lib/jquery-ui-1.12.0/jquery-ui.min.css"), "html", null, true);
  95.         echo "\" rel=\"stylesheet\">
  96.     ";
  97.         // line 30
  98.         if ((((($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || 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.', 30, $this->source); })()), "user", [], "any", false, false, false, 30)) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_FORNITORE"))) {
  99.             // line 31
  100.             echo "        ";
  101.             // line 32
  102.             echo "        <link href=\"https://unpkg.com/tabulator-tables@5.2.3/dist/css/tabulator.min.css\" rel=\"stylesheet\">
  103.         <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.css\" integrity=\"sha256-aa0xaJgmK/X74WM224KMQeNQC2xYKwlAt08oZqjeF0E=\" crossorigin=\"anonymous\" />
  104.     ";
  105.         }
  106.         // line 35
  107.         echo "
  108.     <!-- FONT AWSOME -->
  109.     <link href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css\" rel=\"stylesheet\">
  110.     <!-- SLICK CAROUSEL -->
  111.     <link rel=\"stylesheet\" type=\"text/css\" href=\"";
  112.         // line 41
  113.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("java_lib/slick-1.8.1/slick/slick.css"), "html", null, true);
  114.         echo "\"/>
  115.     <link rel=\"stylesheet\" type=\"text/css\" href=\"";
  116.         // line 42
  117.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("java_lib/slick-1.8.1/slick/slick-theme.css"), "html", null, true);
  118.         echo "\"/>
  119.     <!-- TINY SLIDER -->
  120.     <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.2/tiny-slider.css\">
  121.     <!-- CORE NAV -->
  122.     <link rel=\"stylesheet\" type=\"text/css\" href=\"";
  123.         // line 47
  124.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("java_lib/custom_mf_sidebar/mf_sidebar.css"), "html", null, true);
  125.         echo "\" />
  126.     <style type=\"text/css\">
  127.         #modalZoomImg * {box-sizing: border-box;}
  128.         div#modalDettaglioCliente.modal.fade.in{
  129.             visibility: visible;
  130.         }
  131.         div#modalDettaglioCliente.modal.fade{
  132.             display: block;
  133.             visibility: hidden;
  134.         }
  135.         .tb-numeri-tranne-1 td:not(:first-child), .tb-numeri-tranne-1 th:not(:first-child){
  136.             text-align: right;
  137.         }
  138.         .tb-numeri-tranne-2 td:not(:first-child):not(:nth-child(2)), .tb-numeri-tranne-1 th:not(:first-child):not(:nth-child(2)){
  139.             text-align: right;
  140.         }
  141.         .bottone-risorse-articoli{
  142.             position: absolute;
  143.             border: solid 1px green;
  144.             border-radius: 10px;
  145.             padding: 5px;
  146.             float: right;
  147.             width: 40px;
  148.             z-index: 99;
  149.             cursor: pointer;
  150.             background: white;
  151.             top: 0px;
  152.             right: 0px;
  153.             height: 40px;
  154.         }
  155.         .bottone-risorse-articoli img{
  156.             height: 100%;
  157.             width: 100%;
  158.             /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&1+0,0+100;White+to+Transparent */
  159.             background: transparent;
  160.         }
  161.         .img-zoom-container {
  162.             position: relative;
  163.         }
  164.         .centra-flex-tutto{
  165.             display: flex;
  166.             flex-direction: row;
  167.             align-content: center;
  168.             align-items: center;
  169.             justify-content: center;
  170.         }
  171.         .img-zoom-lens {
  172.             position: absolute;
  173.             border: 1px solid #d4d4d4;
  174.             /*set the size of the lens:*/
  175.             width: 250px;
  176.             height: 250px;
  177.         }
  178.         .img-zoom-result {
  179.             border: 1px solid #d4d4d4;
  180.             /*set the size of the result div:*/
  181.             width: 300px;
  182.             height: 300px;
  183.         }
  184.         ";
  185.         // line 118
  186.         if ((twig_get_attribute($this->env, $this->source, (isset($context["impostazioni"]) || array_key_exists("impostazioni", $context) ? $context["impostazioni"] : (function () { throw new RuntimeError('Variable "impostazioni" does not exist.', 118, $this->source); })()), "ritornaImpostazioneDaNome", ["NascondiFrecceSuGiuInInputNumber"], "method", false, false, false, 118) == "1")) {
  187.             // line 119
  188.             echo "        /* Chrome, Safari, Edge, Opera */
  189.         input::-webkit-outer-spin-button,
  190.         input::-webkit-inner-spin-button {
  191.             -webkit-appearance: none;
  192.             margin: 0;
  193.         }
  194.         /* Firefox */
  195.         input[type=number] {
  196.             -moz-appearance: textfield;
  197.         }
  198.         ";
  199.         }
  200.         // line 131
  201.         echo "        /* The snackbar - position it at the bottom and in the middle of the screen */
  202.         #snackbar {
  203.             visibility: hidden; /* Hidden by default. Visible on click */
  204.             min-width: 350px; /* Set a default minimum width */
  205.             margin-left: -125px; /* Divide value of min-width by 2 */
  206.             background-color: #333; /* Black background color */
  207.             color: #fff; /* White text color */
  208.             text-align: center; /* Centered text */
  209.             border-radius: 2px; /* Rounded borders */
  210.             padding: 16px; /* Padding */
  211.             position: fixed; /* Sit on top of the screen */
  212.             z-index: 1; /* Add a z-index if needed */
  213.             left: 50%; /* Center the snackbar */
  214.             bottom: 80px; /* 30px from the bottom */
  215.             font-size: 15pt;
  216.         }
  217.         .attiva-tiny-slider{
  218.             display: none;
  219.         }
  220.         .attiva-slick{
  221.             display: none;
  222.         }
  223.         #bodyTabellaRicercaCliente tr:hover{
  224.             background-color: yellow;
  225.             cursor: pointer;
  226.         }
  227.         .cercaCliente:hover{
  228.             cursor: pointer;
  229.         }
  230.         .modal { overflow: auto !important; }
  231.         /* Show the snackbar when clicking on a button (class added with JavaScript) */
  232.         #snackbar.show {
  233.             visibility: visible; /* Show the snackbar */
  234.             /* Add animation: Take 0.5 seconds to fade in and out the snackbar.
  235.             However, delay the fade out process for 2.5 seconds */
  236.             -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
  237.             animation: fadein 0.5s, fadeout 0.5s 2.5s;
  238.         }
  239.         /* Animations to fade the snackbar in and out */
  240.         @-webkit-keyframes fadein {
  241.             from {bottom: 0; opacity: 0;}
  242.             to {bottom: 80px; opacity: 1;}
  243.         }
  244.         @keyframes fadein {
  245.             from {bottom: 0; opacity: 0;}
  246.             to {bottom: 80px; opacity: 1;}
  247.         }
  248.         @-webkit-keyframes fadeout {
  249.             from {bottom: 80px; opacity: 1;}
  250.             to {bottom: 0; opacity: 0;}
  251.         }
  252.         @keyframes fadeout {
  253.             from {bottom: 80px; opacity: 1;}
  254.             to {bottom: 0; opacity: 0;}
  255.         }
  256.     </style>
  257.     ";
  258.         // line 198
  259.         $this->displayBlock('head', $context, $blocks);
  260.         // line 199
  261.         echo "    ";
  262.         $this->displayBlock('stylesheet', $context, $blocks);
  263.         // line 200
  264.         echo "
  265.     ";
  266.         // line 201
  267.         $this->displayBlock('altri_nav', $context, $blocks);
  268.         // line 202
  269.         echo "
  270.     <!-- jQuery Core -->
  271.     <script type=\"text/javascript\" src=\"";
  272.         // line 204
  273.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("java_lib/jquery-2.2.4.min.js"), "html", null, true);
  274.         echo "\"></script>
  275.     <script type=\"text/javascript\" src=\"";
  276.         // line 205
  277.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("java_lib/jquery-ui-1.12.0/jquery-ui.min.js"), "html", null, true);
  278.         echo "\"></script>
  279.     <script type=\"text/javascript\" src=\"";
  280.         // line 206
  281.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("java_lib/bootstrap.min.js"), "html", null, true);
  282.         echo "\"></script>
  283.     ";
  284.         // line 208
  285.         echo "
  286. </head>
  287. <body>
  288. <div id=\"snackbar\"></div>
  289. <div class=\"loading\" id=\"loadingMaster\">Loading&#8230;</div>
  290. ";
  291.         // line 215
  292.         if ((twig_get_attribute($this->env, $this->source, 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.', 215, $this->source); })()), "request", [], "any", false, false, false, 215), "get", ["_route"], "method", false, false, false, 215) == "admin_pagine_e_componenti_editor")) {
  293.             // line 216
  294.             echo "    ";
  295.             $context["mostraTopBar"] = 0;
  296.         }
  297.         // line 218
  298.         echo "
  299. ";
  300.         // line 219
  301.         if (((array_key_exists("mostraTopBar", $context) && ((isset($context["mostraTopBar"]) || array_key_exists("mostraTopBar", $context) ? $context["mostraTopBar"] : (function () { throw new RuntimeError('Variable "mostraTopBar" does not exist.', 219, $this->source); })()) == 1)) ||  !array_key_exists("mostraTopBar", $context))) {
  302.             // line 220
  303.             echo "    ";
  304.             echo twig_include($this->env, $context, "ZZ_front_end/top_bar/top_bar.html.twig");
  305.             echo "
  306. ";
  307.         }
  308.         // line 222
  309.         echo "
  310. ";
  311.         // line 223
  312.         if ((twig_get_attribute($this->env, $this->source, 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.', 223, $this->source); })()), "request", [], "any", false, false, false, 223), "get", ["_route"], "method", false, false, false, 223) == "home_shop")) {
  313.             // line 224
  314.             echo "    <div class=\"modal fade\" role=\"dialog\" tabindex=\"-1\" style=\"z-index: 999999;\" id=\"modal-cerca-filtro-avanzato-dialog\">
  315.         <div class=\"modal-dialog\" role=\"document\">
  316.             <div class=\"modal-content\">
  317.                 <div class=\"modal-header\">
  318.                     <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  319.                     <h4 class=\"modal-title\">";
  320.             // line 229
  321.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 229, $this->source); })()), "OttieniElementoDizionario", ["top_bar_filtro_avanzato_title", "top_bar"], "method", false, false, false, 229), "valoreUscita", [], "any", false, false, false, 229), "html", null, true);
  322.             echo "</h4>
  323.                 </div>
  324.                 <div class=\"modal-body\">
  325.                     <form id=\"form-filtro-avanzato\">
  326.                         <div class=\"form-group\">
  327.                             <label for=\"filtro-avanzato-codice\">";
  328.             // line 234
  329.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 234, $this->source); })()), "OttieniElementoDizionario", ["top_bar_filtro_avanzato_codice_label", "top_bar"], "method", false, false, false, 234), "valoreUscita", [], "any", false, false, false, 234), "html", null, true);
  330.             echo "</label>
  331.                             <input type=\"text\" class=\"form-control\" name=\"articolo.codice\" id=\"filtro-avanzato-codice\">
  332.                         </div>
  333.                         <div class=\"form-group\">
  334.                             <label for=\"filtro-avanzato-nome\">";
  335.             // line 238
  336.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 238, $this->source); })()), "OttieniElementoDizionario", ["top_bar_filtro_avanzato_descrizione_label", "top_bar"], "method", false, false, false, 238), "valoreUscita", [], "any", false, false, false, 238), "html", null, true);
  337.             echo "</label>
  338.                             <input type=\"text\" class=\"form-control\" name=\"articolo.nome\" id=\"filtro-avanzato-nome\">
  339.                         </div>
  340.                         <div class=\"form-group\">
  341.                             <label for=\"filtro-avanzato-marca\">";
  342.             // line 242
  343.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 242, $this->source); })()), "OttieniElementoDizionario", ["top_bar_filtro_avanzato_marca_label", "top_bar"], "method", false, false, false, 242), "valoreUscita", [], "any", false, false, false, 242), "html", null, true);
  344.             echo "</label>
  345.                             <input type=\"text\" class=\"form-control\" name=\"mappa.marca\" id=\"filtro-avanzato-marca\">
  346.                         </div>
  347.                         <div class=\"checkbox\">
  348.                             <label>
  349.                                 <input type=\"checkbox\" name=\"filtro-avanzato-solo-disponibile\"> ";
  350.             // line 247
  351.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 247, $this->source); })()), "OttieniElementoDizionario", ["top_bar_filtro_avanzato_mostra_solo_disponibili", "top_bar"], "method", false, false, false, 247), "valoreUscita", [], "any", false, false, false, 247), "html", null, true);
  352.             echo "
  353.                             </label>
  354.                         </div>
  355.                         <div class=\"checkbox\">
  356.                             <label>
  357.                                 <input type=\"checkbox\" name=\"filtro-avanzato-cerca-solo-in-categorie-selezionate\"> ";
  358.             // line 252
  359.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 252, $this->source); })()), "OttieniElementoDizionario", ["top_bar_filtro_avanzato_cerca_solo_in_albero_categorie_corrente", "top_bar"], "method", false, false, false, 252), "valoreUscita", [], "any", false, false, false, 252), "html", null, true);
  360.             echo "
  361.                             </label>
  362.                         </div>
  363.                     </form>
  364.                 </div>
  365.                 <div class=\"modal-footer\">
  366.                     <button type=\"button\" onclick=\"ResetRicerca();\" class=\"btn btn-danger\" data-dismiss=\"modal\">";
  367.             // line 258
  368.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 258, $this->source); })()), "OttieniElementoDizionario", ["top_bar_filtro_avanzato_reset_btn", "top_bar"], "method", false, false, false, 258), "valoreUscita", [], "any", false, false, false, 258), "html", null, true);
  369.             echo "</button>
  370.                     <button type=\"button\" onclick=\"\$('#form-filtro-avanzato').submit();\" class=\"btn btn-primary\" data-dismiss=\"modal\">";
  371.             // line 259
  372.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 259, $this->source); })()), "OttieniElementoDizionario", ["top_bar_filtro_avanzato_applica_btn", "top_bar"], "method", false, false, false, 259), "valoreUscita", [], "any", false, false, false, 259), "html", null, true);
  373.             echo "</button>
  374.                 </div>
  375.             </div><!-- /.modal-content -->
  376.         </div><!-- /.modal-dialog -->
  377.     </div><!-- /.modal -->
  378. ";
  379.         }
  380.         // line 265
  381.         echo "
  382. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalZoomImg\" style=\"z-index: 9999;\">
  383.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  384.         <div class=\"modal-content panel-warning\">
  385.             <div class=\"modal-body\" style=\"overflow-y: auto;\">
  386.                 <div class=\"col-md-12 nascondiStampa\">
  387.                     <div class=\"img-zoom-container\">
  388.                         <div class=\"col-md-6 col-xs-12\">
  389.                             <img id=\"zoomImgImg\" src=\"\" style=\"max-height: 90vh; width: auto;\">
  390.                         </div>
  391.                         <div class=\"col-md-6 col-xs-12\" style=\"max-height: 90vh;\">
  392.                             <div id=\"zoomImgResult\" class=\"img-zoom-result\" style=\"width: 100%; height: 90vh;\"></div>
  393.                         </div>
  394.                     </div>
  395.                 </div>
  396.             </div>
  397.             <div class=\"modal-footer\">
  398.                 <button type=\"button\" class=\"btn btn-danger\" data-dismiss=\"modal\">Chiudi</button>
  399.             </div>
  400.         </div><!-- /.modal-content -->
  401.     </div><!-- /.modal-dialog -->
  402. </div><!-- /.modal -->
  403. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"risorseCatArtDialog\" style=\"z-index: 99999;\">
  404.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  405.         <div class=\"modal-content panel-warning\">
  406.             <div class=\"modal-header\">
  407.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  408.                 <h4 class=\"modal-title\">Risorse</h4>
  409.             </div>
  410.             <div class=\"modal-body\" id=\"risorseCatArtDialog-body\" style=\"overflow-y: auto;\">
  411.             </div>
  412.             <div class=\"modal-footer\">
  413.                 <button type=\"button\" class=\"btn btn-danger\" data-dismiss=\"modal\">Chiudi</button>
  414.             </div>
  415.         </div><!-- /.modal-content -->
  416.     </div><!-- /.modal-dialog -->
  417. </div><!-- /.modal -->
  418. ";
  419.         // line 305
  420.         if ((( !$this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE"))) {
  421.             // line 306
  422.             echo "<div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalDettaglioClienteLoggato\">
  423.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  424.         <div class=\"modal-content panel-warning\">
  425.             <div class=\"modal-header\">
  426.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  427.                 <h4 class=\"modal-title\" id=\"modalTitleDettaglioClienteLoggato\">
  428.                     <button class=\"btn btn-danger\" style=\"margin-right: 10px;\" data-dismiss=\"modal\" aria-label=\"Close\">";
  429.             // line 312
  430.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 312, $this->source); })()), "OttieniElementoDizionario", ["agenti_dialog_principale_indietro_btn", "agenti_dialog_principale"], "method", false, false, false, 312), "valoreUscita", [], "any", false, false, false, 312), "html", null, true);
  431.             echo "</button>
  432.                     ";
  433.             // line 313
  434.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 313, $this->source); })()), "OttieniElementoDizionario", ["agenti_dialog_principale_dettaglio_cliente", "agenti_dialog_principale"], "method", false, false, false, 313), "valoreUscita", [], "any", false, false, false, 313), "html", null, true);
  435.             echo " <span id=\"modalDettaglioClienteLoggato-title2\" style=\"color:red;\"></span>
  436.                 </h4>
  437.             </div>
  438.             <div class=\"modal-body\" id=\"modalDettaglioClienteLoggato-body\" style=\"overflow-y: auto;\">
  439.             </div>
  440.         </div>
  441.     </div>
  442. </div>
  443. ";
  444.         }
  445.         // line 322
  446.         echo "
  447. ";
  448.         // line 324
  449.         if ((($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE"))) {
  450.             // line 325
  451.             echo "
  452. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalDettaglioCliente\">
  453.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  454.         <div class=\"modal-content panel-warning\">
  455.             <div class=\"modal-header\">
  456.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  457.                 <h4 class=\"modal-title\" id=\"modalTitleDettaglioCliente\">
  458.                     <button class=\"btn btn-danger\" style=\"margin-right: 10px;\" data-dismiss=\"modal\" aria-label=\"Close\">";
  459.             // line 332
  460.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 332, $this->source); })()), "OttieniElementoDizionario", ["agenti_dialog_principale_indietro_btn", "agenti_dialog_principale"], "method", false, false, false, 332), "valoreUscita", [], "any", false, false, false, 332), "html", null, true);
  461.             echo "</button>
  462.                     ";
  463.             // line 333
  464.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 333, $this->source); })()), "OttieniElementoDizionario", ["agenti_dialog_principale_dettaglio_cliente", "agenti_dialog_principale"], "method", false, false, false, 333), "valoreUscita", [], "any", false, false, false, 333), "html", null, true);
  465.             echo " <span id=\"modalDettaglioCliente-title2\" style=\"color:red;\"></span>
  466.                     <button href=\"\" style=\"float:right; margin-right: 20px;\" id=\"modalDettaglioClienteCreaOffertaDaCarrelloBtn\" data-toggle=\"modal\" data-target=\"#modalCreaOffertaDaCarrello\" class=\"btn btn-sm btn-primary\">";
  467.             // line 334
  468.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 334, $this->source); })()), "OttieniElementoDizionario", ["agenti_dialog_principale_crea_offerta_da_carrello_btn", "agenti_dialog_principale"], "method", false, false, false, 334), "valoreUscita", [], "any", false, false, false, 334), "html", null, true);
  469.             echo "</button>
  470.                     <button href=\"\" style=\"float: right; margin-right: 20px;\" id=\"modalDettaglioClienteSpostaCarrelloBtn\" class=\"btn btn-sm btn-warning\">";
  471.             // line 335
  472.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 335, $this->source); })()), "OttieniElementoDizionario", ["agenti_dialog_principale_sposta_carrello_btn", "agenti_dialog_principale"], "method", false, false, false, 335), "valoreUscita", [], "any", false, false, false, 335), "html", null, true);
  473.             echo "</button>
  474.                     ";
  475.             // line 336
  476.             $context["attivaTipoOrdine"] = twig_get_attribute($this->env, $this->source, (isset($context["impostazioni"]) || array_key_exists("impostazioni", $context) ? $context["impostazioni"] : (function () { throw new RuntimeError('Variable "impostazioni" does not exist.', 336, $this->source); })()), "ritornaImpostazioneDaNome", ["AbilitaTipoOrdine"], "method", false, false, false, 336);
  477.             // line 337
  478.             echo "                    <div class=\"form-inline\" style=\"float:right; margin-right:20px;";
  479.             if (((isset($context["attivaTipoOrdine"]) || array_key_exists("attivaTipoOrdine", $context) ? $context["attivaTipoOrdine"] : (function () { throw new RuntimeError('Variable "attivaTipoOrdine" does not exist.', 337, $this->source); })()) != "1")) {
  480.                 echo "display:none;";
  481.             }
  482.             echo "\">
  483.                         <div class=\"form-group\">
  484.                             <label for=\"tipo-ordine-input\">";
  485.             // line 339
  486.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 339, $this->source); })()), "OttieniElementoDizionario", ["agenti_dialog_principale_tipo_ordine", "agenti_dialog_principale"], "method", false, false, false, 339), "valoreUscita", [], "any", false, false, false, 339), "html", null, true);
  487.             echo "</label>
  488.                             <select id=\"tipo-ordine-input\" class=\"form-control\" style=\"width:auto;\">
  489.                                 ";
  490.             // line 341
  491.             if (((isset($context["attivaTipoOrdine"]) || array_key_exists("attivaTipoOrdine", $context) ? $context["attivaTipoOrdine"] : (function () { throw new RuntimeError('Variable "attivaTipoOrdine" does not exist.', 341, $this->source); })()) == "1")) {
  492.                 // line 342
  493.                 echo "                                    ";
  494.                 $context['_parent'] = $context;
  495.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, (isset($context["servizi"]) || array_key_exists("servizi", $context) ? $context["servizi"] : (function () { throw new RuntimeError('Variable "servizi" does not exist.', 342, $this->source); })()), "RitornaTipiOrdine", [], "method", false, false, false, 342));
  496.                 $context['loop'] = [
  497.                   'parent' => $context['_parent'],
  498.                   'index0' => 0,
  499.                   'index'  => 1,
  500.                   'first'  => true,
  501.                 ];
  502.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  503.                     $length = count($context['_seq']);
  504.                     $context['loop']['revindex0'] = $length - 1;
  505.                     $context['loop']['revindex'] = $length;
  506.                     $context['loop']['length'] = $length;
  507.                     $context['loop']['last'] = 1 === $length;
  508.                 }
  509.                 foreach ($context['_seq'] as $context["_key"] => $context["tipoOrdine"]) {
  510.                     // line 343
  511.                     echo "                                        <option ";
  512.                     if (twig_get_attribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, false, 343)) {
  513.                         echo " selected=\"selected\"";
  514.                     }
  515.                     echo " value=\"";
  516.                     echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, $context["tipoOrdine"], "id", [], "any", true, true, false, 343)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, $context["tipoOrdine"], "id", [], "any", false, false, false, 343), "")) : ("")), "html", null, true);
  517.                     echo "\">";
  518.                     echo twig_escape_filter($this->env, ((twig_get_attribute($this->env, $this->source, $context["tipoOrdine"], "testoVisualizzato", [], "any", true, true, false, 343)) ? (_twig_default_filter(twig_get_attribute($this->env, $this->source, $context["tipoOrdine"], "testoVisualizzato", [], "any", false, false, false, 343), "")) : ("")), "html", null, true);
  519.                     echo "</option>
  520.                                     ";
  521.                     ++$context['loop']['index0'];
  522.                     ++$context['loop']['index'];
  523.                     $context['loop']['first'] = false;
  524.                     if (isset($context['loop']['length'])) {
  525.                         --$context['loop']['revindex0'];
  526.                         --$context['loop']['revindex'];
  527.                         $context['loop']['last'] = 0 === $context['loop']['revindex0'];
  528.                     }
  529.                 }
  530.                 $_parent = $context['_parent'];
  531.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['tipoOrdine'], $context['_parent'], $context['loop']);
  532.                 $context = array_intersect_key($context, $_parent) + $_parent;
  533.                 // line 345
  534.                 echo "                                ";
  535.             }
  536.             // line 346
  537.             echo "                                ";
  538.             if (((twig_length_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["servizi"]) || array_key_exists("servizi", $context) ? $context["servizi"] : (function () { throw new RuntimeError('Variable "servizi" does not exist.', 346, $this->source); })()), "RitornaTipiOrdine", [], "method", false, false, false, 346)) <= 0) || ((isset($context["attivaTipoOrdine"]) || array_key_exists("attivaTipoOrdine", $context) ? $context["attivaTipoOrdine"] : (function () { throw new RuntimeError('Variable "attivaTipoOrdine" does not exist.', 346, $this->source); })()) == "0"))) {
  539.                 // line 347
  540.                 echo "                                    <option value=\"\"></option>
  541.                                 ";
  542.             }
  543.             // line 349
  544.             echo "                            </select>
  545.                         </div>
  546.                     </div>
  547.                 </h4>
  548.             </div>
  549.             <div class=\"modal-body\" style=\"overflow-y: auto;\">
  550.                 <div class=\"col-md-12 nascondiStampa\">
  551.                     <div class=\"form-inline center\">
  552.                         <div class=\"input-group\" style=\"width: 100%;\">
  553.                             <span style=\"font-weight: bold;width: 10%;min-width: 200px;\" class=\"input-group-addon cercaCliente\" id=\"basic-addon1\">";
  554.             // line 358
  555.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 358, $this->source); })()), "OttieniElementoDizionario", ["agenti_dialog_principale_seleziona_cliente", "agenti_dialog_principale"], "method", false, false, false, 358), "valoreUscita", [], "any", false, false, false, 358), "html", null, true);
  556.             echo "</span>
  557.                             <input type=\"text\" style=\"width: 10%;min-width: 150px;\" class=\"form-control cercaCliente\" id=\"codiceClienteTxt\" readonly placeholder=\"";
  558.             // line 359
  559.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 359, $this->source); })()), "OttieniElementoDizionario", ["agenti_dialog_principale_cliente_codice", "agenti_dialog_principale"], "method", false, false, false, 359), "valoreUscita", [], "any", false, false, false, 359), "html", null, true);
  560.             echo "\">
  561.                             <input type=\"text\" style=\"width: 60%;\" class=\"form-control cercaCliente\" id=\"ragioneSocialeText\" readonly placeholder=\"";
  562.             // line 360
  563.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 360, $this->source); })()), "OttieniElementoDizionario", ["agenti_dialog_principale_cliente_ragione_sociale", "agenti_dialog_principale"], "method", false, false, false, 360), "valoreUscita", [], "any", false, false, false, 360), "html", null, true);
  564.             echo "\">
  565.                             <button class=\"btn btn-small btn-danger pulisci-selezione-cliente\" style=\"margin-left: 10px;\" onclick=\"PulisciSelezioneCliente();\"><i class=\"fa fa-trash\" aria-hidden=\"true\"></i></button>
  566.                             <button class=\"btn btn-default\" data-valore=\"";
  567.             // line 362
  568.             if ((twig_get_attribute($this->env, $this->source, (isset($context["servizi"]) || array_key_exists("servizi", $context) ? $context["servizi"] : (function () { throw new RuntimeError('Variable "servizi" does not exist.', 362, $this->source); })()), "RitornaAltriDatiUtente", [], "method", false, false, false, 362) && twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["servizi"]) || array_key_exists("servizi", $context) ? $context["servizi"] : (function () { throw new RuntimeError('Variable "servizi" does not exist.', 362, $this->source); })()), "RitornaAltriDatiUtente", [], "method", false, false, false, 362), "nascondiPrezzi", [], "any", false, false, false, 362))) {
  569.                 echo "1";
  570.             } else {
  571.                 echo "0";
  572.             }
  573.             echo "\" id=\"nascondiPrzBtnDettCliente\" onclick=\"VariaStatoBottoneNascondiPrezzi();\" style=\"margin-left: 10px;";
  574.             if ((twig_get_attribute($this->env, $this->source, (isset($context["impostazioni"]) || array_key_exists("impostazioni", $context) ? $context["impostazioni"] : (function () { throw new RuntimeError('Variable "impostazioni" does not exist.', 362, $this->source); })()), "ritornaImpostazioneDaNome", ["MostraPulsanteNascondiPrezzi"], "method", false, false, false, 362) != "1")) {
  575.                 echo "display:none;";
  576.             }
  577.             echo "\">Nascondi prezzi</button>
  578.                         </div>
  579.                     </div>
  580.                     <hr>
  581.                     <div class=\"moda-dettaglio-cliente-body\">
  582.                     </div>
  583.                 </div>
  584.             </div>
  585.             <div class=\"modal-footer\">
  586.                 <button type=\"button\" class=\"btn btn-danger\" data-dismiss=\"modal\">";
  587.             // line 372
  588.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 372, $this->source); })()), "OttieniElementoDizionario", ["agenti_dialog_principale_chiudi_btn", "agenti_dialog_principale"], "method", false, false, false, 372), "valoreUscita", [], "any", false, false, false, 372), "html", null, true);
  589.             echo "</button>
  590.             </div>
  591.         </div><!-- /.modal-content -->
  592.     </div><!-- /.modal-dialog -->
  593. </div><!-- /.modal -->
  594. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalCreaOffertaDaCarrello\">
  595.     <div class=\"modal-dialog panel-warning\" role=\"document\">
  596.         <div class=\"modal-content panel-warning\">
  597.             <div class=\"modal-header\">
  598.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  599.                 <h4 class=\"modal-title\">
  600.                     ";
  601.             // line 384
  602.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 384, $this->source); })()), "OttieniElementoDizionario", ["agenti_dialog_principale_crea_offerta_da_carrello_btn", "agenti_dialog_principale"], "method", false, false, false, 384), "valoreUscita", [], "any", false, false, false, 384), "html", null, true);
  603.             echo "
  604.                 </h4>
  605.             </div>
  606.             <div class=\"modal-body\" id=\"modalCreaOffertaDaCarrelloBody\" style=\"overflow-y: auto;\">
  607.                 <form id=\"creaOffertaDaCarrelloForm\" action=\"";
  608.             // line 388
  609.             echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("offerte_crea_da_carrello");
  610.             echo "\">
  611.                     <div class=\"form-group\">
  612.                         <label for=\"modal-crea-offerta-carrello-note\">";
  613.             // line 390
  614.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 390, $this->source); })()), "OttieniElementoDizionario", ["agenti_crea_offerta_da_carrello_dialog_note", "agenti_crea_offerta_da_carrello_dialog"], "method", false, false, false, 390), "valoreUscita", [], "any", false, false, false, 390), "html", null, true);
  615.             echo "</label>
  616.                         <textarea class=\"form-control\" id=\"modal-crea-offerta-carrello-note\" name=\"modal-crea-offerta-carrello-note\"></textarea>
  617.                     </div>
  618.                     <div class=\"form-group\">
  619.                         <label for=\"modal-crea-offerta-carrello-note-aziendali\">";
  620.             // line 394
  621.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 394, $this->source); })()), "OttieniElementoDizionario", ["agenti_crea_offerta_da_carrello_dialog_note_aziendali", "agenti_crea_offerta_da_carrello_dialog"], "method", false, false, false, 394), "valoreUscita", [], "any", false, false, false, 394), "html", null, true);
  622.             echo "</label>
  623.                         <textarea class=\"form-control\" id=\"modal-crea-offerta-carrello-note\" name=\"modal-crea-offerta-carrello-note-aziendali\"></textarea>
  624.                     </div>
  625.                     <div class=\"form-group\">
  626.                         <label for=\"modal-crea-offerta-carrello-riferimento-offerta\">";
  627.             // line 398
  628.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 398, $this->source); })()), "OttieniElementoDizionario", ["agenti_crea_offerta_da_carrello_dialog_note_riferimento_offerta", "agenti_crea_offerta_da_carrello_dialog"], "method", false, false, false, 398), "valoreUscita", [], "any", false, false, false, 398), "html", null, true);
  629.             echo "</label>
  630.                         <input type=\"text\" class=\"form-control\" id=\"modal-crea-offerta-carrello-riferimento-offerta\" name=\"modal-crea-offerta-carrello-riferimento-offerta\">
  631.                     </div>
  632.                     <div class=\"checkbox\">
  633.                         <label>
  634.                             <input type=\"checkbox\" id=\"modal-crea-offerta-carrello-invia-mail\" name=\"modal-crea-offerta-carrello-invia-mail\" checked=\"checked\">";
  635.             // line 403
  636.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 403, $this->source); })()), "OttieniElementoDizionario", ["agenti_crea_offerta_da_carrello_dialog_invia_offerta_mail_checkbox", "agenti_crea_offerta_da_carrello_dialog"], "method", false, false, false, 403), "valoreUscita", [], "any", false, false, false, 403), "html", null, true);
  637.             echo "
  638.                         </label>
  639.                     </div>
  640.                 </form>
  641.             </div>
  642.             <div class=\"modal-footer\">
  643.                 <button href=\"\" style=\"float:right; margin-right: 20px;\" id=\"modalCreaOfferteDaCarrello_creaBtn\" class=\"btn btn-sm btn-success\">";
  644.             // line 409
  645.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 409, $this->source); })()), "OttieniElementoDizionario", ["agenti_dialog_principale_crea_offerta_da_carrello_btn", "agenti_dialog_principale"], "method", false, false, false, 409), "valoreUscita", [], "any", false, false, false, 409), "html", null, true);
  646.             echo "</button>
  647.             </div>
  648.         </div><!-- /.modal-content -->
  649.     </div><!-- /.modal-dialog -->
  650. </div><!-- /.modal -->
  651. ";
  652.         }
  653.         // line 416
  654.         echo "
  655. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalRichiestaPrezzo\">
  656.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  657.         <div class=\"modal-content panel-warning\">
  658.             <div class=\"modal-header\">
  659.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  660.                 <h4 class=\"modal-title\">
  661.                     ";
  662.         // line 423
  663.         echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 423, $this->source); })()), "CaricaTraduzioniDaFamiglia", ["richiesta_prezzo", twig_get_attribute($this->env, $this->source, 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.', 423, $this->source); })()), "request", [], "any", false, false, false, 423), "locale", [], "any", false, false, false, 423), false], "method", false, false, false, 423), "html", null, true);
  664.         echo "
  665.                     ";
  666.         // line 424
  667.         echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 424, $this->source); })()), "OttieniElementoDizionario", ["richiesta_prezzo_title", "richiesta_prezzo"], "method", false, false, false, 424), "valoreUscita", [], "any", false, false, false, 424), "html", null, true);
  668.         echo "
  669.                 </h4>
  670.             </div>
  671.             <div class=\"modal-body\" id=\"modalRichiestaPrezzoBody\" style=\"overflow-y: auto;\">
  672.             </div>
  673.         </div><!-- /.modal-content -->
  674.     </div><!-- /.modal-dialog -->
  675. </div><!-- /.modal -->
  676. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalMagazziniSecondari\">
  677.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  678.         <div class=\"modal-content panel-warning\">
  679.             <div class=\"modal-header\">
  680.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  681.                 <h4 class=\"modal-title\">
  682.                     ";
  683.         // line 440
  684.         echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 440, $this->source); })()), "CaricaTraduzioniDaFamiglia", ["modal_magazzini_secondari", twig_get_attribute($this->env, $this->source, 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.', 440, $this->source); })()), "request", [], "any", false, false, false, 440), "locale", [], "any", false, false, false, 440), false], "method", false, false, false, 440), "html", null, true);
  685.         echo "
  686.                     ";
  687.         // line 441
  688.         echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 441, $this->source); })()), "OttieniElementoDizionario", ["modal_magazzini_secondari_title_main_modal", "modal_magazzini_secondari"], "method", false, false, false, 441), "valoreUscita", [], "any", false, false, false, 441), "html", null, true);
  689.         echo "
  690.                 </h4>
  691.             </div>
  692.             <div class=\"modal-body\" id=\"modalMagazziniSecondariBody\" style=\"overflow-y: auto;\">
  693.             </div>
  694.         </div><!-- /.modal-content -->
  695.     </div><!-- /.modal-dialog -->
  696. </div><!-- /.modal -->
  697. ";
  698.         // line 451
  699.         if ((($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE"))) {
  700.             // line 452
  701.             echo "
  702. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalCercaCliente\">
  703.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  704.         <div class=\"modal-content panel-warning\">
  705.             <div class=\"modal-header\">
  706.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  707.                 <h4 class=\"modal-title\" id=\"modalTitle\">";
  708.             // line 458
  709.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 458, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_title", "dialog_ricerca_cliente"], "method", false, false, false, 458), "valoreUscita", [], "any", false, false, false, 458), "html", null, true);
  710.             echo "</h4>
  711.             </div>
  712.             <div class=\"modal-body\" style=\"overflow-y: auto;\">
  713.                 <div class=\"col-md-12\">
  714.                     <div class=\"col-md-4\">
  715.                         <div class=\"form-inline center has-success\">
  716.                             <div class=\"input-group\" style=\"width: 100%;\">
  717.                                 <span class=\"input-group-addon\" id=\"basic-addon1\"><span class=\"glyphicon glyphicon-search\" aria-hidden=\"true\"></span></span>
  718.                                 <input type=\"text\" class=\"form-control\" id=\"ricercaClienteTxt\" placeholder=\"";
  719.             // line 466
  720.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 466, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_inizia_a_scrivere", "dialog_ricerca_cliente"], "method", false, false, false, 466), "valoreUscita", [], "any", false, false, false, 466), "html", null, true);
  721.             echo "\">
  722.                             </div>
  723.                         </div>
  724.                     </div>
  725.                     <div class=\"col-md-4\">
  726.                         <div class=\"form-inline center has-success\">
  727.                             <div class=\"input-group\" style=\"width: 100%;\">
  728.                                 <span class=\"input-group-addon\" id=\"basic-addon1\"><span class=\"glyphicon glyphicon-search\" aria-hidden=\"true\"></span></span>
  729.                                 <input type=\"text\" class=\"form-control\" id=\"ricercaCittaTxt\" placeholder=\"";
  730.             // line 474
  731.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 474, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_filtro_citta", "dialog_ricerca_cliente"], "method", false, false, false, 474), "valoreUscita", [], "any", false, false, false, 474), "html", null, true);
  732.             echo "\">
  733.                             </div>
  734.                         </div>
  735.                     </div>
  736.                     <div class=\"col-md-4\">
  737.                         <div class=\"form-inline center has-success\">
  738.                             <div class=\"input-group\" style=\"width: 100%;\">
  739.                                 <span class=\"input-group-addon\" id=\"basic-addon1\"><span class=\"glyphicon glyphicon-search\" aria-hidden=\"true\"></span></span>
  740.                                 <input type=\"text\" class=\"form-control\" id=\"ricercaProvinciaTxt\" placeholder=\"";
  741.             // line 482
  742.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 482, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_filtro_provincia", "dialog_ricerca_cliente"], "method", false, false, false, 482), "valoreUscita", [], "any", false, false, false, 482), "html", null, true);
  743.             echo "\">
  744.                             </div>
  745.                         </div>
  746.                     </div>
  747.                 </div>
  748.                 <table class=\"table table-striped table-responsive\">
  749.                     <thead>
  750.                     <tr>
  751.                         <th>
  752.                             ";
  753.             // line 492
  754.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 492, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_tab_col1_a", "dialog_ricerca_cliente"], "method", false, false, false, 492), "valoreUscita", [], "any", false, false, false, 492), "html", null, true);
  755.             echo "
  756.                             <br>
  757.                             ";
  758.             // line 494
  759.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 494, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_tab_col1_b", "dialog_ricerca_cliente"], "method", false, false, false, 494), "valoreUscita", [], "any", false, false, false, 494), "html", null, true);
  760.             echo "
  761.                             <br>
  762.                             ";
  763.             // line 496
  764.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 496, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_tab_col1_c", "dialog_ricerca_cliente"], "method", false, false, false, 496), "valoreUscita", [], "any", false, false, false, 496), "html", null, true);
  765.             echo "
  766.                         </th>
  767.                         <th>
  768.                             ";
  769.             // line 499
  770.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 499, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_tab_col2_a", "dialog_ricerca_cliente"], "method", false, false, false, 499), "valoreUscita", [], "any", false, false, false, 499), "html", null, true);
  771.             echo "
  772.                             <br>
  773.                             ";
  774.             // line 501
  775.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 501, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_tab_col2_b", "dialog_ricerca_cliente"], "method", false, false, false, 501), "valoreUscita", [], "any", false, false, false, 501), "html", null, true);
  776.             echo "
  777.                             <br>
  778.                             ";
  779.             // line 503
  780.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 503, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_tab_col2_c", "dialog_ricerca_cliente"], "method", false, false, false, 503), "valoreUscita", [], "any", false, false, false, 503), "html", null, true);
  781.             echo "
  782.                         </th><th>
  783.                             ";
  784.             // line 505
  785.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 505, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_tab_col3_a", "dialog_ricerca_cliente"], "method", false, false, false, 505), "valoreUscita", [], "any", false, false, false, 505), "html", null, true);
  786.             echo "
  787.                             <br>
  788.                             ";
  789.             // line 507
  790.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 507, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_tab_col3_b", "dialog_ricerca_cliente"], "method", false, false, false, 507), "valoreUscita", [], "any", false, false, false, 507), "html", null, true);
  791.             echo "
  792.                             <br>
  793.                             ";
  794.             // line 509
  795.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 509, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_tab_col3_c", "dialog_ricerca_cliente"], "method", false, false, false, 509), "valoreUscita", [], "any", false, false, false, 509), "html", null, true);
  796.             echo "
  797.                         </th>
  798.                     </tr>
  799.                     </thead>
  800.                     <tbody id=\"bodyTabellaRicercaCliente\">
  801.                     </tbody>
  802.                 </table>
  803.             </div>
  804.             <div class=\"modal-footer\">
  805.                 <button type=\"button\" id=\"chiudiModalCercaCliente\" class=\"btn btn-danger\" data-dismiss=\"modal\">";
  806.             // line 520
  807.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 520, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_chiudi_btn", "dialog_ricerca_cliente"], "method", false, false, false, 520), "valoreUscita", [], "any", false, false, false, 520), "html", null, true);
  808.             echo "</button>
  809.             </div>
  810.         </div><!-- /.modal-content -->
  811.     </div><!-- /.modal-dialog -->
  812. </div><!-- /.modal -->
  813. ";
  814.         }
  815.         // line 526
  816.         echo "
  817. <div class=\"container-fluid contenitore_generale_body\" >
  818.     <div class=\"row master-row-body\">
  819.         <div class=\"col-md-12 master-col-body\">
  820.             ";
  821.         // line 530
  822.         $this->displayBlock('body', $context, $blocks);
  823.         // line 531
  824.         echo "        </div>
  825.     </div>
  826. </div><!-- /.container -->
  827. <script src=\"https://www.google.com/recaptcha/api.js?render=";
  828.         // line 535
  829.         echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["impostazioni"]) || array_key_exists("impostazioni", $context) ? $context["impostazioni"] : (function () { throw new RuntimeError('Variable "impostazioni" does not exist.', 535, $this->source); })()), "ritornaImpostazioneDaNome", ["ReCaptchaSiteKey"], "method", false, false, false, 535), "html", null, true);
  830.         echo "\"></script>
  831. <script>
  832.     grecaptcha.ready(function() {
  833.         grecaptcha.execute('";
  834.         // line 538
  835.         echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["impostazioni"]) || array_key_exists("impostazioni", $context) ? $context["impostazioni"] : (function () { throw new RuntimeError('Variable "impostazioni" does not exist.', 538, $this->source); })()), "ritornaImpostazioneDaNome", ["ReCaptchaSiteKey"], "method", false, false, false, 538), "html", null, true);
  836.         echo "', {action: 'homepage'}).then(function(token) {
  837.             \$('.re-captcha-v3').val = token;
  838.         });
  839.     });
  840. </script>
  841. <!-- FOSJsRoutingBundle -->
  842. <script src=\"";
  843.         // line 545
  844.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("bundles/fosjsrouting/js/router.js"), "html", null, true);
  845.         echo "\"></script>
  846. <script src=\"";
  847.         // line 546
  848.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("fos_js_routing_js", ["callback" => "fos.Router.setData"]);
  849.         echo "\"></script>
  850. <!-- jQuery smartmenus plugin -->
  851. <script src=\"";
  852.         // line 549
  853.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("java_lib/jquery.smartmenus.min.js"), "html", null, true);
  854.         echo "\"></script>
  855. <script src=\"";
  856.         // line 550
  857.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("java_lib/jquery.smartmenus.bootstrap.min.js"), "html", null, true);
  858.         echo "\"></script>
  859. <script src=\"";
  860.         // line 552
  861.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("java_lib/jquery.stickytableheaders.min.js"), "html", null, true);
  862.         echo "\" type=\"text/javascript\"></script>
  863. <!-- SLICK CAROUSEL -->
  864. <script type=\"text/javascript\" src=\"";
  865.         // line 555
  866.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("java_lib/slick-1.8.1/slick/slick.min.js"), "html", null, true);
  867.         echo "\"></script>
  868. <!-- TINY SLIDER -->
  869. <script src=\"https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.2/min/tiny-slider.js\"></script>
  870. <!-- CORE NAV -->
  871. <script type=\"text/javascript\" src=\"";
  872.         // line 560
  873.         echo twig_escape_filter($this->env, $this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("java_lib/custom_mf_sidebar/mf_sidebar.js"), "html", null, true);
  874.         echo "\"></script>
  875. ";
  876.         // line 563
  877.         echo "<script type=\"text/javascript\" src=\"https://unpkg.com/tabulator-tables@5.2.3/dist/js/tabulator.min.js\"></script>
  878. <script src=\"https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.bundle.min.js\" integrity=\"sha256-xKeoJ50pzbUGkpQxDYHD7o7hxe0LaOGeguUidbq6vis=\" crossorigin=\"anonymous\"></script>
  879. <script src=\"https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.js\" integrity=\"sha256-Uv9BNBucvCPipKQ2NS9wYpJmi8DTOEfTA/nH2aoJALw=\" crossorigin=\"anonymous\"></script>
  880. <script src=\"https://cdnjs.cloudflare.com/ajax/libs/luxon/3.0.1/luxon.min.js\" integrity=\"sha512-6ZJuab/UnRq1muTChgrVxJhSgygmL2GMLVmSJN7pcBEqJ1dWPbqN9CiZ6U3HrcApTIJsLnMgXYBYgtVkJ8fWiw==\" crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\"></script>
  881. <script type=\"text/javascript\">
  882.     ";
  883.         // line 572
  884.         echo "    let idCarrelloAttuale = '';
  885.     let stadioSostituzione = 0; ";
  886.         // line 574
  887.         echo "    ";
  888.         // line 575
  889.         echo "
  890.     var memorizzazioneAltriDatiUtente = {}
  891.     var lens = null;
  892.     var img = null;
  893.     ";
  894.         // line 582
  895.         echo "    function imageZoom(imgID, resultID) {
  896.         if (lens != null){
  897.             lens.removeEventListener(\"mousemove\", moveLens);
  898.             img.removeEventListener(\"mousemove\", moveLens);
  899.             lens.removeEventListener(\"touchmove\", moveLens);
  900.             img.removeEventListener(\"touchmove\", moveLens);
  901.             lens.remove();
  902.             lens = null;
  903.         }
  904.         var result, cx, cy;
  905.         img = document.getElementById(imgID);
  906.         result = document.getElementById(resultID);
  907.         /* Create lens: */
  908.         lens = document.createElement(\"DIV\");
  909.         lens.setAttribute(\"class\", \"img-zoom-lens\");
  910.         /* Insert lens: */
  911.         img.parentElement.insertBefore(lens, img);
  912.         /* Calculate the ratio between result DIV and lens: */
  913.         cx = result.offsetWidth / lens.offsetWidth;
  914.         cy = result.offsetHeight / lens.offsetHeight;
  915.         /* Set background properties for the result DIV */
  916.         result.style.backgroundImage = \"url('\" + img.src + \"')\";
  917.         result.style.backgroundSize = (img.width * cx) + \"px \" + (img.height * cy) + \"px\";
  918.         /* Execute a function when someone moves the cursor over the image, or the lens: */
  919.         lens.addEventListener(\"mousemove\", moveLens);
  920.         img.addEventListener(\"mousemove\", moveLens);
  921.         /* And also for touch screens: */
  922.         lens.addEventListener(\"touchmove\", moveLens);
  923.         img.addEventListener(\"touchmove\", moveLens);
  924.         function moveLens(e) {
  925.             var pos, x, y;
  926.             /* Prevent any other actions that may occur when moving over the image */
  927.             e.preventDefault();
  928.             /* Get the cursor's x and y positions: */
  929.             pos = getCursorPos(e);
  930.             /* Calculate the position of the lens: */
  931.             x = pos.x - (lens.offsetWidth / 2);
  932.             y = pos.y - (lens.offsetHeight / 2);
  933.             /* Prevent the lens from being positioned outside the image: */
  934.             if (x > img.width - lens.offsetWidth) {x = img.width - lens.offsetWidth;}
  935.             if (x < 0) {x = 0;}
  936.             if (y > img.height - lens.offsetHeight) {y = img.height - lens.offsetHeight;}
  937.             if (y < 0) {y = 0;}
  938.             /* Set the position of the lens: */
  939.             lens.style.left = x + \"px\";
  940.             lens.style.top = y + \"px\";
  941.             /* Display what the lens \"sees\": */
  942.             result.style.backgroundPosition = \"-\" + (x * cx) + \"px -\" + (y * cy) + \"px\";
  943.         }
  944.         function getCursorPos(e) {
  945.             var a, x = 0, y = 0;
  946.             e = e || window.event;
  947.             /* Get the x and y positions of the image: */
  948.             a = img.getBoundingClientRect();
  949.             /* Calculate the cursor's x and y coordinates, relative to the image: */
  950.             x = e.pageX - a.left;
  951.             y = e.pageY - a.top;
  952.             /* Consider any page scrolling: */
  953.             x = x - window.pageXOffset;
  954.             y = y - window.pageYOffset;
  955.             return {x : x, y : y};
  956.         }
  957.     }
  958.     var randomRgbColor = function() {
  959.         var r = Math.floor(Math.random() * 255);
  960.         var g = Math.floor(Math.random() * 255);
  961.         var b = Math.floor(Math.random() * 255);
  962.         return \"rgb(\" + r + \",\" + g + \",\" + b + \")\";
  963.     }
  964.     function toastMessage(messaggio, rosso = false) {
  965.         // Get the snackbar DIV
  966.         var x = document.getElementById(\"snackbar\");
  967.         \$(x).text(messaggio);
  968.         if (rosso){
  969.             \$(x).css('background-color', 'red');
  970.             \$(x).css('color', 'black');
  971.         }else{
  972.             \$(x).css('background-color', 'black');
  973.             \$(x).css('color', 'white');
  974.         }
  975.         // Add the \"show\" class to DIV
  976.         x.className = \"show\";
  977.         // After 3 seconds, remove the show class from DIV
  978.         setTimeout(function(){ x.className = x.className.replace(\"show\", \"\"); }, 3000);
  979.     }
  980.     function ApriModalRichiestaPrezzo(idMappa){
  981.         \$('#loadingMaster').show();
  982.         \$.ajax({
  983.             dataType: 'html',
  984.             url: Routing.generate('richiesta_prezzo_modal', {'idMappa' : (idMappa) }),
  985.             async: true, //you won't need that if nothing in your following code is dependend of the result
  986.             success: function (response) {
  987.                 \$('#modalRichiestaPrezzoBody').html(response);
  988.                 \$('#modalRichiestaPrezzo').modal('toggle');
  989.                 \$('#loadingMaster').hide();
  990.             },
  991.             error: function(XMLHttpRequest, textStatus, errorThrown) {
  992.                 \$('#loadingMaster').hide();
  993.                 alert(\"Status: \" + textStatus); alert(\"Error: \" + errorThrown);
  994.             }
  995.         });
  996.     }
  997.     function ApriModalMagazziniSecondari(idMappa, qta){
  998.         \$('#loadingMaster').show();
  999.         \$.ajax({
  1000.             dataType: 'html',
  1001.             url: Routing.generate('magazzini_secondari_modal', {'idMappa' : (idMappa), 'qta' : (qta) }),
  1002.             async: true, //you won't need that if nothing in your following code is dependend of the result
  1003.             success: function (response) {
  1004.                 \$('#modalMagazziniSecondariBody').html(response);
  1005.                 \$('#modalMagazziniSecondari').modal('toggle');
  1006.                 \$('#loadingMaster').hide();
  1007.             },
  1008.             error: function(XMLHttpRequest, textStatus, errorThrown) {
  1009.                 \$('#loadingMaster').hide();
  1010.                 alert(\"Status: \" + textStatus); alert(\"Error: \" + errorThrown);
  1011.             }
  1012.         });
  1013.     }
  1014.     function CountArticoliCarrello()
  1015.     {
  1016.         \$.ajax({
  1017.             type: \"POST\",
  1018.             dataType: 'html',
  1019.             url: Routing.generate('carrello_conta_articoli'),
  1020.             async: true //you won't need that if nothing in your following code is dependend of the result
  1021.         })
  1022.         .done(function (response) {
  1023.             let js = JSON.parse(response);
  1024.             idCarrelloAttuale = js.idCarrello;
  1025.             if(idCarrelloAttuale != ''){
  1026.                 \$('#modalDettaglioClienteSpostaCarrelloBtn').show();
  1027.             }else{
  1028.                 \$('#modalDettaglioClienteSpostaCarrelloBtn').hide();
  1029.             }
  1030.             if (js.count == '0')
  1031.                 \$('#badgeArticoliCarello').html(\" \");
  1032.             else
  1033.                 \$('#badgeArticoliCarello').html(js.count);
  1034.         })
  1035.         DettaglioCarrelloJson();
  1036.     }
  1037.     function DettaglioCarrelloJson()
  1038.     {
  1039.         \$.ajax({
  1040.             type: \"POST\",
  1041.             dataType: 'html',
  1042.             url: Routing.generate('carrello_dettagli_json'),
  1043.             async: true //you won't need that if nothing in your following code is dependend of the result
  1044.         })
  1045.             .done(function (response) {
  1046.                 let js = JSON.parse(response);
  1047.                 \$(\"#badgeTotaleImponibileCarrello\").html(\" - € \" + js.imponibile)
  1048.             })
  1049.     }
  1050.     ";
  1051.         // line 746
  1052.         if ((($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE"))) {
  1053.             // line 747
  1054.             echo "
  1055.     function CambioTabRisorseCategorieSelect(altezza=350) {
  1056.         let categoriaSelezionata = \$('#tab-risorse-categorie-select').find('option:selected').val();
  1057.         \$.ajax({
  1058.             type: \"POST\",
  1059.             dataType: 'json',
  1060.             data: {'tab': 'dati_da_categoria', 'categoria': (categoriaSelezionata)},
  1061.             async: true,
  1062.             url: Routing.generate('agente_dettaglio_carica_tab_anagrafica', {idAnagrafica: \$(\"#id-anagrafica-da-utilizzare\").val()}),
  1063.             success: function (response) {
  1064.                 var tableRisorseAnag = new Tabulator(\"#tabella-risorse\", {
  1065.                     height: (altezza + \"px\"),
  1066.                     data:response.data,           //load row data from array
  1067.                     layout:\"fitDataFill\",      //fit columns to width of table
  1068.                     responsiveLayout:\"collapse\",  //hide columns that dont fit on the table
  1069.                     columns: response.colonne,
  1070.                 });
  1071.                 tableRisorseAnag.on(\"rowClick\", function(e, row){
  1072.                     //e - the click event object
  1073.                     //row - row component
  1074.                     var valore = row.getCell('idRisorsa').getValue();
  1075.                     var url = Routing.generate('agente_recupera_risorsa_anagrafica') + '?idRisorsa=' + valore;
  1076.                     var win = window.open(url, '_blank');
  1077.                     win.focus();
  1078.                 });
  1079.                 if('sorting' in response){
  1080.                     let sort = [];
  1081.                     for (const [key, value] of Object.entries(response.sorting)) {
  1082.                         //value => {'field' => '', 'direction' => ''}
  1083.                         sort.push({'column': value.field, 'dir': value.direction});
  1084.                     }
  1085.                     if(sort.length > 0){
  1086.                         tableRisorseAnag.setSort(sort);
  1087.                     }
  1088.                 }
  1089.             }
  1090.         });
  1091.     }
  1092.     ";
  1093.         } else {
  1094.             // line 789
  1095.             echo "
  1096.     function CambioTabRisorseCategorieSelect() {
  1097.         let categoriaSelezionata = \$('#tab-risorse-categorie-select').find('option:selected').val();
  1098.         \$.ajax({
  1099.             type: \"POST\",
  1100.             dataType: 'json',
  1101.             data: {'categoria': (categoriaSelezionata)},
  1102.             async: true,
  1103.             url: Routing.generate('storico_carica_risorse_anagrafiche'),
  1104.             success: function (response) {
  1105.                 var tableRisorseAnag = new Tabulator(\"#tabella-risorse\", {
  1106.                     height: \"350px\",
  1107.                     data:response.data,           //load row data from array
  1108.                     layout:\"fitDataFill\",      //fit columns to width of table
  1109.                     responsiveLayout:\"collapse\",  //hide columns that dont fit on the table
  1110.                     columns: response.colonne,
  1111.                 });
  1112.                 tableRisorseAnag.on(\"rowClick\", function(e, row){
  1113.                     //e - the click event object
  1114.                     //row - row component
  1115.                     var valore = row.getCell('idRisorsa').getValue();
  1116.                     var url = Routing.generate('recupera_risorsa_anagrafica') + '?idRisorsa=' + valore;
  1117.                     var win = window.open(url, '_blank');
  1118.                     win.focus();
  1119.                 });
  1120.             }
  1121.         });
  1122.     }
  1123.     ";
  1124.         }
  1125.         // line 820
  1126.         echo "
  1127.     function ResetRicercaFiltroAvanzato(){
  1128.         \$(\"#cerca-filtro-btn\").removeAttr(\"style\")
  1129.         filtroAvanzato = \"\";
  1130.         document.getElementById('form-filtro-avanzato').reset();
  1131.     }
  1132.     function ResetRicerca(){
  1133.         \$(\"#ricercaVeloceTxt\").val(\"\");
  1134.     }
  1135.     ";
  1136.         // line 831
  1137.         if ( !(($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE"))) {
  1138.             // line 832
  1139.             echo "
  1140.     function ApriDettaglioClienteLoggato(){
  1141.         \$('#loadingMaster').show();
  1142.         \$.ajax({
  1143.             type: \"POST\",
  1144.             dataType: 'html',
  1145.             url: Routing.generate('utente_dettaglio_anagrafica'),
  1146.             async: true,
  1147.             success: function (response) {
  1148.                 \$('#loadingMaster').hide();
  1149.                 \$('#modalDettaglioClienteLoggato-body').html(response);
  1150.                 \$(\"#modalDettaglioClienteLoggato\").modal('toggle');
  1151.             },
  1152.             error: function (xhr, ajaxOptions, thrownError) {
  1153.                 \$('#loadingMaster').hide();
  1154.                 alert(xhr.status);
  1155.                 alert(thrownError);
  1156.             }
  1157.         });
  1158.     }
  1159.     ";
  1160.         }
  1161.         // line 853
  1162.         echo "
  1163.     ";
  1164.         // line 854
  1165.         if ((($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE"))) {
  1166.             // line 855
  1167.             echo "
  1168.     function ApriDettaglioClienteDialog(){
  1169.         aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
  1170.             let cookie = response;
  1171.             \$(\".pulisci-selezione-cliente\").hide();
  1172.             if (cookie != \"\" && cookie && cookie.length > 0){
  1173.                 let json = JSON.parse(cookie);
  1174.                 \$(\".pulisci-selezione-cliente\").show();
  1175.                 \$(\"#codiceClienteTxt\").val(json.codice);
  1176.                 \$(\"#ragioneSocialeText\").val(json.ragioneSociale);
  1177.                 let tipoOrdine = json.hasOwnProperty(\"tipoOrdine\") ? json.tipoOrdine : '';
  1178.                 \$(\"#tipo-ordine-input > option\").each(function() {
  1179.                     if(\$(this).val() ==tipoOrdine){
  1180.                         \$(this).attr(\"selected\", \"selected\");
  1181.                     } else {
  1182.                         \$(this).removeAttr(\"selected\");
  1183.                     }
  1184.                 });
  1185.                 \$('#navbar-dettaglio-cliente').text(json.codice + ' - ' + json.ragioneSociale);
  1186.                 \$('#selezionaVariantiModalCliente').text('Cliente: ' + json.codice + ' - ' + json.ragioneSociale);
  1187.                 memorizzazioneAltriDatiUtente = json;
  1188.                 CaricaDettaglioCliente(json.id);
  1189.             }
  1190.         });
  1191.         AggiornaStatoSelezioneCliente();
  1192.         \$(\"#modalDettaglioCliente\").modal('show');
  1193.     }
  1194.     function SpostaCarrello(idAnagraficaDestinazione){
  1195.         stadioSostituzione = 0;
  1196.         \$('#loadingMaster').show();
  1197.         \$.ajax({
  1198.             type: \"POST\",
  1199.             dataType: 'json',
  1200.             url: Routing.generate('agente_sposta_carrello', {
  1201.                 idCarrelloOrigine: (idCarrelloAttuale),
  1202.                 idAnagraficaDestinazione: (idAnagraficaDestinazione)
  1203.             }),
  1204.             async: true,
  1205.             success: function (response) {
  1206.                 \$('#loadingMaster').hide();
  1207.                 let js = JSON.parse(response);
  1208.                 if(js.successo == 'SI'){
  1209.                     toastMessage(js.messaggio);
  1210.                     CountArticoliCarrello();
  1211.                 }else{
  1212.                     toastMessage(js.messaggio, true);
  1213.                 }
  1214.             },
  1215.             error: function(XMLHttpRequest, textStatus, errorThrown) {
  1216.                 \$('#loadingMaster').hide();
  1217.                 alert(\"Status: \" + textStatus); alert(\"Error: \" + errorThrown);
  1218.             }
  1219.         });
  1220.     }
  1221.     function CaricaTabellaGeneraleClienti(rigaInizio) {
  1222.         var str_ric = \$(\"#ricercaClienteTxt\").val();
  1223.         var citta = \$(\"#ricercaCittaTxt\").val();
  1224.         var provincia = \$(\"#ricercaProvinciaTxt\").val();
  1225.         \$.ajax({
  1226.             type: \"POST\",
  1227.             dataType: 'html',
  1228.             data: {
  1229.                 \"data\": {
  1230.                     'ricerca': str_ric,
  1231.                     'citta' : citta,
  1232.                     'provincia' : provincia
  1233.                 }
  1234.             },
  1235.             url: Routing.generate('agente_lista_clienti_ricerca', {
  1236.                 rigaInzio: rigaInizio
  1237.             }),
  1238.             async: true,
  1239.             success: function (response) {
  1240.                 \$('#bodyTabellaRicercaCliente').html(response);
  1241.             },
  1242.             error: function (xhr, ajaxOptions, thrownError) {
  1243.                 alert(xhr.status);
  1244.                 alert(thrownError);
  1245.             }
  1246.         });
  1247.     }
  1248.     function CaricaDettaglioCliente(id) {
  1249.         \$.ajax({
  1250.             type: \"POST\",
  1251.             dataType: 'html',
  1252.             url: Routing.generate('agente_dettaglio_anagrafica', {
  1253.                 id: (id), soloDati: 1
  1254.             }),
  1255.             async: true,
  1256.             success: function (response) {
  1257.                 \$('.moda-dettaglio-cliente-body').html(response);
  1258.                 \$('a[data-toggle=\"tab\"]').on('shown.bs.tab', function (e) {
  1259.                     let tabAperto = e.target; // newly activated tab
  1260.                     let identificativo = tabAperto.hash.substring(1);
  1261.                     let contenitore = \$('#' + identificativo);
  1262.                     if(identificativo != 'tab-home') {
  1263.                         \$(contenitore).html('');
  1264.                         \$.ajax({
  1265.                             type: \"POST\",
  1266.                             dataType: 'html',
  1267.                             data: {'tab': (identificativo)},
  1268.                             async: true,
  1269.                             url: Routing.generate('agente_dettaglio_carica_tab_anagrafica', {idAnagrafica: id}),
  1270.                             success: function (response) {
  1271.                                 \$(contenitore).html(response);
  1272.                             },
  1273.                             error: function (xhr, ajaxOptions, thrownError) {
  1274.                                 alert(xhr.status);
  1275.                                 alert(thrownError);
  1276.                             }
  1277.                         });
  1278.                     }
  1279.                 });
  1280.             }
  1281.         });
  1282.     }
  1283.     function VerificaStileBottoneNascondiPrezzi(){
  1284.         if (\$(\"#nascondiPrzBtnDettCliente\").data(\"valore\") == '0'){
  1285.             \$(\"#nascondiPrzBtnDettCliente\").css(\"background-color\", \"#fff\");
  1286.         }else{
  1287.             \$(\"#nascondiPrzBtnDettCliente\").css(\"background-color\", \"yellow\");
  1288.         }
  1289.     }
  1290.     
  1291.     function VariaStatoBottoneNascondiPrezzi(){
  1292.         if (\$(\"#nascondiPrzBtnDettCliente\").data(\"valore\") == '0'){
  1293.             \$(\"#nascondiPrzBtnDettCliente\").data(\"valore\", '1')
  1294.             VerificaStileBottoneNascondiPrezzi();
  1295.         }else{
  1296.             \$(\"#nascondiPrzBtnDettCliente\").data(\"valore\", '0')
  1297.             VerificaStileBottoneNascondiPrezzi();
  1298.         }
  1299.         let datiCliente = {
  1300.             'codice' : memorizzazioneAltriDatiUtente.codice,
  1301.             'ragioneSociale': memorizzazioneAltriDatiUtente.ragioneSociale,
  1302.             'id' : memorizzazioneAltriDatiUtente.id,
  1303.             'tipoOrdine' : \$(\"#tipo-ordine-input\").find(\":selected\").val(),
  1304.             'nascondiPrezzi': \$(\"#nascondiPrzBtnDettCliente\").data('valore')
  1305.         };
  1306.         aggiornaVisualizzaAltriDatiUtente('M', JSON.stringify(datiCliente), function (response) {
  1307.             memorizzazioneAltriDatiUtente = datiCliente;
  1308.         });
  1309.     }
  1310.     function PulisciSelezioneCliente(dati){
  1311.         aggiornaVisualizzaAltriDatiUtente('E', '', function (response) {
  1312.             if(response.esito == 'OK') {
  1313.                 AggiornaStatoSelezioneCliente();
  1314.                 \$(\"#codiceClienteTxt\").val(\"\");
  1315.                 \$(\"#ragioneSocialeText\").val(\"\");
  1316.                 CountArticoliCarrello();
  1317.                 memorizzazioneAltriDatiUtente = {}
  1318.                 \$('.moda-dettaglio-cliente-body').html(\"\");
  1319.             }else{
  1320.                 alert('";
  1321.             // line 1017
  1322.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 1017, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_errore_pulisci_cliente", "dialog_ricerca_cliente"], "method", false, false, false, 1017), "valoreUscita", [], "any", false, false, false, 1017), "html", null, true);
  1323.             echo "');
  1324.             }
  1325.         });
  1326.     }
  1327.     function AggiornaStatoSelezioneCliente() {
  1328.         aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
  1329.             let cck = response;
  1330.             if (cck != \"\" && cck && cck.length > 0) {
  1331.                 \$(\".pulisci-selezione-cliente\").show();
  1332.                 \$(\".top-bar-seleziona-cliente\").css(\"background-color\", \"yellow\");
  1333.                 memorizzazioneAltriDatiUtente = JSON.parse(cck);
  1334.             } else {
  1335.                 \$(\".pulisci-selezione-cliente\").hide();
  1336.                 \$(\".top-bar-seleziona-cliente\").css(\"background-color\", \"transparent\");
  1337.                 \$('#navbar-dettaglio-cliente').text(\"\");
  1338.                 \$('#selezionaVariantiModalCliente').text('');
  1339.             }
  1340.         });
  1341.     }
  1342.     ";
  1343.         }
  1344.         // line 1037
  1345.         echo "
  1346.     function aggiornaVisualizzaAltriDatiUtente(operazione, valore, callback = null){
  1347.         \$.ajax({
  1348.             type: \"POST\",
  1349.             dataType: 'json',
  1350.             data: {'valore' : (valore)},
  1351.             async: true,
  1352.             url: Routing.generate(";
  1353.         // line 1044
  1354.         if ($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE")) {
  1355.             echo "'agente_altro_dato'";
  1356.         } else {
  1357.             echo "'utente_altro_dato'";
  1358.         }
  1359.         echo ", {
  1360.                 operazione: (operazione)
  1361.             }),
  1362.             success: function (response){
  1363.                 memorizzazioneAltriDatiUtente = valore;
  1364.                 callback(response);
  1365.             },
  1366.             error: function (xhr, ajaxOptions, thrownError) {
  1367.                 alert(xhr.status);
  1368.                 alert(thrownError);
  1369.             }
  1370.         });
  1371.     }
  1372.     function adattaContenutoABarraSuperiore(){
  1373.         \$(\".contenitore_generale_body\").css(\"padding-top\", \$(\".navbar-fixed-top\").height() + \"px\")
  1374.         \$(\".nav-side-menu\").css(\"padding-top\", \$(\".navbar-fixed-top\").height() + \"px\")
  1375.     }
  1376.     \$(document).ready(function () {
  1377.         \$(window).resize(function() {
  1378.             adattaContenutoABarraSuperiore();
  1379.         });
  1380.         \$(document).on(\"click\", \".attiva-img-zoom\", function (event){
  1381.             event.stopImmediatePropagation();
  1382.             event.stopPropagation();
  1383.             \$(\"#zoomImgImg\").attr(\"src\", \$(this).attr(\"src\"));
  1384.             \$(\"#modalZoomImg\").modal('show');
  1385.         });
  1386.         \$('#modalZoomImg').on(\"shown.bs.modal\", function (){
  1387.             imageZoom(\"zoomImgImg\", \"zoomImgResult\");
  1388.         });
  1389.         \$('.attiva-slick')
  1390.             .on('init', function(slick) {
  1391.                 \$('.attiva-slick').fadeIn(3000);
  1392.             })
  1393.             .slick();
  1394.         \$('.attiva-tiny-slider').each(function (index, item) {
  1395.             let arrConfig = \$(item).data('configurazione');
  1396.             tns(arrConfig);
  1397.             \$(item).css({ display: \"block\" });
  1398.         });
  1399.         \$('.form-ordinazione-articolo').on(\"submit\", function (e) {
  1400.             let disponibilita = \$(this).find('input[name=\"disponibilita\"]').val();
  1401.             let disponibilitaMagSecondari = \$(this).find('input[name=\"disponibilita-mag-secondari\"]').val();
  1402.             if(disponibilita && disponibilita <= 0 ) {
  1403.                 if(disponibilitaMagSecondari > 0) {
  1404.                     e.preventDefault();
  1405.                     ApriModalMagazziniSecondari(\$(this).find('input[name=\"id-mappa\"]').val(), \$(this).find('input[name=\"qta\"]').val());
  1406.                 }
  1407.             }
  1408.         });
  1409.         \$('[data-toggle=\"popover\"]').popover();
  1410.         \$(\"#set_min_width\").css(\"min-width\", \$(window).width() / 2);
  1411.         \$(\"#form_news\").mouseleave(function () {
  1412.             \$(\"#set_min_width\").css(\"display\", \"none\");
  1413.         });
  1414.         \$(\"#set_min_width\").mouseenter(function () {
  1415.             \$(\"#set_min_width\").css(\"display\", \"inline-block\");
  1416.         });
  1417.         \$(\"#set_min_width\").mouseleave(function () {
  1418.             \$(\"#set_min_width\").css(\"display\", \"none\");
  1419.         });
  1420.         \$('#cerca-btn-top').on('click', function () {
  1421.             ResetRicercaFiltroAvanzato();
  1422.             RicercaVeloce(\$(\"#ricercaVeloceTxt\").val());
  1423.         });
  1424.         \$(\"#ricercaVeloceTxt\").on(\"keypress\", function(e) {
  1425.             if(e.which == 13) {
  1426.                 ResetRicercaFiltroAvanzato();
  1427.                 RicercaVeloce(\$(\"#ricercaVeloceTxt\").val());
  1428.             }
  1429.         });
  1430.         var errori_validazione = [
  1431.             ";
  1432.         // line 1132
  1433.         if (array_key_exists("errori_validazione", $context)) {
  1434.             // line 1133
  1435.             echo "            ";
  1436.             $context['_parent'] = $context;
  1437.             $context['_seq'] = twig_ensure_traversable((isset($context["errori_validazione"]) || array_key_exists("errori_validazione", $context) ? $context["errori_validazione"] : (function () { throw new RuntimeError('Variable "errori_validazione" does not exist.', 1133, $this->source); })()));
  1438.             foreach ($context['_seq'] as $context["_key"] => $context["err"]) {
  1439.                 // line 1134
  1440.                 echo "            \"";
  1441.                 echo twig_escape_filter($this->env, $context["err"], "html", null, true);
  1442.                 echo "\",
  1443.             ";
  1444.             }
  1445.             $_parent = $context['_parent'];
  1446.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['err'], $context['_parent'], $context['loop']);
  1447.             $context = array_intersect_key($context, $_parent) + $_parent;
  1448.             // line 1136
  1449.             echo "            ";
  1450.         }
  1451.         // line 1137
  1452.         echo "        ];
  1453.         \$.each(errori_validazione, function (item) {
  1454.             \$(\"#form_\" + errori_validazione[item]).addClass(\"dato-invalido\");
  1455.         });
  1456.         CountArticoliCarrello();
  1457.         adattaContenutoABarraSuperiore();
  1458.         ";
  1459.         // line 1146
  1460.         if ((($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE"))) {
  1461.             // line 1147
  1462.             echo "        \$(\"#ricercaClienteTxt, #ricercaCittaTxt, #ricercaProvinciaTxt\").on(\"change paste keyup\", function () {
  1463.             CaricaTabellaGeneraleClienti(\$(\"#inizioRiga\").data('valore'));
  1464.         });
  1465.         \$(\".cercaCliente\").on(\"focus, click\", function () {
  1466.             stadioSostituzione = 0;
  1467.             \$(\"#modalCercaCliente\").modal('show');
  1468.         });
  1469.         \$(\"#tipo-ordine-input\").on(\"change\", function (){
  1470.             aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
  1471.                 let cookie = response;
  1472.                 if (cookie != \"\" && cookie && cookie.length > 0){
  1473.                     let json = JSON.parse(cookie);
  1474.                     let datiCliente = {
  1475.                         'codice' : json.codice,
  1476.                         'ragioneSociale': json.ragioneSociale,
  1477.                         'id' : json.id,
  1478.                         'tipoOrdine' : \$(\"#tipo-ordine-input\").find(\":selected\").val(),
  1479.                         'nascondiPrezzi': \$(\"#nascondiPrzBtnDettCliente\").data('valore')
  1480.                     };
  1481.                     ";
  1482.             // line 1169
  1483.             if ((($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE"))) {
  1484.                 // line 1170
  1485.                 echo "                        VerificaStileBottoneNascondiPrezzi();
  1486.                     ";
  1487.             }
  1488.             // line 1172
  1489.             echo "
  1490.                     aggiornaVisualizzaAltriDatiUtente('M', JSON.stringify(datiCliente), function (response) {
  1491.                         CountArticoliCarrello();
  1492.                         location.reload(); //Ricarico la pagina
  1493.                     });
  1494.                 }
  1495.             });
  1496.         });
  1497.         \$(\"#bodyTabellaRicercaCliente\").on(\"click\", \"tr\", function () {
  1498.             \$(\"#codiceClienteTxt\").val(\$(this).data(\"codice\"));
  1499.             \$(\"#ragioneSocialeText\").val(\$(this).data(\"ragione-sociale\"));
  1500.             let datiCliente = {
  1501.                 'codice' : \$(this).data(\"codice\"),
  1502.                 'ragioneSociale': \$(this).data(\"ragione-sociale\"),
  1503.                 'id' : \$(this).data(\"identificativo\"),
  1504.                 'tipoOrdine' : \$(\"#tipo-ordine-input\").find(\":selected\").val(),
  1505.                 'nascondiPrezzi': \$(\"#nascondiPrzBtnDettCliente\").data('valore')
  1506.             };
  1507.             \$('#navbar-dettaglio-cliente').text(datiCliente.codice + ' - ' + datiCliente.ragioneSociale);
  1508.             \$('#selezionaVariantiModalCliente').text('Cliente: ' + datiCliente.codice + ' - ' + datiCliente.ragioneSociale);
  1509.             \$(\"#modalCercaCliente\").modal('toggle');
  1510.             aggiornaVisualizzaAltriDatiUtente('M', JSON.stringify(datiCliente), function (response) {
  1511.                 AggiornaStatoSelezioneCliente();
  1512.                 CountArticoliCarrello();
  1513.                 CaricaDettaglioCliente(datiCliente.id);
  1514.                 ";
  1515.             // line 1199
  1516.             if ((($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE"))) {
  1517.                 // line 1200
  1518.                 echo "                    VerificaStileBottoneNascondiPrezzi();
  1519.                 ";
  1520.             }
  1521.             // line 1202
  1522.             echo "            });
  1523.             if(stadioSostituzione == 1){
  1524.                 if(confirm('";
  1525.             // line 1205
  1526.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 1205, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_conferma_spostamento_carrello", "dialog_ricerca_cliente"], "method", false, false, false, 1205), "valoreUscita", [], "any", false, false, false, 1205), "html", null, true);
  1527.             echo "')) {
  1528.                     SpostaCarrello(\$(this).data(\"identificativo\"));
  1529.                 }
  1530.             }
  1531.         });
  1532.         \$('#modalDettaglioClienteSpostaCarrelloBtn').on('click', function (event) {
  1533.            if(stadioSostituzione == 0){
  1534.                event.preventDefault();
  1535.                event.stopPropagation();
  1536.                stadioSostituzione = 1;
  1537.                \$(\"#modalCercaCliente\").modal('show');
  1538.            }
  1539.         });
  1540.         \$('#modalCreaOfferteDaCarrello_creaBtn').on(\"click\", function (event) {
  1541.             if(confirm(\"";
  1542.             // line 1221
  1543.             echo twig_escape_filter($this->env, twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["traduzione"]) || array_key_exists("traduzione", $context) ? $context["traduzione"] : (function () { throw new RuntimeError('Variable "traduzione" does not exist.', 1221, $this->source); })()), "OttieniElementoDizionario", ["dialog_ricerca_cliente_conferma_generazione_offerta", "dialog_ricerca_cliente"], "method", false, false, false, 1221), "valoreUscita", [], "any", false, false, false, 1221), "html", null, true);
  1544.             echo "\")){
  1545.                 \$(\"#creaOffertaDaCarrelloForm\").submit();
  1546.             }
  1547.         });
  1548.         aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
  1549.             let cookie = response;
  1550.             \$(\".pulisci-selezione-cliente\").hide();
  1551.             if (cookie != \"\" && cookie && cookie.length > 0){
  1552.                 let json = JSON.parse(cookie);
  1553.                 \$(\".pulisci-selezione-cliente\").show();
  1554.                 \$(\"#codiceClienteTxt\").val(json.codice);
  1555.                 \$(\"#ragioneSocialeText\").val(json.ragioneSociale);
  1556.                 \$(\"#nascondiPrzBtnDettCliente\").data('valore', json.nascondiPrezzi)
  1557.                 let tipoOrdine = json.hasOwnProperty(\"tipoOrdine\") ? json.tipoOrdine : '';
  1558.                 \$(\"#tipo-ordine-input > option\").each(function() {
  1559.                     if(\$(this).val() ==tipoOrdine){
  1560.                         \$(this).attr(\"selected\", \"selected\");
  1561.                     }else{
  1562.                         \$(this).removeAttr(\"selected\");
  1563.                     }
  1564.                 });
  1565.                 \$('#navbar-dettaglio-cliente').text(json.codice + ' - ' + json.ragioneSociale);
  1566.                 \$('#selezionaVariantiModalCliente').text('Cliente: ' + json.codice + ' - ' + json.ragioneSociale);
  1567.                 memorizzazioneAltriDatiUtente = json;
  1568.                 ";
  1569.             // line 1245
  1570.             if ((($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE"))) {
  1571.                 // line 1246
  1572.                 echo "                    VerificaStileBottoneNascondiPrezzi();
  1573.                 ";
  1574.             }
  1575.             // line 1248
  1576.             echo "                CaricaQuadratiAlbero(\"\");
  1577.             }
  1578.         });
  1579.         AggiornaStatoSelezioneCliente();
  1580.         ";
  1581.             // line 1252
  1582.             if ((($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE"))) {
  1583.                 // line 1253
  1584.                 echo "            VerificaStileBottoneNascondiPrezzi();
  1585.         ";
  1586.             }
  1587.             // line 1255
  1588.             echo "        CaricaTabellaGeneraleClienti(0);
  1589.         ";
  1590.             // line 1258
  1591.             echo "        ";
  1592.         } elseif ($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("IS_AUTHENTICATED_REMEMBERED")) {
  1593.             // line 1259
  1594.             echo "
  1595.         aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
  1596.             let cookie = response;
  1597.             \$(\".pulisci-selezione-cliente\").hide();
  1598.             if (cookie != \"\" && cookie && cookie.length > 0){
  1599.                 let json = JSON.parse(cookie);
  1600.                 \$(\".pulisci-selezione-cliente\").show();
  1601.                 \$(\"#codiceClienteTxt\").val(json.codice);
  1602.                 \$(\"#ragioneSocialeText\").val(json.ragioneSociale);
  1603.                 let tipoOrdine = json.hasOwnProperty(\"tipoOrdine\") ? json.tipoOrdine : '';
  1604.                 \$(\"#tipo-ordine-input > option\").each(function() {
  1605.                     if(\$(this).val() ==tipoOrdine){
  1606.                         \$(this).attr(\"selected\", \"selected\");
  1607.                     }else{
  1608.                         \$(this).removeAttr(\"selected\");
  1609.                     }
  1610.                 });
  1611.                 ";
  1612.             // line 1276
  1613.             if ((($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE"))) {
  1614.                 // line 1277
  1615.                 echo "                    \$('#navbar-dettaglio-cliente').text(json.codice + ' - ' + json.ragioneSociale);
  1616.                 ";
  1617.             }
  1618.             // line 1279
  1619.             echo "                \$('#selezionaVariantiModalCliente').text('Cliente: ' + json.codice + ' - ' + json.ragioneSociale);
  1620.                 \$(\"#nascondiPrzBtnDettCliente\").data('valore', json.nascondiPrezzi)
  1621.                 memorizzazioneAltriDatiUtente = json;
  1622.                 ";
  1623.             // line 1282
  1624.             if ((($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE"))) {
  1625.                 // line 1283
  1626.                 echo "                    VerificaStileBottoneNascondiPrezzi();
  1627.                 ";
  1628.             }
  1629.             // line 1285
  1630.             echo "                CaricaQuadratiAlbero(\"\");
  1631.             }
  1632.         });
  1633.         \$(\"#tipo-ordine-input\").on(\"change\", function (){
  1634.             aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
  1635.                     let datiCliente = {
  1636.                         'codice' : '',
  1637.                         'ragioneSociale': '',
  1638.                         'id' : '',
  1639.                         'tipoOrdine' : \$(\"#tipo-ordine-input\").find(\":selected\").val(),
  1640.                         'nascondiPrezzi': \$(\"#nascondiPrzBtnDettCliente\").data('valore')
  1641.                     };
  1642.                 ";
  1643.             // line 1298
  1644.             if ((($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN") || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_COMMERCIALE")) || $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_AGENTE"))) {
  1645.                 // line 1299
  1646.                 echo "                    VerificaStileBottoneNascondiPrezzi();
  1647.                 ";
  1648.             }
  1649.             // line 1301
  1650.             echo "
  1651.                     aggiornaVisualizzaAltriDatiUtente('M', JSON.stringify(datiCliente), function (response) {
  1652.                         CountArticoliCarrello();
  1653.                         location.reload(); //Ricarico la pagina
  1654.                     });
  1655.             });
  1656.         });
  1657.         ";
  1658.         }
  1659.         // line 1310
  1660.         echo "
  1661.         ";
  1662.         // line 1311
  1663.         $context['_parent'] = $context;
  1664.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, 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.', 1311, $this->source); })()), "session", [], "any", false, false, false, 1311), "flashbag", [], "any", false, false, false, 1311), "get", ["notice"], "method", false, false, false, 1311));
  1665.         foreach ($context['_seq'] as $context["_key"] => $context["flash_message"]) {
  1666.             // line 1312
  1667.             echo "            toastMessage(\"";
  1668.             echo twig_escape_filter($this->env, $context["flash_message"], "html", null, true);
  1669.             echo "\");
  1670.         ";
  1671.         }
  1672.         $_parent = $context['_parent'];
  1673.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['flash_message'], $context['_parent'], $context['loop']);
  1674.         $context = array_intersect_key($context, $_parent) + $_parent;
  1675.         // line 1314
  1676.         echo "
  1677.         ";
  1678.         // line 1315
  1679.         $context['_parent'] = $context;
  1680.         $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, 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.', 1315, $this->source); })()), "session", [], "any", false, false, false, 1315), "flashbag", [], "any", false, false, false, 1315), "get", ["error"], "method", false, false, false, 1315));
  1681.         foreach ($context['_seq'] as $context["_key"] => $context["flash_message"]) {
  1682.             // line 1316
  1683.             echo "            toastMessage(\"";
  1684.             echo twig_escape_filter($this->env, $context["flash_message"], "html", null, true);
  1685.             echo "\", true);
  1686.         ";
  1687.         }
  1688.         $_parent = $context['_parent'];
  1689.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['flash_message'], $context['_parent'], $context['loop']);
  1690.         $context = array_intersect_key($context, $_parent) + $_parent;
  1691.         // line 1318
  1692.         echo "    });
  1693. </script>
  1694. ";
  1695.         // line 1322
  1696.         $this->displayBlock('javascript', $context, $blocks);
  1697.         // line 1323
  1698.         echo "
  1699. <div class=\"pushContent\"></div>
  1700. </body>
  1701. ";
  1702.         // line 1328
  1703.         if ((twig_get_attribute($this->env, $this->source, 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.', 1328, $this->source); })()), "request", [], "any", false, false, false, 1328), "get", ["_route"], "method", false, false, false, 1328) != "admin_pagine_e_componenti_editor")) {
  1704.             // line 1329
  1705.             echo "    ";
  1706.             if ((twig_get_attribute($this->env, $this->source, (isset($context["impostazioni"]) || array_key_exists("impostazioni", $context) ? $context["impostazioni"] : (function () { throw new RuntimeError('Variable "impostazioni" does not exist.', 1329, $this->source); })()), "ritornaImpostazioneDaNome", ["MostraFooterSviluppatoDa"], "method", false, false, false, 1329) == "1")) {
  1707.                 // line 1330
  1708.                 echo "        <footer class=\"navbar navbar-default navbar-fixed-bottom\">
  1709.             <div style=\"margin-top: 15px;\" class=\"container\">
  1710.                 <span style=\"vertical-align: middle;\"><a href=\"http://www.fogazzimirko.it\">Sviluppato da Fogazzi Mirko © ";
  1711.                 // line 1332
  1712.                 echo twig_escape_filter($this->env, twig_date_format_filter($this->env, "now", "Y"), "html", null, true);
  1713.                 $this->displayBlock('footer', $context, $blocks);
  1714.                 echo "</a></span>
  1715.             </div>
  1716.         </footer>
  1717.     ";
  1718.             }
  1719.         }
  1720.         // line 1337
  1721.         echo "
  1722. </html>
  1723. ";
  1724.         
  1725.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1726.         
  1727.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1728.     }
  1729.     // line 17
  1730.     public function block_title($context, array $blocks = [])
  1731.     {
  1732.         $macros = $this->macros;
  1733.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1734.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
  1735.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1736.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
  1737.         echo twig_get_attribute($this->env, $this->source, (isset($context["impostazioni"]) || array_key_exists("impostazioni", $context) ? $context["impostazioni"] : (function () { throw new RuntimeError('Variable "impostazioni" does not exist.', 17, $this->source); })()), "ritornaImpostazioneDaNome", ["TitleGenerico"], "method", false, false, false, 17);
  1738.         
  1739.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1740.         
  1741.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1742.     }
  1743.     // line 198
  1744.     public function block_head($context, array $blocks = [])
  1745.     {
  1746.         $macros = $this->macros;
  1747.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1748.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "head"));
  1749.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1750.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "head"));
  1751.         
  1752.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1753.         
  1754.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1755.     }
  1756.     // line 199
  1757.     public function block_stylesheet($context, array $blocks = [])
  1758.     {
  1759.         $macros = $this->macros;
  1760.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1761.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
  1762.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1763.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheet"));
  1764.         
  1765.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1766.         
  1767.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1768.     }
  1769.     // line 201
  1770.     public function block_altri_nav($context, array $blocks = [])
  1771.     {
  1772.         $macros = $this->macros;
  1773.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1774.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "altri_nav"));
  1775.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1776.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "altri_nav"));
  1777.         
  1778.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1779.         
  1780.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1781.     }
  1782.     // line 530
  1783.     public function block_body($context, array $blocks = [])
  1784.     {
  1785.         $macros = $this->macros;
  1786.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1787.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body"));
  1788.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1789.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body"));
  1790.         
  1791.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1792.         
  1793.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1794.     }
  1795.     // line 1322
  1796.     public function block_javascript($context, array $blocks = [])
  1797.     {
  1798.         $macros = $this->macros;
  1799.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1800.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascript"));
  1801.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1802.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascript"));
  1803.         
  1804.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1805.         
  1806.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1807.     }
  1808.     // line 1332
  1809.     public function block_footer($context, array $blocks = [])
  1810.     {
  1811.         $macros = $this->macros;
  1812.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  1813.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "footer"));
  1814.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  1815.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "footer"));
  1816.         
  1817.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1818.         
  1819.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1820.     }
  1821.     public function getTemplateName()
  1822.     {
  1823.         return "base.html.twig";
  1824.     }
  1825.     public function isTraitable()
  1826.     {
  1827.         return false;
  1828.     }
  1829.     public function getDebugInfo()
  1830.     {
  1831.         return array (  1972 => 1332,  1954 => 1322,  1936 => 530,  1918 => 201,  1900 => 199,  1882 => 198,  1863 => 17,  1851 => 1337,  1842 => 1332,  1838 => 1330,  1835 => 1329,  1833 => 1328,  1826 => 1323,  1824 => 1322,  1818 => 1318,  1809 => 1316,  1805 => 1315,  1802 => 1314,  1793 => 1312,  1789 => 1311,  1786 => 1310,  1775 => 1301,  1771 => 1299,  1769 => 1298,  1754 => 1285,  1750 => 1283,  1748 => 1282,  1743 => 1279,  1739 => 1277,  1737 => 1276,  1718 => 1259,  1715 => 1258,  1711 => 1255,  1707 => 1253,  1705 => 1252,  1699 => 1248,  1695 => 1246,  1693 => 1245,  1666 => 1221,  1647 => 1205,  1642 => 1202,  1638 => 1200,  1636 => 1199,  1607 => 1172,  1603 => 1170,  1601 => 1169,  1577 => 1147,  1575 => 1146,  1564 => 1137,  1561 => 1136,  1552 => 1134,  1547 => 1133,  1545 => 1132,  1450 => 1044,  1441 => 1037,  1418 => 1017,  1254 => 855,  1252 => 854,  1249 => 853,  1226 => 832,  1224 => 831,  1211 => 820,  1178 => 789,  1134 => 747,  1132 => 746,  966 => 582,  958 => 575,  956 => 574,  953 => 572,  943 => 563,  938 => 560,  930 => 555,  924 => 552,  919 => 550,  915 => 549,  909 => 546,  905 => 545,  895 => 538,  889 => 535,  883 => 531,  881 => 530,  875 => 526,  866 => 520,  852 => 509,  847 => 507,  842 => 505,  837 => 503,  832 => 501,  827 => 499,  821 => 496,  816 => 494,  811 => 492,  798 => 482,  787 => 474,  776 => 466,  765 => 458,  757 => 452,  755 => 451,  742 => 441,  738 => 440,  719 => 424,  715 => 423,  706 => 416,  696 => 409,  687 => 403,  679 => 398,  672 => 394,  665 => 390,  660 => 388,  653 => 384,  638 => 372,  617 => 362,  612 => 360,  608 => 359,  604 => 358,  593 => 349,  589 => 347,  586 => 346,  583 => 345,  560 => 343,  542 => 342,  540 => 341,  535 => 339,  527 => 337,  525 => 336,  521 => 335,  517 => 334,  513 => 333,  509 => 332,  500 => 325,  498 => 324,  494 => 322,  482 => 313,  478 => 312,  470 => 306,  468 => 305,  426 => 265,  417 => 259,  413 => 258,  404 => 252,  396 => 247,  388 => 242,  381 => 238,  374 => 234,  366 => 229,  359 => 224,  357 => 223,  354 => 222,  348 => 220,  346 => 219,  343 => 218,  339 => 216,  337 => 215,  328 => 208,  324 => 206,  320 => 205,  316 => 204,  312 => 202,  310 => 201,  307 => 200,  304 => 199,  302 => 198,  233 => 131,  219 => 119,  217 => 118,  143 => 47,  135 => 42,  131 => 41,  123 => 35,  118 => 32,  116 => 31,  114 => 30,  109 => 28,  106 => 27,  101 => 24,  96 => 22,  91 => 20,  87 => 19,  82 => 17,  77 => 15,  72 => 13,  68 => 12,  63 => 10,  54 => 4,  50 => 2,);
  1832.     }
  1833.     public function getSourceContext()
  1834.     {
  1835.         return new Source("{% trans_default_domain \"top_bar\" %}
  1836. <!DOCTYPE html>
  1837. <html lang=\"{{ app.request.getLocale() }}\">
  1838. <head>
  1839.     <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
  1840.     <meta name=\"author\" content=\"Fogazzi Mirko\" />
  1841.     <meta name=\"copyright\" content=\"Fogazzi Mirko\" />
  1842.     {{ include('seo_metatag.html.twig') }}
  1843.     {{ impostazioni.ritornaImpostazioneDaNome(\"HeaderGeneraleTuttePagine\")|raw }}
  1844.     {{ traduzione.CaricaTraduzioniDaFamiglie([\"agenti_dialog_principale\", \"dialog_ricerca_cliente\", \"agenti_crea_offerta_da_carrello_dialog\"], app.request.locale) }}
  1845.     {{ include('ZZ_front_end/stili_base.html.twig') }}
  1846.     <title>{% block title %}{{ impostazioni.ritornaImpostazioneDaNome(\"TitleGenerico\")|raw }}{% endblock %}</title>
  1847.     <link rel=\"stylesheet\" href=\"{{ asset('css/sm-core-css.css') }}\">
  1848.     <link rel=\"stylesheet\" href=\"{{ asset('css/simple-sidebar.css') }}\">
  1849.     <!-- Bootstrap core CSS -->
  1850.     <link href=\"{{ asset('css/bootstrap.min.css') }}\" rel=\"stylesheet\">
  1851.     <link href=\"//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css\" rel=\"stylesheet\">
  1852.     <link href=\"{{ asset('css/dropdown-css-style.css') }}\" rel=\"stylesheet\">
  1853.     {#  <link href=\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css\">  #}
  1854.     <link href=\"{{ asset('java_lib/jquery-ui-1.12.0/jquery-ui.min.css') }}\" rel=\"stylesheet\">
  1855.     {% if is_granted('ROLE_ADMIN') or app.user or is_granted('ROLE_AGENTE') or is_granted('ROLE_COMMERCIALE') or is_granted(\"ROLE_FORNITORE\") %}
  1856.         {#<link href=\"https://unpkg.com/tabulator-tables@4.2.7/dist/css/tabulator.min.css\" rel=\"stylesheet\">#}
  1857.         <link href=\"https://unpkg.com/tabulator-tables@5.2.3/dist/css/tabulator.min.css\" rel=\"stylesheet\">
  1858.         <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.css\" integrity=\"sha256-aa0xaJgmK/X74WM224KMQeNQC2xYKwlAt08oZqjeF0E=\" crossorigin=\"anonymous\" />
  1859.     {% endif %}
  1860.     <!-- FONT AWSOME -->
  1861.     <link href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css\" rel=\"stylesheet\">
  1862.     <!-- SLICK CAROUSEL -->
  1863.     <link rel=\"stylesheet\" type=\"text/css\" href=\"{{ asset('java_lib/slick-1.8.1/slick/slick.css') }}\"/>
  1864.     <link rel=\"stylesheet\" type=\"text/css\" href=\"{{ asset('java_lib/slick-1.8.1/slick/slick-theme.css') }}\"/>
  1865.     <!-- TINY SLIDER -->
  1866.     <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.2/tiny-slider.css\">
  1867.     <!-- CORE NAV -->
  1868.     <link rel=\"stylesheet\" type=\"text/css\" href=\"{{ asset('java_lib/custom_mf_sidebar/mf_sidebar.css') }}\" />
  1869.     <style type=\"text/css\">
  1870.         #modalZoomImg * {box-sizing: border-box;}
  1871.         div#modalDettaglioCliente.modal.fade.in{
  1872.             visibility: visible;
  1873.         }
  1874.         div#modalDettaglioCliente.modal.fade{
  1875.             display: block;
  1876.             visibility: hidden;
  1877.         }
  1878.         .tb-numeri-tranne-1 td:not(:first-child), .tb-numeri-tranne-1 th:not(:first-child){
  1879.             text-align: right;
  1880.         }
  1881.         .tb-numeri-tranne-2 td:not(:first-child):not(:nth-child(2)), .tb-numeri-tranne-1 th:not(:first-child):not(:nth-child(2)){
  1882.             text-align: right;
  1883.         }
  1884.         .bottone-risorse-articoli{
  1885.             position: absolute;
  1886.             border: solid 1px green;
  1887.             border-radius: 10px;
  1888.             padding: 5px;
  1889.             float: right;
  1890.             width: 40px;
  1891.             z-index: 99;
  1892.             cursor: pointer;
  1893.             background: white;
  1894.             top: 0px;
  1895.             right: 0px;
  1896.             height: 40px;
  1897.         }
  1898.         .bottone-risorse-articoli img{
  1899.             height: 100%;
  1900.             width: 100%;
  1901.             /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&1+0,0+100;White+to+Transparent */
  1902.             background: transparent;
  1903.         }
  1904.         .img-zoom-container {
  1905.             position: relative;
  1906.         }
  1907.         .centra-flex-tutto{
  1908.             display: flex;
  1909.             flex-direction: row;
  1910.             align-content: center;
  1911.             align-items: center;
  1912.             justify-content: center;
  1913.         }
  1914.         .img-zoom-lens {
  1915.             position: absolute;
  1916.             border: 1px solid #d4d4d4;
  1917.             /*set the size of the lens:*/
  1918.             width: 250px;
  1919.             height: 250px;
  1920.         }
  1921.         .img-zoom-result {
  1922.             border: 1px solid #d4d4d4;
  1923.             /*set the size of the result div:*/
  1924.             width: 300px;
  1925.             height: 300px;
  1926.         }
  1927.         {% if impostazioni.ritornaImpostazioneDaNome('NascondiFrecceSuGiuInInputNumber') == '1' %}
  1928.         /* Chrome, Safari, Edge, Opera */
  1929.         input::-webkit-outer-spin-button,
  1930.         input::-webkit-inner-spin-button {
  1931.             -webkit-appearance: none;
  1932.             margin: 0;
  1933.         }
  1934.         /* Firefox */
  1935.         input[type=number] {
  1936.             -moz-appearance: textfield;
  1937.         }
  1938.         {% endif %}
  1939.         /* The snackbar - position it at the bottom and in the middle of the screen */
  1940.         #snackbar {
  1941.             visibility: hidden; /* Hidden by default. Visible on click */
  1942.             min-width: 350px; /* Set a default minimum width */
  1943.             margin-left: -125px; /* Divide value of min-width by 2 */
  1944.             background-color: #333; /* Black background color */
  1945.             color: #fff; /* White text color */
  1946.             text-align: center; /* Centered text */
  1947.             border-radius: 2px; /* Rounded borders */
  1948.             padding: 16px; /* Padding */
  1949.             position: fixed; /* Sit on top of the screen */
  1950.             z-index: 1; /* Add a z-index if needed */
  1951.             left: 50%; /* Center the snackbar */
  1952.             bottom: 80px; /* 30px from the bottom */
  1953.             font-size: 15pt;
  1954.         }
  1955.         .attiva-tiny-slider{
  1956.             display: none;
  1957.         }
  1958.         .attiva-slick{
  1959.             display: none;
  1960.         }
  1961.         #bodyTabellaRicercaCliente tr:hover{
  1962.             background-color: yellow;
  1963.             cursor: pointer;
  1964.         }
  1965.         .cercaCliente:hover{
  1966.             cursor: pointer;
  1967.         }
  1968.         .modal { overflow: auto !important; }
  1969.         /* Show the snackbar when clicking on a button (class added with JavaScript) */
  1970.         #snackbar.show {
  1971.             visibility: visible; /* Show the snackbar */
  1972.             /* Add animation: Take 0.5 seconds to fade in and out the snackbar.
  1973.             However, delay the fade out process for 2.5 seconds */
  1974.             -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
  1975.             animation: fadein 0.5s, fadeout 0.5s 2.5s;
  1976.         }
  1977.         /* Animations to fade the snackbar in and out */
  1978.         @-webkit-keyframes fadein {
  1979.             from {bottom: 0; opacity: 0;}
  1980.             to {bottom: 80px; opacity: 1;}
  1981.         }
  1982.         @keyframes fadein {
  1983.             from {bottom: 0; opacity: 0;}
  1984.             to {bottom: 80px; opacity: 1;}
  1985.         }
  1986.         @-webkit-keyframes fadeout {
  1987.             from {bottom: 80px; opacity: 1;}
  1988.             to {bottom: 0; opacity: 0;}
  1989.         }
  1990.         @keyframes fadeout {
  1991.             from {bottom: 80px; opacity: 1;}
  1992.             to {bottom: 0; opacity: 0;}
  1993.         }
  1994.     </style>
  1995.     {% block head %}{% endblock %}
  1996.     {% block stylesheet %}{% endblock %}
  1997.     {% block altri_nav %}{% endblock %}
  1998.     <!-- jQuery Core -->
  1999.     <script type=\"text/javascript\" src=\"{{ asset('java_lib/jquery-2.2.4.min.js') }}\"></script>
  2000.     <script type=\"text/javascript\" src=\"{{ asset('java_lib/jquery-ui-1.12.0/jquery-ui.min.js') }}\"></script>
  2001.     <script type=\"text/javascript\" src=\"{{ asset('java_lib/bootstrap.min.js') }}\"></script>
  2002.     {#  <script type=\"text/javascript\" src=\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.bundle.min.js\"></script> #}
  2003. </head>
  2004. <body>
  2005. <div id=\"snackbar\"></div>
  2006. <div class=\"loading\" id=\"loadingMaster\">Loading&#8230;</div>
  2007. {% if app.request.get(\"_route\") == 'admin_pagine_e_componenti_editor' %}
  2008.     {% set mostraTopBar = 0 %}
  2009. {% endif %}
  2010. {% if (mostraTopBar is defined and mostraTopBar == 1) or mostraTopBar is not defined %}
  2011.     {{ include('ZZ_front_end/top_bar/top_bar.html.twig') }}
  2012. {% endif %}
  2013. {% if app.request.get(\"_route\") == 'home_shop' %}
  2014.     <div class=\"modal fade\" role=\"dialog\" tabindex=\"-1\" style=\"z-index: 999999;\" id=\"modal-cerca-filtro-avanzato-dialog\">
  2015.         <div class=\"modal-dialog\" role=\"document\">
  2016.             <div class=\"modal-content\">
  2017.                 <div class=\"modal-header\">
  2018.                     <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  2019.                     <h4 class=\"modal-title\">{{ traduzione.OttieniElementoDizionario(\"top_bar_filtro_avanzato_title\", \"top_bar\").valoreUscita }}</h4>
  2020.                 </div>
  2021.                 <div class=\"modal-body\">
  2022.                     <form id=\"form-filtro-avanzato\">
  2023.                         <div class=\"form-group\">
  2024.                             <label for=\"filtro-avanzato-codice\">{{ traduzione.OttieniElementoDizionario(\"top_bar_filtro_avanzato_codice_label\", \"top_bar\").valoreUscita }}</label>
  2025.                             <input type=\"text\" class=\"form-control\" name=\"articolo.codice\" id=\"filtro-avanzato-codice\">
  2026.                         </div>
  2027.                         <div class=\"form-group\">
  2028.                             <label for=\"filtro-avanzato-nome\">{{ traduzione.OttieniElementoDizionario(\"top_bar_filtro_avanzato_descrizione_label\", \"top_bar\").valoreUscita }}</label>
  2029.                             <input type=\"text\" class=\"form-control\" name=\"articolo.nome\" id=\"filtro-avanzato-nome\">
  2030.                         </div>
  2031.                         <div class=\"form-group\">
  2032.                             <label for=\"filtro-avanzato-marca\">{{ traduzione.OttieniElementoDizionario(\"top_bar_filtro_avanzato_marca_label\", \"top_bar\").valoreUscita }}</label>
  2033.                             <input type=\"text\" class=\"form-control\" name=\"mappa.marca\" id=\"filtro-avanzato-marca\">
  2034.                         </div>
  2035.                         <div class=\"checkbox\">
  2036.                             <label>
  2037.                                 <input type=\"checkbox\" name=\"filtro-avanzato-solo-disponibile\"> {{ traduzione.OttieniElementoDizionario(\"top_bar_filtro_avanzato_mostra_solo_disponibili\", \"top_bar\").valoreUscita }}
  2038.                             </label>
  2039.                         </div>
  2040.                         <div class=\"checkbox\">
  2041.                             <label>
  2042.                                 <input type=\"checkbox\" name=\"filtro-avanzato-cerca-solo-in-categorie-selezionate\"> {{ traduzione.OttieniElementoDizionario(\"top_bar_filtro_avanzato_cerca_solo_in_albero_categorie_corrente\", \"top_bar\").valoreUscita }}
  2043.                             </label>
  2044.                         </div>
  2045.                     </form>
  2046.                 </div>
  2047.                 <div class=\"modal-footer\">
  2048.                     <button type=\"button\" onclick=\"ResetRicerca();\" class=\"btn btn-danger\" data-dismiss=\"modal\">{{ traduzione.OttieniElementoDizionario(\"top_bar_filtro_avanzato_reset_btn\", \"top_bar\").valoreUscita }}</button>
  2049.                     <button type=\"button\" onclick=\"\$('#form-filtro-avanzato').submit();\" class=\"btn btn-primary\" data-dismiss=\"modal\">{{ traduzione.OttieniElementoDizionario(\"top_bar_filtro_avanzato_applica_btn\", \"top_bar\").valoreUscita }}</button>
  2050.                 </div>
  2051.             </div><!-- /.modal-content -->
  2052.         </div><!-- /.modal-dialog -->
  2053.     </div><!-- /.modal -->
  2054. {% endif %}
  2055. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalZoomImg\" style=\"z-index: 9999;\">
  2056.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  2057.         <div class=\"modal-content panel-warning\">
  2058.             <div class=\"modal-body\" style=\"overflow-y: auto;\">
  2059.                 <div class=\"col-md-12 nascondiStampa\">
  2060.                     <div class=\"img-zoom-container\">
  2061.                         <div class=\"col-md-6 col-xs-12\">
  2062.                             <img id=\"zoomImgImg\" src=\"\" style=\"max-height: 90vh; width: auto;\">
  2063.                         </div>
  2064.                         <div class=\"col-md-6 col-xs-12\" style=\"max-height: 90vh;\">
  2065.                             <div id=\"zoomImgResult\" class=\"img-zoom-result\" style=\"width: 100%; height: 90vh;\"></div>
  2066.                         </div>
  2067.                     </div>
  2068.                 </div>
  2069.             </div>
  2070.             <div class=\"modal-footer\">
  2071.                 <button type=\"button\" class=\"btn btn-danger\" data-dismiss=\"modal\">Chiudi</button>
  2072.             </div>
  2073.         </div><!-- /.modal-content -->
  2074.     </div><!-- /.modal-dialog -->
  2075. </div><!-- /.modal -->
  2076. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"risorseCatArtDialog\" style=\"z-index: 99999;\">
  2077.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  2078.         <div class=\"modal-content panel-warning\">
  2079.             <div class=\"modal-header\">
  2080.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  2081.                 <h4 class=\"modal-title\">Risorse</h4>
  2082.             </div>
  2083.             <div class=\"modal-body\" id=\"risorseCatArtDialog-body\" style=\"overflow-y: auto;\">
  2084.             </div>
  2085.             <div class=\"modal-footer\">
  2086.                 <button type=\"button\" class=\"btn btn-danger\" data-dismiss=\"modal\">Chiudi</button>
  2087.             </div>
  2088.         </div><!-- /.modal-content -->
  2089.     </div><!-- /.modal-dialog -->
  2090. </div><!-- /.modal -->
  2091. {% if not is_granted('ROLE_ADMIN') or is_granted('ROLE_AGENTE') or is_granted('ROLE_COMMERCIALE') %}
  2092. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalDettaglioClienteLoggato\">
  2093.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  2094.         <div class=\"modal-content panel-warning\">
  2095.             <div class=\"modal-header\">
  2096.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  2097.                 <h4 class=\"modal-title\" id=\"modalTitleDettaglioClienteLoggato\">
  2098.                     <button class=\"btn btn-danger\" style=\"margin-right: 10px;\" data-dismiss=\"modal\" aria-label=\"Close\">{{ traduzione.OttieniElementoDizionario(\"agenti_dialog_principale_indietro_btn\", \"agenti_dialog_principale\").valoreUscita }}</button>
  2099.                     {{ traduzione.OttieniElementoDizionario(\"agenti_dialog_principale_dettaglio_cliente\", \"agenti_dialog_principale\").valoreUscita }} <span id=\"modalDettaglioClienteLoggato-title2\" style=\"color:red;\"></span>
  2100.                 </h4>
  2101.             </div>
  2102.             <div class=\"modal-body\" id=\"modalDettaglioClienteLoggato-body\" style=\"overflow-y: auto;\">
  2103.             </div>
  2104.         </div>
  2105.     </div>
  2106. </div>
  2107. {% endif %}
  2108. {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_AGENTE') or is_granted('ROLE_COMMERCIALE') %}
  2109. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalDettaglioCliente\">
  2110.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  2111.         <div class=\"modal-content panel-warning\">
  2112.             <div class=\"modal-header\">
  2113.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  2114.                 <h4 class=\"modal-title\" id=\"modalTitleDettaglioCliente\">
  2115.                     <button class=\"btn btn-danger\" style=\"margin-right: 10px;\" data-dismiss=\"modal\" aria-label=\"Close\">{{ traduzione.OttieniElementoDizionario(\"agenti_dialog_principale_indietro_btn\", \"agenti_dialog_principale\").valoreUscita }}</button>
  2116.                     {{ traduzione.OttieniElementoDizionario(\"agenti_dialog_principale_dettaglio_cliente\", \"agenti_dialog_principale\").valoreUscita }} <span id=\"modalDettaglioCliente-title2\" style=\"color:red;\"></span>
  2117.                     <button href=\"\" style=\"float:right; margin-right: 20px;\" id=\"modalDettaglioClienteCreaOffertaDaCarrelloBtn\" data-toggle=\"modal\" data-target=\"#modalCreaOffertaDaCarrello\" class=\"btn btn-sm btn-primary\">{{ traduzione.OttieniElementoDizionario(\"agenti_dialog_principale_crea_offerta_da_carrello_btn\", \"agenti_dialog_principale\").valoreUscita }}</button>
  2118.                     <button href=\"\" style=\"float: right; margin-right: 20px;\" id=\"modalDettaglioClienteSpostaCarrelloBtn\" class=\"btn btn-sm btn-warning\">{{ traduzione.OttieniElementoDizionario(\"agenti_dialog_principale_sposta_carrello_btn\", \"agenti_dialog_principale\").valoreUscita }}</button>
  2119.                     {% set attivaTipoOrdine = impostazioni.ritornaImpostazioneDaNome(\"AbilitaTipoOrdine\") %}
  2120.                     <div class=\"form-inline\" style=\"float:right; margin-right:20px;{% if attivaTipoOrdine != '1' %}display:none;{% endif %}\">
  2121.                         <div class=\"form-group\">
  2122.                             <label for=\"tipo-ordine-input\">{{ traduzione.OttieniElementoDizionario(\"agenti_dialog_principale_tipo_ordine\", \"agenti_dialog_principale\").valoreUscita }}</label>
  2123.                             <select id=\"tipo-ordine-input\" class=\"form-control\" style=\"width:auto;\">
  2124.                                 {% if attivaTipoOrdine == '1' %}
  2125.                                     {% for tipoOrdine in servizi.RitornaTipiOrdine() %}
  2126.                                         <option {% if loop.first %} selected=\"selected\"{% endif %} value=\"{{ tipoOrdine.id|default(\"\") }}\">{{ tipoOrdine.testoVisualizzato|default(\"\") }}</option>
  2127.                                     {% endfor %}
  2128.                                 {% endif %}
  2129.                                 {% if servizi.RitornaTipiOrdine()|length <= 0 or attivaTipoOrdine == '0' %}
  2130.                                     <option value=\"\"></option>
  2131.                                 {% endif %}
  2132.                             </select>
  2133.                         </div>
  2134.                     </div>
  2135.                 </h4>
  2136.             </div>
  2137.             <div class=\"modal-body\" style=\"overflow-y: auto;\">
  2138.                 <div class=\"col-md-12 nascondiStampa\">
  2139.                     <div class=\"form-inline center\">
  2140.                         <div class=\"input-group\" style=\"width: 100%;\">
  2141.                             <span style=\"font-weight: bold;width: 10%;min-width: 200px;\" class=\"input-group-addon cercaCliente\" id=\"basic-addon1\">{{ traduzione.OttieniElementoDizionario(\"agenti_dialog_principale_seleziona_cliente\", \"agenti_dialog_principale\").valoreUscita }}</span>
  2142.                             <input type=\"text\" style=\"width: 10%;min-width: 150px;\" class=\"form-control cercaCliente\" id=\"codiceClienteTxt\" readonly placeholder=\"{{ traduzione.OttieniElementoDizionario(\"agenti_dialog_principale_cliente_codice\", \"agenti_dialog_principale\").valoreUscita }}\">
  2143.                             <input type=\"text\" style=\"width: 60%;\" class=\"form-control cercaCliente\" id=\"ragioneSocialeText\" readonly placeholder=\"{{ traduzione.OttieniElementoDizionario(\"agenti_dialog_principale_cliente_ragione_sociale\", \"agenti_dialog_principale\").valoreUscita }}\">
  2144.                             <button class=\"btn btn-small btn-danger pulisci-selezione-cliente\" style=\"margin-left: 10px;\" onclick=\"PulisciSelezioneCliente();\"><i class=\"fa fa-trash\" aria-hidden=\"true\"></i></button>
  2145.                             <button class=\"btn btn-default\" data-valore=\"{% if servizi.RitornaAltriDatiUtente() and servizi.RitornaAltriDatiUtente().nascondiPrezzi %}1{% else %}0{% endif %}\" id=\"nascondiPrzBtnDettCliente\" onclick=\"VariaStatoBottoneNascondiPrezzi();\" style=\"margin-left: 10px;{% if impostazioni.ritornaImpostazioneDaNome('MostraPulsanteNascondiPrezzi') != '1' %}display:none;{% endif %}\">Nascondi prezzi</button>
  2146.                         </div>
  2147.                     </div>
  2148.                     <hr>
  2149.                     <div class=\"moda-dettaglio-cliente-body\">
  2150.                     </div>
  2151.                 </div>
  2152.             </div>
  2153.             <div class=\"modal-footer\">
  2154.                 <button type=\"button\" class=\"btn btn-danger\" data-dismiss=\"modal\">{{ traduzione.OttieniElementoDizionario(\"agenti_dialog_principale_chiudi_btn\", \"agenti_dialog_principale\").valoreUscita }}</button>
  2155.             </div>
  2156.         </div><!-- /.modal-content -->
  2157.     </div><!-- /.modal-dialog -->
  2158. </div><!-- /.modal -->
  2159. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalCreaOffertaDaCarrello\">
  2160.     <div class=\"modal-dialog panel-warning\" role=\"document\">
  2161.         <div class=\"modal-content panel-warning\">
  2162.             <div class=\"modal-header\">
  2163.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  2164.                 <h4 class=\"modal-title\">
  2165.                     {{ traduzione.OttieniElementoDizionario(\"agenti_dialog_principale_crea_offerta_da_carrello_btn\", \"agenti_dialog_principale\").valoreUscita }}
  2166.                 </h4>
  2167.             </div>
  2168.             <div class=\"modal-body\" id=\"modalCreaOffertaDaCarrelloBody\" style=\"overflow-y: auto;\">
  2169.                 <form id=\"creaOffertaDaCarrelloForm\" action=\"{{ path('offerte_crea_da_carrello') }}\">
  2170.                     <div class=\"form-group\">
  2171.                         <label for=\"modal-crea-offerta-carrello-note\">{{ traduzione.OttieniElementoDizionario(\"agenti_crea_offerta_da_carrello_dialog_note\", \"agenti_crea_offerta_da_carrello_dialog\").valoreUscita }}</label>
  2172.                         <textarea class=\"form-control\" id=\"modal-crea-offerta-carrello-note\" name=\"modal-crea-offerta-carrello-note\"></textarea>
  2173.                     </div>
  2174.                     <div class=\"form-group\">
  2175.                         <label for=\"modal-crea-offerta-carrello-note-aziendali\">{{ traduzione.OttieniElementoDizionario(\"agenti_crea_offerta_da_carrello_dialog_note_aziendali\", \"agenti_crea_offerta_da_carrello_dialog\").valoreUscita }}</label>
  2176.                         <textarea class=\"form-control\" id=\"modal-crea-offerta-carrello-note\" name=\"modal-crea-offerta-carrello-note-aziendali\"></textarea>
  2177.                     </div>
  2178.                     <div class=\"form-group\">
  2179.                         <label for=\"modal-crea-offerta-carrello-riferimento-offerta\">{{ traduzione.OttieniElementoDizionario(\"agenti_crea_offerta_da_carrello_dialog_note_riferimento_offerta\", \"agenti_crea_offerta_da_carrello_dialog\").valoreUscita }}</label>
  2180.                         <input type=\"text\" class=\"form-control\" id=\"modal-crea-offerta-carrello-riferimento-offerta\" name=\"modal-crea-offerta-carrello-riferimento-offerta\">
  2181.                     </div>
  2182.                     <div class=\"checkbox\">
  2183.                         <label>
  2184.                             <input type=\"checkbox\" id=\"modal-crea-offerta-carrello-invia-mail\" name=\"modal-crea-offerta-carrello-invia-mail\" checked=\"checked\">{{ traduzione.OttieniElementoDizionario(\"agenti_crea_offerta_da_carrello_dialog_invia_offerta_mail_checkbox\", \"agenti_crea_offerta_da_carrello_dialog\").valoreUscita }}
  2185.                         </label>
  2186.                     </div>
  2187.                 </form>
  2188.             </div>
  2189.             <div class=\"modal-footer\">
  2190.                 <button href=\"\" style=\"float:right; margin-right: 20px;\" id=\"modalCreaOfferteDaCarrello_creaBtn\" class=\"btn btn-sm btn-success\">{{ traduzione.OttieniElementoDizionario(\"agenti_dialog_principale_crea_offerta_da_carrello_btn\", \"agenti_dialog_principale\").valoreUscita }}</button>
  2191.             </div>
  2192.         </div><!-- /.modal-content -->
  2193.     </div><!-- /.modal-dialog -->
  2194. </div><!-- /.modal -->
  2195. {% endif %}
  2196. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalRichiestaPrezzo\">
  2197.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  2198.         <div class=\"modal-content panel-warning\">
  2199.             <div class=\"modal-header\">
  2200.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  2201.                 <h4 class=\"modal-title\">
  2202.                     {{ traduzione.CaricaTraduzioniDaFamiglia(\"richiesta_prezzo\", app.request.locale, false) }}
  2203.                     {{ traduzione.OttieniElementoDizionario(\"richiesta_prezzo_title\", \"richiesta_prezzo\").valoreUscita }}
  2204.                 </h4>
  2205.             </div>
  2206.             <div class=\"modal-body\" id=\"modalRichiestaPrezzoBody\" style=\"overflow-y: auto;\">
  2207.             </div>
  2208.         </div><!-- /.modal-content -->
  2209.     </div><!-- /.modal-dialog -->
  2210. </div><!-- /.modal -->
  2211. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalMagazziniSecondari\">
  2212.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  2213.         <div class=\"modal-content panel-warning\">
  2214.             <div class=\"modal-header\">
  2215.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  2216.                 <h4 class=\"modal-title\">
  2217.                     {{ traduzione.CaricaTraduzioniDaFamiglia(\"modal_magazzini_secondari\", app.request.locale, false) }}
  2218.                     {{ traduzione.OttieniElementoDizionario(\"modal_magazzini_secondari_title_main_modal\", \"modal_magazzini_secondari\").valoreUscita }}
  2219.                 </h4>
  2220.             </div>
  2221.             <div class=\"modal-body\" id=\"modalMagazziniSecondariBody\" style=\"overflow-y: auto;\">
  2222.             </div>
  2223.         </div><!-- /.modal-content -->
  2224.     </div><!-- /.modal-dialog -->
  2225. </div><!-- /.modal -->
  2226. {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_AGENTE') or is_granted('ROLE_COMMERCIALE') %}
  2227. <div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" id=\"modalCercaCliente\">
  2228.     <div class=\"modal-dialog panel-warning\" role=\"document\"  style=\"width: 80%;\">
  2229.         <div class=\"modal-content panel-warning\">
  2230.             <div class=\"modal-header\">
  2231.                 <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>
  2232.                 <h4 class=\"modal-title\" id=\"modalTitle\">{{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_title\", \"dialog_ricerca_cliente\").valoreUscita }}</h4>
  2233.             </div>
  2234.             <div class=\"modal-body\" style=\"overflow-y: auto;\">
  2235.                 <div class=\"col-md-12\">
  2236.                     <div class=\"col-md-4\">
  2237.                         <div class=\"form-inline center has-success\">
  2238.                             <div class=\"input-group\" style=\"width: 100%;\">
  2239.                                 <span class=\"input-group-addon\" id=\"basic-addon1\"><span class=\"glyphicon glyphicon-search\" aria-hidden=\"true\"></span></span>
  2240.                                 <input type=\"text\" class=\"form-control\" id=\"ricercaClienteTxt\" placeholder=\"{{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_inizia_a_scrivere\", \"dialog_ricerca_cliente\").valoreUscita }}\">
  2241.                             </div>
  2242.                         </div>
  2243.                     </div>
  2244.                     <div class=\"col-md-4\">
  2245.                         <div class=\"form-inline center has-success\">
  2246.                             <div class=\"input-group\" style=\"width: 100%;\">
  2247.                                 <span class=\"input-group-addon\" id=\"basic-addon1\"><span class=\"glyphicon glyphicon-search\" aria-hidden=\"true\"></span></span>
  2248.                                 <input type=\"text\" class=\"form-control\" id=\"ricercaCittaTxt\" placeholder=\"{{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_filtro_citta\", \"dialog_ricerca_cliente\").valoreUscita }}\">
  2249.                             </div>
  2250.                         </div>
  2251.                     </div>
  2252.                     <div class=\"col-md-4\">
  2253.                         <div class=\"form-inline center has-success\">
  2254.                             <div class=\"input-group\" style=\"width: 100%;\">
  2255.                                 <span class=\"input-group-addon\" id=\"basic-addon1\"><span class=\"glyphicon glyphicon-search\" aria-hidden=\"true\"></span></span>
  2256.                                 <input type=\"text\" class=\"form-control\" id=\"ricercaProvinciaTxt\" placeholder=\"{{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_filtro_provincia\", \"dialog_ricerca_cliente\").valoreUscita }}\">
  2257.                             </div>
  2258.                         </div>
  2259.                     </div>
  2260.                 </div>
  2261.                 <table class=\"table table-striped table-responsive\">
  2262.                     <thead>
  2263.                     <tr>
  2264.                         <th>
  2265.                             {{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_tab_col1_a\", \"dialog_ricerca_cliente\").valoreUscita }}
  2266.                             <br>
  2267.                             {{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_tab_col1_b\", \"dialog_ricerca_cliente\").valoreUscita }}
  2268.                             <br>
  2269.                             {{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_tab_col1_c\", \"dialog_ricerca_cliente\").valoreUscita }}
  2270.                         </th>
  2271.                         <th>
  2272.                             {{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_tab_col2_a\", \"dialog_ricerca_cliente\").valoreUscita }}
  2273.                             <br>
  2274.                             {{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_tab_col2_b\", \"dialog_ricerca_cliente\").valoreUscita }}
  2275.                             <br>
  2276.                             {{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_tab_col2_c\", \"dialog_ricerca_cliente\").valoreUscita }}
  2277.                         </th><th>
  2278.                             {{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_tab_col3_a\", \"dialog_ricerca_cliente\").valoreUscita }}
  2279.                             <br>
  2280.                             {{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_tab_col3_b\", \"dialog_ricerca_cliente\").valoreUscita }}
  2281.                             <br>
  2282.                             {{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_tab_col3_c\", \"dialog_ricerca_cliente\").valoreUscita }}
  2283.                         </th>
  2284.                     </tr>
  2285.                     </thead>
  2286.                     <tbody id=\"bodyTabellaRicercaCliente\">
  2287.                     </tbody>
  2288.                 </table>
  2289.             </div>
  2290.             <div class=\"modal-footer\">
  2291.                 <button type=\"button\" id=\"chiudiModalCercaCliente\" class=\"btn btn-danger\" data-dismiss=\"modal\">{{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_chiudi_btn\", \"dialog_ricerca_cliente\").valoreUscita }}</button>
  2292.             </div>
  2293.         </div><!-- /.modal-content -->
  2294.     </div><!-- /.modal-dialog -->
  2295. </div><!-- /.modal -->
  2296. {% endif %}
  2297. <div class=\"container-fluid contenitore_generale_body\" >
  2298.     <div class=\"row master-row-body\">
  2299.         <div class=\"col-md-12 master-col-body\">
  2300.             {% block body %}{% endblock %}
  2301.         </div>
  2302.     </div>
  2303. </div><!-- /.container -->
  2304. <script src=\"https://www.google.com/recaptcha/api.js?render={{ impostazioni.ritornaImpostazioneDaNome('ReCaptchaSiteKey') }}\"></script>
  2305. <script>
  2306.     grecaptcha.ready(function() {
  2307.         grecaptcha.execute('{{ impostazioni.ritornaImpostazioneDaNome('ReCaptchaSiteKey') }}', {action: 'homepage'}).then(function(token) {
  2308.             \$('.re-captcha-v3').val = token;
  2309.         });
  2310.     });
  2311. </script>
  2312. <!-- FOSJsRoutingBundle -->
  2313. <script src=\"{{ asset('bundles/fosjsrouting/js/router.js') }}\"></script>
  2314. <script src=\"{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}\"></script>
  2315. <!-- jQuery smartmenus plugin -->
  2316. <script src=\"{{ asset('java_lib/jquery.smartmenus.min.js') }}\"></script>
  2317. <script src=\"{{ asset('java_lib/jquery.smartmenus.bootstrap.min.js') }}\"></script>
  2318. <script src=\"{{ asset('java_lib/jquery.stickytableheaders.min.js') }}\" type=\"text/javascript\"></script>
  2319. <!-- SLICK CAROUSEL -->
  2320. <script type=\"text/javascript\" src=\"{{ asset('java_lib/slick-1.8.1/slick/slick.min.js') }}\"></script>
  2321. <!-- TINY SLIDER -->
  2322. <script src=\"https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.2/min/tiny-slider.js\"></script>
  2323. <!-- CORE NAV -->
  2324. <script type=\"text/javascript\" src=\"{{ asset('java_lib/custom_mf_sidebar/mf_sidebar.js') }}\"></script>
  2325. {#  <script type=\"text/javascript\" src=\"https://unpkg.com/tabulator-tables@4.2.7/dist/js/tabulator.min.js\"></script>#}
  2326. <script type=\"text/javascript\" src=\"https://unpkg.com/tabulator-tables@5.2.3/dist/js/tabulator.min.js\"></script>
  2327. <script src=\"https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.bundle.min.js\" integrity=\"sha256-xKeoJ50pzbUGkpQxDYHD7o7hxe0LaOGeguUidbq6vis=\" crossorigin=\"anonymous\"></script>
  2328. <script src=\"https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.js\" integrity=\"sha256-Uv9BNBucvCPipKQ2NS9wYpJmi8DTOEfTA/nH2aoJALw=\" crossorigin=\"anonymous\"></script>
  2329. <script src=\"https://cdnjs.cloudflare.com/ajax/libs/luxon/3.0.1/luxon.min.js\" integrity=\"sha512-6ZJuab/UnRq1muTChgrVxJhSgygmL2GMLVmSJN7pcBEqJ1dWPbqN9CiZ6U3HrcApTIJsLnMgXYBYgtVkJ8fWiw==\" crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\"></script>
  2330. <script type=\"text/javascript\">
  2331.     {# Variabili utile per la sostituzione del carrello #}
  2332.     let idCarrelloAttuale = '';
  2333.     let stadioSostituzione = 0; {# Quando lo stadio è 1 allora ho già in memoria i due salti #}
  2334.     {# FINE #}
  2335.     var memorizzazioneAltriDatiUtente = {}
  2336.     var lens = null;
  2337.     var img = null;
  2338.     {# Codice per zoom immagine #}
  2339.     function imageZoom(imgID, resultID) {
  2340.         if (lens != null){
  2341.             lens.removeEventListener(\"mousemove\", moveLens);
  2342.             img.removeEventListener(\"mousemove\", moveLens);
  2343.             lens.removeEventListener(\"touchmove\", moveLens);
  2344.             img.removeEventListener(\"touchmove\", moveLens);
  2345.             lens.remove();
  2346.             lens = null;
  2347.         }
  2348.         var result, cx, cy;
  2349.         img = document.getElementById(imgID);
  2350.         result = document.getElementById(resultID);
  2351.         /* Create lens: */
  2352.         lens = document.createElement(\"DIV\");
  2353.         lens.setAttribute(\"class\", \"img-zoom-lens\");
  2354.         /* Insert lens: */
  2355.         img.parentElement.insertBefore(lens, img);
  2356.         /* Calculate the ratio between result DIV and lens: */
  2357.         cx = result.offsetWidth / lens.offsetWidth;
  2358.         cy = result.offsetHeight / lens.offsetHeight;
  2359.         /* Set background properties for the result DIV */
  2360.         result.style.backgroundImage = \"url('\" + img.src + \"')\";
  2361.         result.style.backgroundSize = (img.width * cx) + \"px \" + (img.height * cy) + \"px\";
  2362.         /* Execute a function when someone moves the cursor over the image, or the lens: */
  2363.         lens.addEventListener(\"mousemove\", moveLens);
  2364.         img.addEventListener(\"mousemove\", moveLens);
  2365.         /* And also for touch screens: */
  2366.         lens.addEventListener(\"touchmove\", moveLens);
  2367.         img.addEventListener(\"touchmove\", moveLens);
  2368.         function moveLens(e) {
  2369.             var pos, x, y;
  2370.             /* Prevent any other actions that may occur when moving over the image */
  2371.             e.preventDefault();
  2372.             /* Get the cursor's x and y positions: */
  2373.             pos = getCursorPos(e);
  2374.             /* Calculate the position of the lens: */
  2375.             x = pos.x - (lens.offsetWidth / 2);
  2376.             y = pos.y - (lens.offsetHeight / 2);
  2377.             /* Prevent the lens from being positioned outside the image: */
  2378.             if (x > img.width - lens.offsetWidth) {x = img.width - lens.offsetWidth;}
  2379.             if (x < 0) {x = 0;}
  2380.             if (y > img.height - lens.offsetHeight) {y = img.height - lens.offsetHeight;}
  2381.             if (y < 0) {y = 0;}
  2382.             /* Set the position of the lens: */
  2383.             lens.style.left = x + \"px\";
  2384.             lens.style.top = y + \"px\";
  2385.             /* Display what the lens \"sees\": */
  2386.             result.style.backgroundPosition = \"-\" + (x * cx) + \"px -\" + (y * cy) + \"px\";
  2387.         }
  2388.         function getCursorPos(e) {
  2389.             var a, x = 0, y = 0;
  2390.             e = e || window.event;
  2391.             /* Get the x and y positions of the image: */
  2392.             a = img.getBoundingClientRect();
  2393.             /* Calculate the cursor's x and y coordinates, relative to the image: */
  2394.             x = e.pageX - a.left;
  2395.             y = e.pageY - a.top;
  2396.             /* Consider any page scrolling: */
  2397.             x = x - window.pageXOffset;
  2398.             y = y - window.pageYOffset;
  2399.             return {x : x, y : y};
  2400.         }
  2401.     }
  2402.     var randomRgbColor = function() {
  2403.         var r = Math.floor(Math.random() * 255);
  2404.         var g = Math.floor(Math.random() * 255);
  2405.         var b = Math.floor(Math.random() * 255);
  2406.         return \"rgb(\" + r + \",\" + g + \",\" + b + \")\";
  2407.     }
  2408.     function toastMessage(messaggio, rosso = false) {
  2409.         // Get the snackbar DIV
  2410.         var x = document.getElementById(\"snackbar\");
  2411.         \$(x).text(messaggio);
  2412.         if (rosso){
  2413.             \$(x).css('background-color', 'red');
  2414.             \$(x).css('color', 'black');
  2415.         }else{
  2416.             \$(x).css('background-color', 'black');
  2417.             \$(x).css('color', 'white');
  2418.         }
  2419.         // Add the \"show\" class to DIV
  2420.         x.className = \"show\";
  2421.         // After 3 seconds, remove the show class from DIV
  2422.         setTimeout(function(){ x.className = x.className.replace(\"show\", \"\"); }, 3000);
  2423.     }
  2424.     function ApriModalRichiestaPrezzo(idMappa){
  2425.         \$('#loadingMaster').show();
  2426.         \$.ajax({
  2427.             dataType: 'html',
  2428.             url: Routing.generate('richiesta_prezzo_modal', {'idMappa' : (idMappa) }),
  2429.             async: true, //you won't need that if nothing in your following code is dependend of the result
  2430.             success: function (response) {
  2431.                 \$('#modalRichiestaPrezzoBody').html(response);
  2432.                 \$('#modalRichiestaPrezzo').modal('toggle');
  2433.                 \$('#loadingMaster').hide();
  2434.             },
  2435.             error: function(XMLHttpRequest, textStatus, errorThrown) {
  2436.                 \$('#loadingMaster').hide();
  2437.                 alert(\"Status: \" + textStatus); alert(\"Error: \" + errorThrown);
  2438.             }
  2439.         });
  2440.     }
  2441.     function ApriModalMagazziniSecondari(idMappa, qta){
  2442.         \$('#loadingMaster').show();
  2443.         \$.ajax({
  2444.             dataType: 'html',
  2445.             url: Routing.generate('magazzini_secondari_modal', {'idMappa' : (idMappa), 'qta' : (qta) }),
  2446.             async: true, //you won't need that if nothing in your following code is dependend of the result
  2447.             success: function (response) {
  2448.                 \$('#modalMagazziniSecondariBody').html(response);
  2449.                 \$('#modalMagazziniSecondari').modal('toggle');
  2450.                 \$('#loadingMaster').hide();
  2451.             },
  2452.             error: function(XMLHttpRequest, textStatus, errorThrown) {
  2453.                 \$('#loadingMaster').hide();
  2454.                 alert(\"Status: \" + textStatus); alert(\"Error: \" + errorThrown);
  2455.             }
  2456.         });
  2457.     }
  2458.     function CountArticoliCarrello()
  2459.     {
  2460.         \$.ajax({
  2461.             type: \"POST\",
  2462.             dataType: 'html',
  2463.             url: Routing.generate('carrello_conta_articoli'),
  2464.             async: true //you won't need that if nothing in your following code is dependend of the result
  2465.         })
  2466.         .done(function (response) {
  2467.             let js = JSON.parse(response);
  2468.             idCarrelloAttuale = js.idCarrello;
  2469.             if(idCarrelloAttuale != ''){
  2470.                 \$('#modalDettaglioClienteSpostaCarrelloBtn').show();
  2471.             }else{
  2472.                 \$('#modalDettaglioClienteSpostaCarrelloBtn').hide();
  2473.             }
  2474.             if (js.count == '0')
  2475.                 \$('#badgeArticoliCarello').html(\" \");
  2476.             else
  2477.                 \$('#badgeArticoliCarello').html(js.count);
  2478.         })
  2479.         DettaglioCarrelloJson();
  2480.     }
  2481.     function DettaglioCarrelloJson()
  2482.     {
  2483.         \$.ajax({
  2484.             type: \"POST\",
  2485.             dataType: 'html',
  2486.             url: Routing.generate('carrello_dettagli_json'),
  2487.             async: true //you won't need that if nothing in your following code is dependend of the result
  2488.         })
  2489.             .done(function (response) {
  2490.                 let js = JSON.parse(response);
  2491.                 \$(\"#badgeTotaleImponibileCarrello\").html(\" - € \" + js.imponibile)
  2492.             })
  2493.     }
  2494.     {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_AGENTE') or is_granted('ROLE_COMMERCIALE') %}
  2495.     function CambioTabRisorseCategorieSelect(altezza=350) {
  2496.         let categoriaSelezionata = \$('#tab-risorse-categorie-select').find('option:selected').val();
  2497.         \$.ajax({
  2498.             type: \"POST\",
  2499.             dataType: 'json',
  2500.             data: {'tab': 'dati_da_categoria', 'categoria': (categoriaSelezionata)},
  2501.             async: true,
  2502.             url: Routing.generate('agente_dettaglio_carica_tab_anagrafica', {idAnagrafica: \$(\"#id-anagrafica-da-utilizzare\").val()}),
  2503.             success: function (response) {
  2504.                 var tableRisorseAnag = new Tabulator(\"#tabella-risorse\", {
  2505.                     height: (altezza + \"px\"),
  2506.                     data:response.data,           //load row data from array
  2507.                     layout:\"fitDataFill\",      //fit columns to width of table
  2508.                     responsiveLayout:\"collapse\",  //hide columns that dont fit on the table
  2509.                     columns: response.colonne,
  2510.                 });
  2511.                 tableRisorseAnag.on(\"rowClick\", function(e, row){
  2512.                     //e - the click event object
  2513.                     //row - row component
  2514.                     var valore = row.getCell('idRisorsa').getValue();
  2515.                     var url = Routing.generate('agente_recupera_risorsa_anagrafica') + '?idRisorsa=' + valore;
  2516.                     var win = window.open(url, '_blank');
  2517.                     win.focus();
  2518.                 });
  2519.                 if('sorting' in response){
  2520.                     let sort = [];
  2521.                     for (const [key, value] of Object.entries(response.sorting)) {
  2522.                         //value => {'field' => '', 'direction' => ''}
  2523.                         sort.push({'column': value.field, 'dir': value.direction});
  2524.                     }
  2525.                     if(sort.length > 0){
  2526.                         tableRisorseAnag.setSort(sort);
  2527.                     }
  2528.                 }
  2529.             }
  2530.         });
  2531.     }
  2532.     {% else %}
  2533.     function CambioTabRisorseCategorieSelect() {
  2534.         let categoriaSelezionata = \$('#tab-risorse-categorie-select').find('option:selected').val();
  2535.         \$.ajax({
  2536.             type: \"POST\",
  2537.             dataType: 'json',
  2538.             data: {'categoria': (categoriaSelezionata)},
  2539.             async: true,
  2540.             url: Routing.generate('storico_carica_risorse_anagrafiche'),
  2541.             success: function (response) {
  2542.                 var tableRisorseAnag = new Tabulator(\"#tabella-risorse\", {
  2543.                     height: \"350px\",
  2544.                     data:response.data,           //load row data from array
  2545.                     layout:\"fitDataFill\",      //fit columns to width of table
  2546.                     responsiveLayout:\"collapse\",  //hide columns that dont fit on the table
  2547.                     columns: response.colonne,
  2548.                 });
  2549.                 tableRisorseAnag.on(\"rowClick\", function(e, row){
  2550.                     //e - the click event object
  2551.                     //row - row component
  2552.                     var valore = row.getCell('idRisorsa').getValue();
  2553.                     var url = Routing.generate('recupera_risorsa_anagrafica') + '?idRisorsa=' + valore;
  2554.                     var win = window.open(url, '_blank');
  2555.                     win.focus();
  2556.                 });
  2557.             }
  2558.         });
  2559.     }
  2560.     {% endif %}
  2561.     function ResetRicercaFiltroAvanzato(){
  2562.         \$(\"#cerca-filtro-btn\").removeAttr(\"style\")
  2563.         filtroAvanzato = \"\";
  2564.         document.getElementById('form-filtro-avanzato').reset();
  2565.     }
  2566.     function ResetRicerca(){
  2567.         \$(\"#ricercaVeloceTxt\").val(\"\");
  2568.     }
  2569.     {% if not (is_granted(\"ROLE_ADMIN\") or is_granted(\"ROLE_COMMERCIALE\") or is_granted(\"ROLE_AGENTE\")) %}
  2570.     function ApriDettaglioClienteLoggato(){
  2571.         \$('#loadingMaster').show();
  2572.         \$.ajax({
  2573.             type: \"POST\",
  2574.             dataType: 'html',
  2575.             url: Routing.generate('utente_dettaglio_anagrafica'),
  2576.             async: true,
  2577.             success: function (response) {
  2578.                 \$('#loadingMaster').hide();
  2579.                 \$('#modalDettaglioClienteLoggato-body').html(response);
  2580.                 \$(\"#modalDettaglioClienteLoggato\").modal('toggle');
  2581.             },
  2582.             error: function (xhr, ajaxOptions, thrownError) {
  2583.                 \$('#loadingMaster').hide();
  2584.                 alert(xhr.status);
  2585.                 alert(thrownError);
  2586.             }
  2587.         });
  2588.     }
  2589.     {% endif %}
  2590.     {% if (is_granted(\"ROLE_ADMIN\") or is_granted(\"ROLE_COMMERCIALE\") or is_granted(\"ROLE_AGENTE\")) %}
  2591.     function ApriDettaglioClienteDialog(){
  2592.         aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
  2593.             let cookie = response;
  2594.             \$(\".pulisci-selezione-cliente\").hide();
  2595.             if (cookie != \"\" && cookie && cookie.length > 0){
  2596.                 let json = JSON.parse(cookie);
  2597.                 \$(\".pulisci-selezione-cliente\").show();
  2598.                 \$(\"#codiceClienteTxt\").val(json.codice);
  2599.                 \$(\"#ragioneSocialeText\").val(json.ragioneSociale);
  2600.                 let tipoOrdine = json.hasOwnProperty(\"tipoOrdine\") ? json.tipoOrdine : '';
  2601.                 \$(\"#tipo-ordine-input > option\").each(function() {
  2602.                     if(\$(this).val() ==tipoOrdine){
  2603.                         \$(this).attr(\"selected\", \"selected\");
  2604.                     } else {
  2605.                         \$(this).removeAttr(\"selected\");
  2606.                     }
  2607.                 });
  2608.                 \$('#navbar-dettaglio-cliente').text(json.codice + ' - ' + json.ragioneSociale);
  2609.                 \$('#selezionaVariantiModalCliente').text('Cliente: ' + json.codice + ' - ' + json.ragioneSociale);
  2610.                 memorizzazioneAltriDatiUtente = json;
  2611.                 CaricaDettaglioCliente(json.id);
  2612.             }
  2613.         });
  2614.         AggiornaStatoSelezioneCliente();
  2615.         \$(\"#modalDettaglioCliente\").modal('show');
  2616.     }
  2617.     function SpostaCarrello(idAnagraficaDestinazione){
  2618.         stadioSostituzione = 0;
  2619.         \$('#loadingMaster').show();
  2620.         \$.ajax({
  2621.             type: \"POST\",
  2622.             dataType: 'json',
  2623.             url: Routing.generate('agente_sposta_carrello', {
  2624.                 idCarrelloOrigine: (idCarrelloAttuale),
  2625.                 idAnagraficaDestinazione: (idAnagraficaDestinazione)
  2626.             }),
  2627.             async: true,
  2628.             success: function (response) {
  2629.                 \$('#loadingMaster').hide();
  2630.                 let js = JSON.parse(response);
  2631.                 if(js.successo == 'SI'){
  2632.                     toastMessage(js.messaggio);
  2633.                     CountArticoliCarrello();
  2634.                 }else{
  2635.                     toastMessage(js.messaggio, true);
  2636.                 }
  2637.             },
  2638.             error: function(XMLHttpRequest, textStatus, errorThrown) {
  2639.                 \$('#loadingMaster').hide();
  2640.                 alert(\"Status: \" + textStatus); alert(\"Error: \" + errorThrown);
  2641.             }
  2642.         });
  2643.     }
  2644.     function CaricaTabellaGeneraleClienti(rigaInizio) {
  2645.         var str_ric = \$(\"#ricercaClienteTxt\").val();
  2646.         var citta = \$(\"#ricercaCittaTxt\").val();
  2647.         var provincia = \$(\"#ricercaProvinciaTxt\").val();
  2648.         \$.ajax({
  2649.             type: \"POST\",
  2650.             dataType: 'html',
  2651.             data: {
  2652.                 \"data\": {
  2653.                     'ricerca': str_ric,
  2654.                     'citta' : citta,
  2655.                     'provincia' : provincia
  2656.                 }
  2657.             },
  2658.             url: Routing.generate('agente_lista_clienti_ricerca', {
  2659.                 rigaInzio: rigaInizio
  2660.             }),
  2661.             async: true,
  2662.             success: function (response) {
  2663.                 \$('#bodyTabellaRicercaCliente').html(response);
  2664.             },
  2665.             error: function (xhr, ajaxOptions, thrownError) {
  2666.                 alert(xhr.status);
  2667.                 alert(thrownError);
  2668.             }
  2669.         });
  2670.     }
  2671.     function CaricaDettaglioCliente(id) {
  2672.         \$.ajax({
  2673.             type: \"POST\",
  2674.             dataType: 'html',
  2675.             url: Routing.generate('agente_dettaglio_anagrafica', {
  2676.                 id: (id), soloDati: 1
  2677.             }),
  2678.             async: true,
  2679.             success: function (response) {
  2680.                 \$('.moda-dettaglio-cliente-body').html(response);
  2681.                 \$('a[data-toggle=\"tab\"]').on('shown.bs.tab', function (e) {
  2682.                     let tabAperto = e.target; // newly activated tab
  2683.                     let identificativo = tabAperto.hash.substring(1);
  2684.                     let contenitore = \$('#' + identificativo);
  2685.                     if(identificativo != 'tab-home') {
  2686.                         \$(contenitore).html('');
  2687.                         \$.ajax({
  2688.                             type: \"POST\",
  2689.                             dataType: 'html',
  2690.                             data: {'tab': (identificativo)},
  2691.                             async: true,
  2692.                             url: Routing.generate('agente_dettaglio_carica_tab_anagrafica', {idAnagrafica: id}),
  2693.                             success: function (response) {
  2694.                                 \$(contenitore).html(response);
  2695.                             },
  2696.                             error: function (xhr, ajaxOptions, thrownError) {
  2697.                                 alert(xhr.status);
  2698.                                 alert(thrownError);
  2699.                             }
  2700.                         });
  2701.                     }
  2702.                 });
  2703.             }
  2704.         });
  2705.     }
  2706.     function VerificaStileBottoneNascondiPrezzi(){
  2707.         if (\$(\"#nascondiPrzBtnDettCliente\").data(\"valore\") == '0'){
  2708.             \$(\"#nascondiPrzBtnDettCliente\").css(\"background-color\", \"#fff\");
  2709.         }else{
  2710.             \$(\"#nascondiPrzBtnDettCliente\").css(\"background-color\", \"yellow\");
  2711.         }
  2712.     }
  2713.     
  2714.     function VariaStatoBottoneNascondiPrezzi(){
  2715.         if (\$(\"#nascondiPrzBtnDettCliente\").data(\"valore\") == '0'){
  2716.             \$(\"#nascondiPrzBtnDettCliente\").data(\"valore\", '1')
  2717.             VerificaStileBottoneNascondiPrezzi();
  2718.         }else{
  2719.             \$(\"#nascondiPrzBtnDettCliente\").data(\"valore\", '0')
  2720.             VerificaStileBottoneNascondiPrezzi();
  2721.         }
  2722.         let datiCliente = {
  2723.             'codice' : memorizzazioneAltriDatiUtente.codice,
  2724.             'ragioneSociale': memorizzazioneAltriDatiUtente.ragioneSociale,
  2725.             'id' : memorizzazioneAltriDatiUtente.id,
  2726.             'tipoOrdine' : \$(\"#tipo-ordine-input\").find(\":selected\").val(),
  2727.             'nascondiPrezzi': \$(\"#nascondiPrzBtnDettCliente\").data('valore')
  2728.         };
  2729.         aggiornaVisualizzaAltriDatiUtente('M', JSON.stringify(datiCliente), function (response) {
  2730.             memorizzazioneAltriDatiUtente = datiCliente;
  2731.         });
  2732.     }
  2733.     function PulisciSelezioneCliente(dati){
  2734.         aggiornaVisualizzaAltriDatiUtente('E', '', function (response) {
  2735.             if(response.esito == 'OK') {
  2736.                 AggiornaStatoSelezioneCliente();
  2737.                 \$(\"#codiceClienteTxt\").val(\"\");
  2738.                 \$(\"#ragioneSocialeText\").val(\"\");
  2739.                 CountArticoliCarrello();
  2740.                 memorizzazioneAltriDatiUtente = {}
  2741.                 \$('.moda-dettaglio-cliente-body').html(\"\");
  2742.             }else{
  2743.                 alert('{{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_errore_pulisci_cliente\", \"dialog_ricerca_cliente\").valoreUscita }}');
  2744.             }
  2745.         });
  2746.     }
  2747.     function AggiornaStatoSelezioneCliente() {
  2748.         aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
  2749.             let cck = response;
  2750.             if (cck != \"\" && cck && cck.length > 0) {
  2751.                 \$(\".pulisci-selezione-cliente\").show();
  2752.                 \$(\".top-bar-seleziona-cliente\").css(\"background-color\", \"yellow\");
  2753.                 memorizzazioneAltriDatiUtente = JSON.parse(cck);
  2754.             } else {
  2755.                 \$(\".pulisci-selezione-cliente\").hide();
  2756.                 \$(\".top-bar-seleziona-cliente\").css(\"background-color\", \"transparent\");
  2757.                 \$('#navbar-dettaglio-cliente').text(\"\");
  2758.                 \$('#selezionaVariantiModalCliente').text('');
  2759.             }
  2760.         });
  2761.     }
  2762.     {% endif %}
  2763.     function aggiornaVisualizzaAltriDatiUtente(operazione, valore, callback = null){
  2764.         \$.ajax({
  2765.             type: \"POST\",
  2766.             dataType: 'json',
  2767.             data: {'valore' : (valore)},
  2768.             async: true,
  2769.             url: Routing.generate({% if is_granted(\"ROLE_AGENTE\") %}'agente_altro_dato'{% else %}'utente_altro_dato'{% endif %}, {
  2770.                 operazione: (operazione)
  2771.             }),
  2772.             success: function (response){
  2773.                 memorizzazioneAltriDatiUtente = valore;
  2774.                 callback(response);
  2775.             },
  2776.             error: function (xhr, ajaxOptions, thrownError) {
  2777.                 alert(xhr.status);
  2778.                 alert(thrownError);
  2779.             }
  2780.         });
  2781.     }
  2782.     function adattaContenutoABarraSuperiore(){
  2783.         \$(\".contenitore_generale_body\").css(\"padding-top\", \$(\".navbar-fixed-top\").height() + \"px\")
  2784.         \$(\".nav-side-menu\").css(\"padding-top\", \$(\".navbar-fixed-top\").height() + \"px\")
  2785.     }
  2786.     \$(document).ready(function () {
  2787.         \$(window).resize(function() {
  2788.             adattaContenutoABarraSuperiore();
  2789.         });
  2790.         \$(document).on(\"click\", \".attiva-img-zoom\", function (event){
  2791.             event.stopImmediatePropagation();
  2792.             event.stopPropagation();
  2793.             \$(\"#zoomImgImg\").attr(\"src\", \$(this).attr(\"src\"));
  2794.             \$(\"#modalZoomImg\").modal('show');
  2795.         });
  2796.         \$('#modalZoomImg').on(\"shown.bs.modal\", function (){
  2797.             imageZoom(\"zoomImgImg\", \"zoomImgResult\");
  2798.         });
  2799.         \$('.attiva-slick')
  2800.             .on('init', function(slick) {
  2801.                 \$('.attiva-slick').fadeIn(3000);
  2802.             })
  2803.             .slick();
  2804.         \$('.attiva-tiny-slider').each(function (index, item) {
  2805.             let arrConfig = \$(item).data('configurazione');
  2806.             tns(arrConfig);
  2807.             \$(item).css({ display: \"block\" });
  2808.         });
  2809.         \$('.form-ordinazione-articolo').on(\"submit\", function (e) {
  2810.             let disponibilita = \$(this).find('input[name=\"disponibilita\"]').val();
  2811.             let disponibilitaMagSecondari = \$(this).find('input[name=\"disponibilita-mag-secondari\"]').val();
  2812.             if(disponibilita && disponibilita <= 0 ) {
  2813.                 if(disponibilitaMagSecondari > 0) {
  2814.                     e.preventDefault();
  2815.                     ApriModalMagazziniSecondari(\$(this).find('input[name=\"id-mappa\"]').val(), \$(this).find('input[name=\"qta\"]').val());
  2816.                 }
  2817.             }
  2818.         });
  2819.         \$('[data-toggle=\"popover\"]').popover();
  2820.         \$(\"#set_min_width\").css(\"min-width\", \$(window).width() / 2);
  2821.         \$(\"#form_news\").mouseleave(function () {
  2822.             \$(\"#set_min_width\").css(\"display\", \"none\");
  2823.         });
  2824.         \$(\"#set_min_width\").mouseenter(function () {
  2825.             \$(\"#set_min_width\").css(\"display\", \"inline-block\");
  2826.         });
  2827.         \$(\"#set_min_width\").mouseleave(function () {
  2828.             \$(\"#set_min_width\").css(\"display\", \"none\");
  2829.         });
  2830.         \$('#cerca-btn-top').on('click', function () {
  2831.             ResetRicercaFiltroAvanzato();
  2832.             RicercaVeloce(\$(\"#ricercaVeloceTxt\").val());
  2833.         });
  2834.         \$(\"#ricercaVeloceTxt\").on(\"keypress\", function(e) {
  2835.             if(e.which == 13) {
  2836.                 ResetRicercaFiltroAvanzato();
  2837.                 RicercaVeloce(\$(\"#ricercaVeloceTxt\").val());
  2838.             }
  2839.         });
  2840.         var errori_validazione = [
  2841.             {% if errori_validazione is defined %}
  2842.             {% for err in errori_validazione %}
  2843.             \"{{ err }}\",
  2844.             {% endfor %}
  2845.             {% endif %}
  2846.         ];
  2847.         \$.each(errori_validazione, function (item) {
  2848.             \$(\"#form_\" + errori_validazione[item]).addClass(\"dato-invalido\");
  2849.         });
  2850.         CountArticoliCarrello();
  2851.         adattaContenutoABarraSuperiore();
  2852.         {% if (is_granted(\"ROLE_ADMIN\") or is_granted(\"ROLE_COMMERCIALE\") or is_granted(\"ROLE_AGENTE\")) %}
  2853.         \$(\"#ricercaClienteTxt, #ricercaCittaTxt, #ricercaProvinciaTxt\").on(\"change paste keyup\", function () {
  2854.             CaricaTabellaGeneraleClienti(\$(\"#inizioRiga\").data('valore'));
  2855.         });
  2856.         \$(\".cercaCliente\").on(\"focus, click\", function () {
  2857.             stadioSostituzione = 0;
  2858.             \$(\"#modalCercaCliente\").modal('show');
  2859.         });
  2860.         \$(\"#tipo-ordine-input\").on(\"change\", function (){
  2861.             aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
  2862.                 let cookie = response;
  2863.                 if (cookie != \"\" && cookie && cookie.length > 0){
  2864.                     let json = JSON.parse(cookie);
  2865.                     let datiCliente = {
  2866.                         'codice' : json.codice,
  2867.                         'ragioneSociale': json.ragioneSociale,
  2868.                         'id' : json.id,
  2869.                         'tipoOrdine' : \$(\"#tipo-ordine-input\").find(\":selected\").val(),
  2870.                         'nascondiPrezzi': \$(\"#nascondiPrzBtnDettCliente\").data('valore')
  2871.                     };
  2872.                     {% if (is_granted(\"ROLE_ADMIN\") or is_granted(\"ROLE_COMMERCIALE\") or is_granted(\"ROLE_AGENTE\")) %}
  2873.                         VerificaStileBottoneNascondiPrezzi();
  2874.                     {% endif %}
  2875.                     aggiornaVisualizzaAltriDatiUtente('M', JSON.stringify(datiCliente), function (response) {
  2876.                         CountArticoliCarrello();
  2877.                         location.reload(); //Ricarico la pagina
  2878.                     });
  2879.                 }
  2880.             });
  2881.         });
  2882.         \$(\"#bodyTabellaRicercaCliente\").on(\"click\", \"tr\", function () {
  2883.             \$(\"#codiceClienteTxt\").val(\$(this).data(\"codice\"));
  2884.             \$(\"#ragioneSocialeText\").val(\$(this).data(\"ragione-sociale\"));
  2885.             let datiCliente = {
  2886.                 'codice' : \$(this).data(\"codice\"),
  2887.                 'ragioneSociale': \$(this).data(\"ragione-sociale\"),
  2888.                 'id' : \$(this).data(\"identificativo\"),
  2889.                 'tipoOrdine' : \$(\"#tipo-ordine-input\").find(\":selected\").val(),
  2890.                 'nascondiPrezzi': \$(\"#nascondiPrzBtnDettCliente\").data('valore')
  2891.             };
  2892.             \$('#navbar-dettaglio-cliente').text(datiCliente.codice + ' - ' + datiCliente.ragioneSociale);
  2893.             \$('#selezionaVariantiModalCliente').text('Cliente: ' + datiCliente.codice + ' - ' + datiCliente.ragioneSociale);
  2894.             \$(\"#modalCercaCliente\").modal('toggle');
  2895.             aggiornaVisualizzaAltriDatiUtente('M', JSON.stringify(datiCliente), function (response) {
  2896.                 AggiornaStatoSelezioneCliente();
  2897.                 CountArticoliCarrello();
  2898.                 CaricaDettaglioCliente(datiCliente.id);
  2899.                 {% if (is_granted(\"ROLE_ADMIN\") or is_granted(\"ROLE_COMMERCIALE\") or is_granted(\"ROLE_AGENTE\")) %}
  2900.                     VerificaStileBottoneNascondiPrezzi();
  2901.                 {% endif %}
  2902.             });
  2903.             if(stadioSostituzione == 1){
  2904.                 if(confirm('{{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_conferma_spostamento_carrello\", \"dialog_ricerca_cliente\").valoreUscita }}')) {
  2905.                     SpostaCarrello(\$(this).data(\"identificativo\"));
  2906.                 }
  2907.             }
  2908.         });
  2909.         \$('#modalDettaglioClienteSpostaCarrelloBtn').on('click', function (event) {
  2910.            if(stadioSostituzione == 0){
  2911.                event.preventDefault();
  2912.                event.stopPropagation();
  2913.                stadioSostituzione = 1;
  2914.                \$(\"#modalCercaCliente\").modal('show');
  2915.            }
  2916.         });
  2917.         \$('#modalCreaOfferteDaCarrello_creaBtn').on(\"click\", function (event) {
  2918.             if(confirm(\"{{ traduzione.OttieniElementoDizionario(\"dialog_ricerca_cliente_conferma_generazione_offerta\", \"dialog_ricerca_cliente\").valoreUscita }}\")){
  2919.                 \$(\"#creaOffertaDaCarrelloForm\").submit();
  2920.             }
  2921.         });
  2922.         aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
  2923.             let cookie = response;
  2924.             \$(\".pulisci-selezione-cliente\").hide();
  2925.             if (cookie != \"\" && cookie && cookie.length > 0){
  2926.                 let json = JSON.parse(cookie);
  2927.                 \$(\".pulisci-selezione-cliente\").show();
  2928.                 \$(\"#codiceClienteTxt\").val(json.codice);
  2929.                 \$(\"#ragioneSocialeText\").val(json.ragioneSociale);
  2930.                 \$(\"#nascondiPrzBtnDettCliente\").data('valore', json.nascondiPrezzi)
  2931.                 let tipoOrdine = json.hasOwnProperty(\"tipoOrdine\") ? json.tipoOrdine : '';
  2932.                 \$(\"#tipo-ordine-input > option\").each(function() {
  2933.                     if(\$(this).val() ==tipoOrdine){
  2934.                         \$(this).attr(\"selected\", \"selected\");
  2935.                     }else{
  2936.                         \$(this).removeAttr(\"selected\");
  2937.                     }
  2938.                 });
  2939.                 \$('#navbar-dettaglio-cliente').text(json.codice + ' - ' + json.ragioneSociale);
  2940.                 \$('#selezionaVariantiModalCliente').text('Cliente: ' + json.codice + ' - ' + json.ragioneSociale);
  2941.                 memorizzazioneAltriDatiUtente = json;
  2942.                 {% if (is_granted(\"ROLE_ADMIN\") or is_granted(\"ROLE_COMMERCIALE\") or is_granted(\"ROLE_AGENTE\")) %}
  2943.                     VerificaStileBottoneNascondiPrezzi();
  2944.                 {% endif %}
  2945.                 CaricaQuadratiAlbero(\"\");
  2946.             }
  2947.         });
  2948.         AggiornaStatoSelezioneCliente();
  2949.         {% if (is_granted(\"ROLE_ADMIN\") or is_granted(\"ROLE_COMMERCIALE\") or is_granted(\"ROLE_AGENTE\")) %}
  2950.             VerificaStileBottoneNascondiPrezzi();
  2951.         {% endif %}
  2952.         CaricaTabellaGeneraleClienti(0);
  2953.         {# Verifico se l'utente ha effettuato il LOGIN #}
  2954.         {% elseif is_granted(\"IS_AUTHENTICATED_REMEMBERED\") %}
  2955.         aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
  2956.             let cookie = response;
  2957.             \$(\".pulisci-selezione-cliente\").hide();
  2958.             if (cookie != \"\" && cookie && cookie.length > 0){
  2959.                 let json = JSON.parse(cookie);
  2960.                 \$(\".pulisci-selezione-cliente\").show();
  2961.                 \$(\"#codiceClienteTxt\").val(json.codice);
  2962.                 \$(\"#ragioneSocialeText\").val(json.ragioneSociale);
  2963.                 let tipoOrdine = json.hasOwnProperty(\"tipoOrdine\") ? json.tipoOrdine : '';
  2964.                 \$(\"#tipo-ordine-input > option\").each(function() {
  2965.                     if(\$(this).val() ==tipoOrdine){
  2966.                         \$(this).attr(\"selected\", \"selected\");
  2967.                     }else{
  2968.                         \$(this).removeAttr(\"selected\");
  2969.                     }
  2970.                 });
  2971.                 {% if (is_granted(\"ROLE_ADMIN\") or is_granted(\"ROLE_COMMERCIALE\") or is_granted(\"ROLE_AGENTE\")) %}
  2972.                     \$('#navbar-dettaglio-cliente').text(json.codice + ' - ' + json.ragioneSociale);
  2973.                 {% endif %}
  2974.                 \$('#selezionaVariantiModalCliente').text('Cliente: ' + json.codice + ' - ' + json.ragioneSociale);
  2975.                 \$(\"#nascondiPrzBtnDettCliente\").data('valore', json.nascondiPrezzi)
  2976.                 memorizzazioneAltriDatiUtente = json;
  2977.                 {% if (is_granted(\"ROLE_ADMIN\") or is_granted(\"ROLE_COMMERCIALE\") or is_granted(\"ROLE_AGENTE\")) %}
  2978.                     VerificaStileBottoneNascondiPrezzi();
  2979.                 {% endif %}
  2980.                 CaricaQuadratiAlbero(\"\");
  2981.             }
  2982.         });
  2983.         \$(\"#tipo-ordine-input\").on(\"change\", function (){
  2984.             aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
  2985.                     let datiCliente = {
  2986.                         'codice' : '',
  2987.                         'ragioneSociale': '',
  2988.                         'id' : '',
  2989.                         'tipoOrdine' : \$(\"#tipo-ordine-input\").find(\":selected\").val(),
  2990.                         'nascondiPrezzi': \$(\"#nascondiPrzBtnDettCliente\").data('valore')
  2991.                     };
  2992.                 {% if (is_granted(\"ROLE_ADMIN\") or is_granted(\"ROLE_COMMERCIALE\") or is_granted(\"ROLE_AGENTE\")) %}
  2993.                     VerificaStileBottoneNascondiPrezzi();
  2994.                 {% endif %}
  2995.                     aggiornaVisualizzaAltriDatiUtente('M', JSON.stringify(datiCliente), function (response) {
  2996.                         CountArticoliCarrello();
  2997.                         location.reload(); //Ricarico la pagina
  2998.                     });
  2999.             });
  3000.         });
  3001.         {% endif %}
  3002.         {% for flash_message in app.session.flashbag.get('notice')%}
  3003.             toastMessage(\"{{ flash_message }}\");
  3004.         {% endfor %}
  3005.         {% for flash_message in app.session.flashbag.get('error')%}
  3006.             toastMessage(\"{{ flash_message }}\", true);
  3007.         {% endfor %}
  3008.     });
  3009. </script>
  3010. {% block javascript %}{% endblock %}
  3011. <div class=\"pushContent\"></div>
  3012. </body>
  3013. {% if app.request.get(\"_route\") != 'admin_pagine_e_componenti_editor' %}
  3014.     {% if impostazioni.ritornaImpostazioneDaNome('MostraFooterSviluppatoDa') == '1' %}
  3015.         <footer class=\"navbar navbar-default navbar-fixed-bottom\">
  3016.             <div style=\"margin-top: 15px;\" class=\"container\">
  3017.                 <span style=\"vertical-align: middle;\"><a href=\"http://www.fogazzimirko.it\">Sviluppato da Fogazzi Mirko © {{ \"now\"|date(\"Y\") }}{% block footer %}{% endblock %}</a></span>
  3018.             </div>
  3019.         </footer>
  3020.     {% endif %}
  3021. {% endif %}
  3022. </html>
  3023. ", "base.html.twig", "/var/www/webshop_testindustria/templates/base.html.twig");
  3024.     }
  3025. }