templates/base.html.twig line 1
{% trans_default_domain "top_bar" %}
<!DOCTYPE html>
<html lang="{{ app.request.getLocale() }}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="author" content="Fogazzi Mirko" />
<meta name="copyright" content="Fogazzi Mirko" />
{{ include('seo_metatag.html.twig') }}
{{ impostazioni.ritornaImpostazioneDaNome("HeaderGeneraleTuttePagine")|raw }}
{{ traduzione.CaricaTraduzioniDaFamiglie(["agenti_dialog_principale", "dialog_ricerca_cliente", "agenti_crea_offerta_da_carrello_dialog"], app.request.locale) }}
{{ include('ZZ_front_end/stili_base.html.twig') }}
<title>{% block title %}{{ impostazioni.ritornaImpostazioneDaNome("TitleGenerico")|raw }}{% endblock %}</title>
<link rel="stylesheet" href="{{ asset('css/sm-core-css.css') }}">
<link rel="stylesheet" href="{{ asset('css/simple-sidebar.css') }}">
<!-- Bootstrap core CSS -->
<link href="{{ asset('css/bootstrap.min.css') }}" rel="stylesheet">
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css" rel="stylesheet">
<link href="{{ asset('css/dropdown-css-style.css') }}" rel="stylesheet">
{# <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css"> #}
<link href="{{ asset('java_lib/jquery-ui-1.12.0/jquery-ui.min.css') }}" rel="stylesheet">
{% if is_granted('ROLE_ADMIN') or app.user or is_granted('ROLE_AGENTE') or is_granted('ROLE_COMMERCIALE') or is_granted("ROLE_FORNITORE") %}
{#<link href="https://unpkg.com/tabulator-tables@4.2.7/dist/css/tabulator.min.css" rel="stylesheet">#}
<link href="https://unpkg.com/tabulator-tables@5.2.3/dist/css/tabulator.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.css" integrity="sha256-aa0xaJgmK/X74WM224KMQeNQC2xYKwlAt08oZqjeF0E=" crossorigin="anonymous" />
{% endif %}
<!-- FONT AWSOME -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<!-- SLICK CAROUSEL -->
<link rel="stylesheet" type="text/css" href="{{ asset('java_lib/slick-1.8.1/slick/slick.css') }}"/>
<link rel="stylesheet" type="text/css" href="{{ asset('java_lib/slick-1.8.1/slick/slick-theme.css') }}"/>
<!-- TINY SLIDER -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.2/tiny-slider.css">
<!-- CORE NAV -->
<link rel="stylesheet" type="text/css" href="{{ asset('java_lib/custom_mf_sidebar/mf_sidebar.css') }}" />
<style type="text/css">
#modalZoomImg * {box-sizing: border-box;}
div#modalDettaglioCliente.modal.fade.in{
visibility: visible;
}
div#modalDettaglioCliente.modal.fade{
display: block;
visibility: hidden;
}
.bottone-risorse-articoli{
position: absolute;
border: solid 1px green;
border-radius: 10px;
padding: 5px;
float: right;
width: 40px;
z-index: 99;
cursor: pointer;
background: white;
top: 0px;
right: 0px;
height: 40px;
}
.bottone-risorse-articoli img{
height: 100%;
width: 100%;
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&1+0,0+100;White+to+Transparent */
background: transparent;
}
.img-zoom-container {
position: relative;
}
.centra-flex-tutto{
display: flex;
flex-direction: row;
align-content: center;
align-items: center;
justify-content: center;
}
.img-zoom-lens {
position: absolute;
border: 1px solid #d4d4d4;
/*set the size of the lens:*/
width: 250px;
height: 250px;
}
.img-zoom-result {
border: 1px solid #d4d4d4;
/*set the size of the result div:*/
width: 300px;
height: 300px;
}
{% if impostazioni.ritornaImpostazioneDaNome('NascondiFrecceSuGiuInInputNumber') == '1' %}
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
/* Firefox */
input[type=number] {
-moz-appearance: textfield;
}
{% endif %}
/* The snackbar - position it at the bottom and in the middle of the screen */
#snackbar {
visibility: hidden; /* Hidden by default. Visible on click */
min-width: 350px; /* Set a default minimum width */
margin-left: -125px; /* Divide value of min-width by 2 */
background-color: #333; /* Black background color */
color: #fff; /* White text color */
text-align: center; /* Centered text */
border-radius: 2px; /* Rounded borders */
padding: 16px; /* Padding */
position: fixed; /* Sit on top of the screen */
z-index: 1; /* Add a z-index if needed */
left: 50%; /* Center the snackbar */
bottom: 80px; /* 30px from the bottom */
font-size: 15pt;
}
.attiva-tiny-slider{
display: none;
}
.attiva-slick{
display: none;
}
#bodyTabellaRicercaCliente tr:hover{
background-color: yellow;
cursor: pointer;
}
.cercaCliente:hover{
cursor: pointer;
}
.modal { overflow: auto !important; }
/* Show the snackbar when clicking on a button (class added with JavaScript) */
#snackbar.show {
visibility: visible; /* Show the snackbar */
/* Add animation: Take 0.5 seconds to fade in and out the snackbar.
However, delay the fade out process for 2.5 seconds */
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
animation: fadein 0.5s, fadeout 0.5s 2.5s;
}
/* Animations to fade the snackbar in and out */
@-webkit-keyframes fadein {
from {bottom: 0; opacity: 0;}
to {bottom: 80px; opacity: 1;}
}
@keyframes fadein {
from {bottom: 0; opacity: 0;}
to {bottom: 80px; opacity: 1;}
}
@-webkit-keyframes fadeout {
from {bottom: 80px; opacity: 1;}
to {bottom: 0; opacity: 0;}
}
@keyframes fadeout {
from {bottom: 80px; opacity: 1;}
to {bottom: 0; opacity: 0;}
}
</style>
{% block head %}{% endblock %}
{% block stylesheet %}{% endblock %}
{% block altri_nav %}{% endblock %}
<!-- jQuery Core -->
<script type="text/javascript" src="{{ asset('java_lib/jquery-2.2.4.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('java_lib/jquery-ui-1.12.0/jquery-ui.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('java_lib/bootstrap.min.js') }}"></script>
{# <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.bundle.min.js"></script> #}
</head>
<body>
<div id="snackbar"></div>
<div class="loading" id="loadingMaster">Loading…</div>
{% if app.request.get("_route") == 'admin_pagine_e_componenti_editor' %}
{% set mostraTopBar = 0 %}
{% endif %}
{% if (mostraTopBar is defined and mostraTopBar == 1) or mostraTopBar is not defined %}
{{ include('ZZ_front_end/top_bar/top_bar.html.twig') }}
{% endif %}
{% if app.request.get("_route") == 'home_shop' %}
<div class="modal fade" role="dialog" tabindex="-1" style="z-index: 999999;" id="modal-cerca-filtro-avanzato-dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title">{{ traduzione.OttieniElementoDizionario("top_bar_filtro_avanzato_title", "top_bar").valoreUscita }}</h4>
</div>
<div class="modal-body">
<form id="form-filtro-avanzato">
<div class="form-group">
<label for="filtro-avanzato-codice">{{ traduzione.OttieniElementoDizionario("top_bar_filtro_avanzato_codice_label", "top_bar").valoreUscita }}</label>
<input type="text" class="form-control" name="articolo.codice" id="filtro-avanzato-codice">
</div>
<div class="form-group">
<label for="filtro-avanzato-nome">{{ traduzione.OttieniElementoDizionario("top_bar_filtro_avanzato_descrizione_label", "top_bar").valoreUscita }}</label>
<input type="text" class="form-control" name="articolo.nome" id="filtro-avanzato-nome">
</div>
<div class="form-group">
<label for="filtro-avanzato-marca">{{ traduzione.OttieniElementoDizionario("top_bar_filtro_avanzato_marca_label", "top_bar").valoreUscita }}</label>
<input type="text" class="form-control" name="mappa.marca" id="filtro-avanzato-marca">
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="filtro-avanzato-solo-disponibile"> {{ traduzione.OttieniElementoDizionario("top_bar_filtro_avanzato_mostra_solo_disponibili", "top_bar").valoreUscita }}
</label>
</div>
<div class="checkbox">
<label>
<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 }}
</label>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" onclick="ResetRicerca();" class="btn btn-danger" data-dismiss="modal">{{ traduzione.OttieniElementoDizionario("top_bar_filtro_avanzato_reset_btn", "top_bar").valoreUscita }}</button>
<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>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
{% endif %}
<div class="modal fade" tabindex="-1" role="dialog" id="modalZoomImg" style="z-index: 9999;">
<div class="modal-dialog panel-warning" role="document" style="width: 80%;">
<div class="modal-content panel-warning">
<div class="modal-body" style="overflow-y: auto;">
<div class="col-md-12 nascondiStampa">
<div class="img-zoom-container">
<div class="col-md-6 col-xs-12">
<img id="zoomImgImg" src="" style="max-height: 90vh; width: auto;">
</div>
<div class="col-md-6 col-xs-12" style="max-height: 90vh;">
<div id="zoomImgResult" class="img-zoom-result" style="width: 100%; height: 90vh;"></div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Chiudi</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<div class="modal fade" tabindex="-1" role="dialog" id="risorseCatArtDialog" style="z-index: 99999;">
<div class="modal-dialog panel-warning" role="document" style="width: 80%;">
<div class="modal-content panel-warning">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title">Risorse</h4>
</div>
<div class="modal-body" id="risorseCatArtDialog-body" style="overflow-y: auto;">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Chiudi</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
{% if not is_granted('ROLE_ADMIN') or is_granted('ROLE_AGENTE') or is_granted('ROLE_COMMERCIALE') %}
<div class="modal fade" tabindex="-1" role="dialog" id="modalDettaglioClienteLoggato">
<div class="modal-dialog panel-warning" role="document" style="width: 80%;">
<div class="modal-content panel-warning">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="modalTitleDettaglioClienteLoggato">
<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>
{{ traduzione.OttieniElementoDizionario("agenti_dialog_principale_dettaglio_cliente", "agenti_dialog_principale").valoreUscita }} <span id="modalDettaglioClienteLoggato-title2" style="color:red;"></span>
</h4>
</div>
<div class="modal-body" id="modalDettaglioClienteLoggato-body" style="overflow-y: auto;">
</div>
</div>
</div>
</div>
{% endif %}
{% if is_granted('ROLE_ADMIN') or is_granted('ROLE_AGENTE') or is_granted('ROLE_COMMERCIALE') %}
<div class="modal fade" tabindex="-1" role="dialog" id="modalDettaglioCliente">
<div class="modal-dialog panel-warning" role="document" style="width: 80%;">
<div class="modal-content panel-warning">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="modalTitleDettaglioCliente">
<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>
{{ traduzione.OttieniElementoDizionario("agenti_dialog_principale_dettaglio_cliente", "agenti_dialog_principale").valoreUscita }} <span id="modalDettaglioCliente-title2" style="color:red;"></span>
<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>
<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>
{% set attivaTipoOrdine = impostazioni.ritornaImpostazioneDaNome("AbilitaTipoOrdine") %}
<div class="form-inline" style="float:right; margin-right:20px;{% if attivaTipoOrdine != '1' %}display:none;{% endif %}">
<div class="form-group">
<label for="tipo-ordine-input">{{ traduzione.OttieniElementoDizionario("agenti_dialog_principale_tipo_ordine", "agenti_dialog_principale").valoreUscita }}</label>
<select id="tipo-ordine-input" class="form-control" style="width:auto;">
{% if attivaTipoOrdine == '1' %}
{% for tipoOrdine in servizi.RitornaTipiOrdine() %}
<option {% if loop.first %} selected="selected"{% endif %} value="{{ tipoOrdine.id|default("") }}">{{ tipoOrdine.testoVisualizzato|default("") }}</option>
{% endfor %}
{% endif %}
{% if servizi.RitornaTipiOrdine()|length <= 0 or attivaTipoOrdine == '0' %}
<option value=""></option>
{% endif %}
</select>
</div>
</div>
</h4>
</div>
<div class="modal-body" style="overflow-y: auto;">
<div class="col-md-12 nascondiStampa">
<div class="form-inline center">
<div class="input-group" style="width: 100%;">
<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>
<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 }}">
<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 }}">
<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>
<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>
</div>
</div>
<hr>
<div class="moda-dettaglio-cliente-body">
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">{{ traduzione.OttieniElementoDizionario("agenti_dialog_principale_chiudi_btn", "agenti_dialog_principale").valoreUscita }}</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<div class="modal fade" tabindex="-1" role="dialog" id="modalCreaOffertaDaCarrello">
<div class="modal-dialog panel-warning" role="document">
<div class="modal-content panel-warning">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title">
{{ traduzione.OttieniElementoDizionario("agenti_dialog_principale_crea_offerta_da_carrello_btn", "agenti_dialog_principale").valoreUscita }}
</h4>
</div>
<div class="modal-body" id="modalCreaOffertaDaCarrelloBody" style="overflow-y: auto;">
<form id="creaOffertaDaCarrelloForm" action="{{ path('offerte_crea_da_carrello') }}">
<div class="form-group">
<label for="modal-crea-offerta-carrello-note">{{ traduzione.OttieniElementoDizionario("agenti_crea_offerta_da_carrello_dialog_note", "agenti_crea_offerta_da_carrello_dialog").valoreUscita }}</label>
<textarea class="form-control" id="modal-crea-offerta-carrello-note" name="modal-crea-offerta-carrello-note"></textarea>
</div>
<div class="form-group">
<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>
<textarea class="form-control" id="modal-crea-offerta-carrello-note" name="modal-crea-offerta-carrello-note-aziendali"></textarea>
</div>
<div class="form-group">
<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>
<input type="text" class="form-control" id="modal-crea-offerta-carrello-riferimento-offerta" name="modal-crea-offerta-carrello-riferimento-offerta">
</div>
<div class="checkbox">
<label>
<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 }}
</label>
</div>
</form>
</div>
<div class="modal-footer">
<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>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
{% endif %}
<div class="modal fade" tabindex="-1" role="dialog" id="modalRichiestaPrezzo">
<div class="modal-dialog panel-warning" role="document" style="width: 80%;">
<div class="modal-content panel-warning">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title">
{{ traduzione.CaricaTraduzioniDaFamiglia("richiesta_prezzo", app.request.locale, false) }}
{{ traduzione.OttieniElementoDizionario("richiesta_prezzo_title", "richiesta_prezzo").valoreUscita }}
</h4>
</div>
<div class="modal-body" id="modalRichiestaPrezzoBody" style="overflow-y: auto;">
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<div class="modal fade" tabindex="-1" role="dialog" id="modalMagazziniSecondari">
<div class="modal-dialog panel-warning" role="document" style="width: 80%;">
<div class="modal-content panel-warning">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title">
{{ traduzione.CaricaTraduzioniDaFamiglia("modal_magazzini_secondari", app.request.locale, false) }}
{{ traduzione.OttieniElementoDizionario("modal_magazzini_secondari_title_main_modal", "modal_magazzini_secondari").valoreUscita }}
</h4>
</div>
<div class="modal-body" id="modalMagazziniSecondariBody" style="overflow-y: auto;">
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
{% if is_granted('ROLE_ADMIN') or is_granted('ROLE_AGENTE') or is_granted('ROLE_COMMERCIALE') %}
<div class="modal fade" tabindex="-1" role="dialog" id="modalCercaCliente">
<div class="modal-dialog panel-warning" role="document" style="width: 80%;">
<div class="modal-content panel-warning">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="modalTitle">{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_title", "dialog_ricerca_cliente").valoreUscita }}</h4>
</div>
<div class="modal-body" style="overflow-y: auto;">
<div class="col-md-12">
<div class="col-md-4">
<div class="form-inline center has-success">
<div class="input-group" style="width: 100%;">
<span class="input-group-addon" id="basic-addon1"><span class="glyphicon glyphicon-search" aria-hidden="true"></span></span>
<input type="text" class="form-control" id="ricercaClienteTxt" placeholder="{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_inizia_a_scrivere", "dialog_ricerca_cliente").valoreUscita }}">
</div>
</div>
</div>
<div class="col-md-4">
<div class="form-inline center has-success">
<div class="input-group" style="width: 100%;">
<span class="input-group-addon" id="basic-addon1"><span class="glyphicon glyphicon-search" aria-hidden="true"></span></span>
<input type="text" class="form-control" id="ricercaCittaTxt" placeholder="{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_filtro_citta", "dialog_ricerca_cliente").valoreUscita }}">
</div>
</div>
</div>
<div class="col-md-4">
<div class="form-inline center has-success">
<div class="input-group" style="width: 100%;">
<span class="input-group-addon" id="basic-addon1"><span class="glyphicon glyphicon-search" aria-hidden="true"></span></span>
<input type="text" class="form-control" id="ricercaProvinciaTxt" placeholder="{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_filtro_provincia", "dialog_ricerca_cliente").valoreUscita }}">
</div>
</div>
</div>
</div>
<table class="table table-striped table-responsive">
<thead>
<tr>
<th>
{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_tab_col1_a", "dialog_ricerca_cliente").valoreUscita }}
<br>
{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_tab_col1_b", "dialog_ricerca_cliente").valoreUscita }}
<br>
{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_tab_col1_c", "dialog_ricerca_cliente").valoreUscita }}
</th>
<th>
{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_tab_col2_a", "dialog_ricerca_cliente").valoreUscita }}
<br>
{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_tab_col2_b", "dialog_ricerca_cliente").valoreUscita }}
<br>
{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_tab_col2_c", "dialog_ricerca_cliente").valoreUscita }}
</th><th>
{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_tab_col3_a", "dialog_ricerca_cliente").valoreUscita }}
<br>
{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_tab_col3_b", "dialog_ricerca_cliente").valoreUscita }}
<br>
{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_tab_col3_c", "dialog_ricerca_cliente").valoreUscita }}
</th>
</tr>
</thead>
<tbody id="bodyTabellaRicercaCliente">
</tbody>
</table>
</div>
<div class="modal-footer">
<button type="button" id="chiudiModalCercaCliente" class="btn btn-danger" data-dismiss="modal">{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_chiudi_btn", "dialog_ricerca_cliente").valoreUscita }}</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
{% endif %}
<div class="container-fluid contenitore_generale_body" >
<div class="row master-row-body">
<div class="col-md-12 master-col-body">
{% block body %}{% endblock %}
</div>
</div>
</div><!-- /.container -->
<script src="https://www.google.com/recaptcha/api.js?render={{ impostazioni.ritornaImpostazioneDaNome('ReCaptchaSiteKey') }}"></script>
<script>
grecaptcha.ready(function() {
grecaptcha.execute('{{ impostazioni.ritornaImpostazioneDaNome('ReCaptchaSiteKey') }}', {action: 'homepage'}).then(function(token) {
$('.re-captcha-v3').val = token;
});
});
</script>
<!-- FOSJsRoutingBundle -->
<script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
<script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script>
<!-- jQuery smartmenus plugin -->
<script src="{{ asset('java_lib/jquery.smartmenus.min.js') }}"></script>
<script src="{{ asset('java_lib/jquery.smartmenus.bootstrap.min.js') }}"></script>
<script src="{{ asset('java_lib/jquery.stickytableheaders.min.js') }}" type="text/javascript"></script>
<!-- SLICK CAROUSEL -->
<script type="text/javascript" src="{{ asset('java_lib/slick-1.8.1/slick/slick.min.js') }}"></script>
<!-- TINY SLIDER -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.2/min/tiny-slider.js"></script>
<!-- CORE NAV -->
<script type="text/javascript" src="{{ asset('java_lib/custom_mf_sidebar/mf_sidebar.js') }}"></script>
{# <script type="text/javascript" src="https://unpkg.com/tabulator-tables@4.2.7/dist/js/tabulator.min.js"></script>#}
<script type="text/javascript" src="https://unpkg.com/tabulator-tables@5.2.3/dist/js/tabulator.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.bundle.min.js" integrity="sha256-xKeoJ50pzbUGkpQxDYHD7o7hxe0LaOGeguUidbq6vis=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.js" integrity="sha256-Uv9BNBucvCPipKQ2NS9wYpJmi8DTOEfTA/nH2aoJALw=" crossorigin="anonymous"></script>
<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>
<script type="text/javascript">
{# Variabili utile per la sostituzione del carrello #}
let idCarrelloAttuale = '';
let stadioSostituzione = 0; {# Quando lo stadio è 1 allora ho già in memoria i due salti #}
{# FINE #}
var memorizzazioneAltriDatiUtente = {}
var lens = null;
var img = null;
{# Codice per zoom immagine #}
function imageZoom(imgID, resultID) {
if (lens != null){
lens.removeEventListener("mousemove", moveLens);
img.removeEventListener("mousemove", moveLens);
lens.removeEventListener("touchmove", moveLens);
img.removeEventListener("touchmove", moveLens);
lens.remove();
lens = null;
}
var result, cx, cy;
img = document.getElementById(imgID);
result = document.getElementById(resultID);
/* Create lens: */
lens = document.createElement("DIV");
lens.setAttribute("class", "img-zoom-lens");
/* Insert lens: */
img.parentElement.insertBefore(lens, img);
/* Calculate the ratio between result DIV and lens: */
cx = result.offsetWidth / lens.offsetWidth;
cy = result.offsetHeight / lens.offsetHeight;
/* Set background properties for the result DIV */
result.style.backgroundImage = "url('" + img.src + "')";
result.style.backgroundSize = (img.width * cx) + "px " + (img.height * cy) + "px";
/* Execute a function when someone moves the cursor over the image, or the lens: */
lens.addEventListener("mousemove", moveLens);
img.addEventListener("mousemove", moveLens);
/* And also for touch screens: */
lens.addEventListener("touchmove", moveLens);
img.addEventListener("touchmove", moveLens);
function moveLens(e) {
var pos, x, y;
/* Prevent any other actions that may occur when moving over the image */
e.preventDefault();
/* Get the cursor's x and y positions: */
pos = getCursorPos(e);
/* Calculate the position of the lens: */
x = pos.x - (lens.offsetWidth / 2);
y = pos.y - (lens.offsetHeight / 2);
/* Prevent the lens from being positioned outside the image: */
if (x > img.width - lens.offsetWidth) {x = img.width - lens.offsetWidth;}
if (x < 0) {x = 0;}
if (y > img.height - lens.offsetHeight) {y = img.height - lens.offsetHeight;}
if (y < 0) {y = 0;}
/* Set the position of the lens: */
lens.style.left = x + "px";
lens.style.top = y + "px";
/* Display what the lens "sees": */
result.style.backgroundPosition = "-" + (x * cx) + "px -" + (y * cy) + "px";
}
function getCursorPos(e) {
var a, x = 0, y = 0;
e = e || window.event;
/* Get the x and y positions of the image: */
a = img.getBoundingClientRect();
/* Calculate the cursor's x and y coordinates, relative to the image: */
x = e.pageX - a.left;
y = e.pageY - a.top;
/* Consider any page scrolling: */
x = x - window.pageXOffset;
y = y - window.pageYOffset;
return {x : x, y : y};
}
}
var randomRgbColor = function() {
var r = Math.floor(Math.random() * 255);
var g = Math.floor(Math.random() * 255);
var b = Math.floor(Math.random() * 255);
return "rgb(" + r + "," + g + "," + b + ")";
}
function toastMessage(messaggio, rosso = false) {
// Get the snackbar DIV
var x = document.getElementById("snackbar");
$(x).text(messaggio);
if (rosso){
$(x).css('background-color', 'red');
$(x).css('color', 'black');
}else{
$(x).css('background-color', 'black');
$(x).css('color', 'white');
}
// Add the "show" class to DIV
x.className = "show";
// After 3 seconds, remove the show class from DIV
setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000);
}
function ApriModalRichiestaPrezzo(idMappa){
$('#loadingMaster').show();
$.ajax({
dataType: 'html',
url: Routing.generate('richiesta_prezzo_modal', {'idMappa' : (idMappa) }),
async: true, //you won't need that if nothing in your following code is dependend of the result
success: function (response) {
$('#modalRichiestaPrezzoBody').html(response);
$('#modalRichiestaPrezzo').modal('toggle');
$('#loadingMaster').hide();
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$('#loadingMaster').hide();
alert("Status: " + textStatus); alert("Error: " + errorThrown);
}
});
}
function ApriModalMagazziniSecondari(idMappa, qta){
$('#loadingMaster').show();
$.ajax({
dataType: 'html',
url: Routing.generate('magazzini_secondari_modal', {'idMappa' : (idMappa), 'qta' : (qta) }),
async: true, //you won't need that if nothing in your following code is dependend of the result
success: function (response) {
$('#modalMagazziniSecondariBody').html(response);
$('#modalMagazziniSecondari').modal('toggle');
$('#loadingMaster').hide();
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$('#loadingMaster').hide();
alert("Status: " + textStatus); alert("Error: " + errorThrown);
}
});
}
function CountArticoliCarrello()
{
$.ajax({
type: "POST",
dataType: 'html',
url: Routing.generate('carrello_conta_articoli'),
async: true //you won't need that if nothing in your following code is dependend of the result
})
.done(function (response) {
let js = JSON.parse(response);
idCarrelloAttuale = js.idCarrello;
if(idCarrelloAttuale != ''){
$('#modalDettaglioClienteSpostaCarrelloBtn').show();
}else{
$('#modalDettaglioClienteSpostaCarrelloBtn').hide();
}
if (js.count == '0')
$('#badgeArticoliCarello').html(" ");
else
$('#badgeArticoliCarello').html(js.count);
})
DettaglioCarrelloJson();
}
function DettaglioCarrelloJson()
{
$.ajax({
type: "POST",
dataType: 'html',
url: Routing.generate('carrello_dettagli_json'),
async: true //you won't need that if nothing in your following code is dependend of the result
})
.done(function (response) {
let js = JSON.parse(response);
$("#badgeTotaleImponibileCarrello").html(" - € " + js.imponibile)
})
}
{% if is_granted('ROLE_ADMIN') or is_granted('ROLE_AGENTE') or is_granted('ROLE_COMMERCIALE') %}
function CambioTabRisorseCategorieSelect(altezza=350) {
let categoriaSelezionata = $('#tab-risorse-categorie-select').find('option:selected').val();
$.ajax({
type: "POST",
dataType: 'json',
data: {'tab': 'dati_da_categoria', 'categoria': (categoriaSelezionata)},
async: true,
url: Routing.generate('agente_dettaglio_carica_tab_anagrafica', {idAnagrafica: $("#id-anagrafica-da-utilizzare").val()}),
success: function (response) {
var tableRisorseAnag = new Tabulator("#tabella-risorse", {
height: (altezza + "px"),
data:response.data, //load row data from array
layout:"fitDataFill", //fit columns to width of table
responsiveLayout:"collapse", //hide columns that dont fit on the table
columns: response.colonne,
});
tableRisorseAnag.on("rowClick", function(e, row){
//e - the click event object
//row - row component
var valore = row.getCell('idRisorsa').getValue();
var url = Routing.generate('agente_recupera_risorsa_anagrafica') + '?idRisorsa=' + valore;
var win = window.open(url, '_blank');
win.focus();
});
if('sorting' in response){
let sort = [];
for (const [key, value] of Object.entries(response.sorting)) {
//value => {'field' => '', 'direction' => ''}
sort.push({'column': value.field, 'dir': value.direction});
}
if(sort.length > 0){
tableRisorseAnag.setSort(sort);
}
}
}
});
}
{% else %}
function CambioTabRisorseCategorieSelect() {
let categoriaSelezionata = $('#tab-risorse-categorie-select').find('option:selected').val();
$.ajax({
type: "POST",
dataType: 'json',
data: {'categoria': (categoriaSelezionata)},
async: true,
url: Routing.generate('storico_carica_risorse_anagrafiche'),
success: function (response) {
var tableRisorseAnag = new Tabulator("#tabella-risorse", {
height: "350px",
data:response.data, //load row data from array
layout:"fitDataFill", //fit columns to width of table
responsiveLayout:"collapse", //hide columns that dont fit on the table
columns: response.colonne,
});
tableRisorseAnag.on("rowClick", function(e, row){
//e - the click event object
//row - row component
var valore = row.getCell('idRisorsa').getValue();
var url = Routing.generate('recupera_risorsa_anagrafica') + '?idRisorsa=' + valore;
var win = window.open(url, '_blank');
win.focus();
});
}
});
}
{% endif %}
function ResetRicercaFiltroAvanzato(){
$("#cerca-filtro-btn").removeAttr("style")
filtroAvanzato = "";
document.getElementById('form-filtro-avanzato').reset();
}
function ResetRicerca(){
$("#ricercaVeloceTxt").val("");
}
{% if not (is_granted("ROLE_ADMIN") or is_granted("ROLE_COMMERCIALE") or is_granted("ROLE_AGENTE")) %}
function ApriDettaglioClienteLoggato(){
$('#loadingMaster').show();
$.ajax({
type: "POST",
dataType: 'html',
url: Routing.generate('utente_dettaglio_anagrafica'),
async: true,
success: function (response) {
$('#loadingMaster').hide();
$('#modalDettaglioClienteLoggato-body').html(response);
$("#modalDettaglioClienteLoggato").modal('toggle');
},
error: function (xhr, ajaxOptions, thrownError) {
$('#loadingMaster').hide();
alert(xhr.status);
alert(thrownError);
}
});
}
{% endif %}
{% if (is_granted("ROLE_ADMIN") or is_granted("ROLE_COMMERCIALE") or is_granted("ROLE_AGENTE")) %}
function ApriDettaglioClienteDialog(){
aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
let cookie = response;
$(".pulisci-selezione-cliente").hide();
if (cookie != "" && cookie && cookie.length > 0){
let json = JSON.parse(cookie);
$(".pulisci-selezione-cliente").show();
$("#codiceClienteTxt").val(json.codice);
$("#ragioneSocialeText").val(json.ragioneSociale);
let tipoOrdine = json.hasOwnProperty("tipoOrdine") ? json.tipoOrdine : '';
$("#tipo-ordine-input > option").each(function() {
if($(this).val() ==tipoOrdine){
$(this).attr("selected", "selected");
} else {
$(this).removeAttr("selected");
}
});
$('#navbar-dettaglio-cliente').text(json.codice + ' - ' + json.ragioneSociale);
$('#selezionaVariantiModalCliente').text('Cliente: ' + json.codice + ' - ' + json.ragioneSociale);
memorizzazioneAltriDatiUtente = json;
CaricaDettaglioCliente(json.id);
}
});
AggiornaStatoSelezioneCliente();
$("#modalDettaglioCliente").modal('show');
}
function SpostaCarrello(idAnagraficaDestinazione){
stadioSostituzione = 0;
$('#loadingMaster').show();
$.ajax({
type: "POST",
dataType: 'json',
url: Routing.generate('agente_sposta_carrello', {
idCarrelloOrigine: (idCarrelloAttuale),
idAnagraficaDestinazione: (idAnagraficaDestinazione)
}),
async: true,
success: function (response) {
$('#loadingMaster').hide();
let js = JSON.parse(response);
if(js.successo == 'SI'){
toastMessage(js.messaggio);
CountArticoliCarrello();
}else{
toastMessage(js.messaggio, true);
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$('#loadingMaster').hide();
alert("Status: " + textStatus); alert("Error: " + errorThrown);
}
});
}
function CaricaTabellaGeneraleClienti(rigaInizio) {
var str_ric = $("#ricercaClienteTxt").val();
var citta = $("#ricercaCittaTxt").val();
var provincia = $("#ricercaProvinciaTxt").val();
$.ajax({
type: "POST",
dataType: 'html',
data: {
"data": {
'ricerca': str_ric,
'citta' : citta,
'provincia' : provincia
}
},
url: Routing.generate('agente_lista_clienti_ricerca', {
rigaInzio: rigaInizio
}),
async: true,
success: function (response) {
$('#bodyTabellaRicercaCliente').html(response);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
}
function CaricaDettaglioCliente(id) {
$.ajax({
type: "POST",
dataType: 'html',
url: Routing.generate('agente_dettaglio_anagrafica', {
id: (id), soloDati: 1
}),
async: true,
success: function (response) {
$('.moda-dettaglio-cliente-body').html(response);
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
let tabAperto = e.target; // newly activated tab
let identificativo = tabAperto.hash.substring(1);
let contenitore = $('#' + identificativo);
if(identificativo != 'tab-home') {
$(contenitore).html('');
$.ajax({
type: "POST",
dataType: 'html',
data: {'tab': (identificativo)},
async: true,
url: Routing.generate('agente_dettaglio_carica_tab_anagrafica', {idAnagrafica: id}),
success: function (response) {
$(contenitore).html(response);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
}
});
}
});
}
function VerificaStileBottoneNascondiPrezzi(){
if ($("#nascondiPrzBtnDettCliente").data("valore") == '0'){
$("#nascondiPrzBtnDettCliente").css("background-color", "#fff");
}else{
$("#nascondiPrzBtnDettCliente").css("background-color", "yellow");
}
}
function VariaStatoBottoneNascondiPrezzi(){
if ($("#nascondiPrzBtnDettCliente").data("valore") == '0'){
$("#nascondiPrzBtnDettCliente").data("valore", '1')
VerificaStileBottoneNascondiPrezzi();
}else{
$("#nascondiPrzBtnDettCliente").data("valore", '0')
VerificaStileBottoneNascondiPrezzi();
}
let datiCliente = {
'codice' : memorizzazioneAltriDatiUtente.codice,
'ragioneSociale': memorizzazioneAltriDatiUtente.ragioneSociale,
'id' : memorizzazioneAltriDatiUtente.id,
'tipoOrdine' : $("#tipo-ordine-input").find(":selected").val(),
'nascondiPrezzi': $("#nascondiPrzBtnDettCliente").data('valore')
};
aggiornaVisualizzaAltriDatiUtente('M', JSON.stringify(datiCliente), function (response) {
memorizzazioneAltriDatiUtente = datiCliente;
});
}
function PulisciSelezioneCliente(dati){
aggiornaVisualizzaAltriDatiUtente('E', '', function (response) {
if(response.esito == 'OK') {
AggiornaStatoSelezioneCliente();
$("#codiceClienteTxt").val("");
$("#ragioneSocialeText").val("");
CountArticoliCarrello();
memorizzazioneAltriDatiUtente = {}
$('.moda-dettaglio-cliente-body').html("");
}else{
alert('{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_errore_pulisci_cliente", "dialog_ricerca_cliente").valoreUscita }}');
}
});
}
function AggiornaStatoSelezioneCliente() {
aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
let cck = response;
if (cck != "" && cck && cck.length > 0) {
$(".pulisci-selezione-cliente").show();
$(".top-bar-seleziona-cliente").css("background-color", "yellow");
memorizzazioneAltriDatiUtente = JSON.parse(cck);
} else {
$(".pulisci-selezione-cliente").hide();
$(".top-bar-seleziona-cliente").css("background-color", "transparent");
$('#navbar-dettaglio-cliente').text("");
$('#selezionaVariantiModalCliente').text('');
}
});
}
{% endif %}
function aggiornaVisualizzaAltriDatiUtente(operazione, valore, callback = null){
$.ajax({
type: "POST",
dataType: 'json',
data: {'valore' : (valore)},
async: true,
url: Routing.generate({% if is_granted("ROLE_AGENTE") %}'agente_altro_dato'{% else %}'utente_altro_dato'{% endif %}, {
operazione: (operazione)
}),
success: function (response){
memorizzazioneAltriDatiUtente = valore;
callback(response);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
}
function adattaContenutoABarraSuperiore(){
$(".contenitore_generale_body").css("padding-top", $(".navbar-fixed-top").height() + "px")
$(".nav-side-menu").css("padding-top", $(".navbar-fixed-top").height() + "px")
}
$(document).ready(function () {
$(window).resize(function() {
adattaContenutoABarraSuperiore();
});
$(document).on("click", ".attiva-img-zoom", function (event){
event.stopImmediatePropagation();
event.stopPropagation();
$("#zoomImgImg").attr("src", $(this).attr("src"));
$("#modalZoomImg").modal('show');
});
$('#modalZoomImg').on("shown.bs.modal", function (){
imageZoom("zoomImgImg", "zoomImgResult");
});
$('.attiva-slick')
.on('init', function(slick) {
$('.attiva-slick').fadeIn(3000);
})
.slick();
$('.attiva-tiny-slider').each(function (index, item) {
let arrConfig = $(item).data('configurazione');
tns(arrConfig);
$(item).css({ display: "block" });
});
$('.form-ordinazione-articolo').on("submit", function (e) {
let disponibilita = $(this).find('input[name="disponibilita"]').val();
let disponibilitaMagSecondari = $(this).find('input[name="disponibilita-mag-secondari"]').val();
if(disponibilita && disponibilita <= 0 ) {
if(disponibilitaMagSecondari > 0) {
e.preventDefault();
ApriModalMagazziniSecondari($(this).find('input[name="id-mappa"]').val(), $(this).find('input[name="qta"]').val());
}
}
});
$('[data-toggle="popover"]').popover();
$("#set_min_width").css("min-width", $(window).width() / 2);
$("#form_news").mouseleave(function () {
$("#set_min_width").css("display", "none");
});
$("#set_min_width").mouseenter(function () {
$("#set_min_width").css("display", "inline-block");
});
$("#set_min_width").mouseleave(function () {
$("#set_min_width").css("display", "none");
});
$('#cerca-btn-top').on('click', function () {
ResetRicercaFiltroAvanzato();
RicercaVeloce($("#ricercaVeloceTxt").val());
});
$("#ricercaVeloceTxt").on("keypress", function(e) {
if(e.which == 13) {
ResetRicercaFiltroAvanzato();
RicercaVeloce($("#ricercaVeloceTxt").val());
}
});
var errori_validazione = [
{% if errori_validazione is defined %}
{% for err in errori_validazione %}
"{{ err }}",
{% endfor %}
{% endif %}
];
$.each(errori_validazione, function (item) {
$("#form_" + errori_validazione[item]).addClass("dato-invalido");
});
CountArticoliCarrello();
adattaContenutoABarraSuperiore();
{% if (is_granted("ROLE_ADMIN") or is_granted("ROLE_COMMERCIALE") or is_granted("ROLE_AGENTE")) %}
$("#ricercaClienteTxt, #ricercaCittaTxt, #ricercaProvinciaTxt").on("change paste keyup", function () {
CaricaTabellaGeneraleClienti($("#inizioRiga").data('valore'));
});
$(".cercaCliente").on("focus, click", function () {
stadioSostituzione = 0;
$("#modalCercaCliente").modal('show');
});
$("#tipo-ordine-input").on("change", function (){
aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
let cookie = response;
if (cookie != "" && cookie && cookie.length > 0){
let json = JSON.parse(cookie);
let datiCliente = {
'codice' : json.codice,
'ragioneSociale': json.ragioneSociale,
'id' : json.id,
'tipoOrdine' : $("#tipo-ordine-input").find(":selected").val(),
'nascondiPrezzi': $("#nascondiPrzBtnDettCliente").data('valore')
};
{% if (is_granted("ROLE_ADMIN") or is_granted("ROLE_COMMERCIALE") or is_granted("ROLE_AGENTE")) %}
VerificaStileBottoneNascondiPrezzi();
{% endif %}
aggiornaVisualizzaAltriDatiUtente('M', JSON.stringify(datiCliente), function (response) {
CountArticoliCarrello();
location.reload(); //Ricarico la pagina
});
}
});
});
$("#bodyTabellaRicercaCliente").on("click", "tr", function () {
$("#codiceClienteTxt").val($(this).data("codice"));
$("#ragioneSocialeText").val($(this).data("ragione-sociale"));
let datiCliente = {
'codice' : $(this).data("codice"),
'ragioneSociale': $(this).data("ragione-sociale"),
'id' : $(this).data("identificativo"),
'tipoOrdine' : $("#tipo-ordine-input").find(":selected").val(),
'nascondiPrezzi': $("#nascondiPrzBtnDettCliente").data('valore')
};
$('#navbar-dettaglio-cliente').text(datiCliente.codice + ' - ' + datiCliente.ragioneSociale);
$('#selezionaVariantiModalCliente').text('Cliente: ' + datiCliente.codice + ' - ' + datiCliente.ragioneSociale);
$("#modalCercaCliente").modal('toggle');
aggiornaVisualizzaAltriDatiUtente('M', JSON.stringify(datiCliente), function (response) {
AggiornaStatoSelezioneCliente();
CountArticoliCarrello();
CaricaDettaglioCliente(datiCliente.id);
{% if (is_granted("ROLE_ADMIN") or is_granted("ROLE_COMMERCIALE") or is_granted("ROLE_AGENTE")) %}
VerificaStileBottoneNascondiPrezzi();
{% endif %}
});
if(stadioSostituzione == 1){
if(confirm('{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_conferma_spostamento_carrello", "dialog_ricerca_cliente").valoreUscita }}')) {
SpostaCarrello($(this).data("identificativo"));
}
}
});
$('#modalDettaglioClienteSpostaCarrelloBtn').on('click', function (event) {
if(stadioSostituzione == 0){
event.preventDefault();
event.stopPropagation();
stadioSostituzione = 1;
$("#modalCercaCliente").modal('show');
}
});
$('#modalCreaOfferteDaCarrello_creaBtn').on("click", function (event) {
if(confirm("{{ traduzione.OttieniElementoDizionario("dialog_ricerca_cliente_conferma_generazione_offerta", "dialog_ricerca_cliente").valoreUscita }}")){
$("#creaOffertaDaCarrelloForm").submit();
}
});
aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
let cookie = response;
$(".pulisci-selezione-cliente").hide();
if (cookie != "" && cookie && cookie.length > 0){
let json = JSON.parse(cookie);
$(".pulisci-selezione-cliente").show();
$("#codiceClienteTxt").val(json.codice);
$("#ragioneSocialeText").val(json.ragioneSociale);
$("#nascondiPrzBtnDettCliente").data('valore', json.nascondiPrezzi)
let tipoOrdine = json.hasOwnProperty("tipoOrdine") ? json.tipoOrdine : '';
$("#tipo-ordine-input > option").each(function() {
if($(this).val() ==tipoOrdine){
$(this).attr("selected", "selected");
}else{
$(this).removeAttr("selected");
}
});
$('#navbar-dettaglio-cliente').text(json.codice + ' - ' + json.ragioneSociale);
$('#selezionaVariantiModalCliente').text('Cliente: ' + json.codice + ' - ' + json.ragioneSociale);
memorizzazioneAltriDatiUtente = json;
{% if (is_granted("ROLE_ADMIN") or is_granted("ROLE_COMMERCIALE") or is_granted("ROLE_AGENTE")) %}
VerificaStileBottoneNascondiPrezzi();
{% endif %}
CaricaQuadratiAlbero("");
}
});
AggiornaStatoSelezioneCliente();
{% if (is_granted("ROLE_ADMIN") or is_granted("ROLE_COMMERCIALE") or is_granted("ROLE_AGENTE")) %}
VerificaStileBottoneNascondiPrezzi();
{% endif %}
CaricaTabellaGeneraleClienti(0);
{# Verifico se l'utente ha effettuato il LOGIN #}
{% elseif is_granted("IS_AUTHENTICATED_REMEMBERED") %}
aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
let cookie = response;
$(".pulisci-selezione-cliente").hide();
if (cookie != "" && cookie && cookie.length > 0){
let json = JSON.parse(cookie);
$(".pulisci-selezione-cliente").show();
$("#codiceClienteTxt").val(json.codice);
$("#ragioneSocialeText").val(json.ragioneSociale);
let tipoOrdine = json.hasOwnProperty("tipoOrdine") ? json.tipoOrdine : '';
$("#tipo-ordine-input > option").each(function() {
if($(this).val() ==tipoOrdine){
$(this).attr("selected", "selected");
}else{
$(this).removeAttr("selected");
}
});
{% if (is_granted("ROLE_ADMIN") or is_granted("ROLE_COMMERCIALE") or is_granted("ROLE_AGENTE")) %}
$('#navbar-dettaglio-cliente').text(json.codice + ' - ' + json.ragioneSociale);
{% endif %}
$('#selezionaVariantiModalCliente').text('Cliente: ' + json.codice + ' - ' + json.ragioneSociale);
$("#nascondiPrzBtnDettCliente").data('valore', json.nascondiPrezzi)
memorizzazioneAltriDatiUtente = json;
{% if (is_granted("ROLE_ADMIN") or is_granted("ROLE_COMMERCIALE") or is_granted("ROLE_AGENTE")) %}
VerificaStileBottoneNascondiPrezzi();
{% endif %}
CaricaQuadratiAlbero("");
}
});
$("#tipo-ordine-input").on("change", function (){
aggiornaVisualizzaAltriDatiUtente('V', '', function (response) {
let datiCliente = {
'codice' : '',
'ragioneSociale': '',
'id' : '',
'tipoOrdine' : $("#tipo-ordine-input").find(":selected").val(),
'nascondiPrezzi': $("#nascondiPrzBtnDettCliente").data('valore')
};
{% if (is_granted("ROLE_ADMIN") or is_granted("ROLE_COMMERCIALE") or is_granted("ROLE_AGENTE")) %}
VerificaStileBottoneNascondiPrezzi();
{% endif %}
aggiornaVisualizzaAltriDatiUtente('M', JSON.stringify(datiCliente), function (response) {
CountArticoliCarrello();
location.reload(); //Ricarico la pagina
});
});
});
{% endif %}
{% for flash_message in app.session.flashbag.get('notice')%}
toastMessage("{{ flash_message }}");
{% endfor %}
{% for flash_message in app.session.flashbag.get('error')%}
toastMessage("{{ flash_message }}", true);
{% endfor %}
});
</script>
{% block javascript %}{% endblock %}
<div class="pushContent"></div>
</body>
{% if app.request.get("_route") != 'admin_pagine_e_componenti_editor' %}
{% if impostazioni.ritornaImpostazioneDaNome('MostraFooterSviluppatoDa') == '1' %}
<footer class="navbar navbar-default navbar-fixed-bottom">
<div style="margin-top: 15px;" class="container">
<span style="vertical-align: middle;"><a href="http://www.fogazzimirko.it">Sviluppato da Fogazzi Mirko © {{ "now"|date("Y") }}{% block footer %}{% endblock %}</a></span>
</div>
</footer>
{% endif %}
{% endif %}
</html>