{% extends 'base.html.twig' %}
{% block title %}Scrivania{% endblock %}
{% block body_on_load %}onload="hidePreloader();"{% endblock %}
{% block pageTitleH1 %}Benvenuto {{ app.user }} ({{ app.user.accountType }}){% endblock %}
{% block menu %}
<li class="menu-item"><a class="menu-link" href="{{ path ('user_index') }}">Scrivania</a>
<ul class="sub-menu-container bg_pr">
{% if app.user.getAccountTypology == 'agency' %}
<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_settings') }}">Impostazioni</a></li>
{% endif %}
<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_utility') }}">Utility</a></li>
</ul>
</li>
{% if app.user.canRead('company') %}
<li class="menu-item"><a class="menu-link" href="javascript: void(0)">Azienda</a>
<ul class="sub-menu-container bg_pr">
<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_company') }}">Dati anagrafici</a></li>
<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_company_economic') }}">Economico</a></li>
</ul>
</li>
{% endif %}
<li class="menu-item">
<a class="menu-link" {% if app.user.canRead('anagraphic_users') %}href="{{ path ('user_users_index') }}"{% else %}href="javascript: void(0)"{% endif %}>Utenti</a>
<ul class="sub-menu-container bg_pr">
<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_user_profile') }}">Profilo</a></li>
{% if app.user.canRead('staff') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_users_staff') }}">Staff</a></li>{% endif %}
{% if app.user.canRead('technician') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_users_technicians') }}">Tecnici</a></li>{% endif %}
</ul>
</li>
{% if app.user.canRead('anagraphic') %}
<li class="menu-item">
<a class="menu-link" href="{{ path ('user_anagraphics') }}">Anagrafiche</a>
{% if app.user.canRead('anagraphic_supplier') or app.user.canRead('anagraphic_producer') or app.user.canRead('anagraphic_client') or app.user.canRead('anagraphic_destination') %}
<ul class="sub-menu-container bg_pr">
{% if app.user.canRead('anagraphic_supplier') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_anagraphic_suppliers') }}">Fornitori</a></li>{% endif %}
{% if app.user.canRead('anagraphic_producer') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_anagraphic_producers') }}">Produttori</a></li>{% endif %}
{% if app.user.canRead('anagraphic_client') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_anagraphic_clients') }}">Clienti</a></li>{% endif %}
{% if app.user.canRead('anagraphic_destination') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_anagraphic_destinations') }}">Destinazioni</a></li>{% endif %}
</ul>
{% endif %}
</li>
{% endif %}
{% if app.user.canRead('product') %}
<li class="menu-item">
<a class="menu-link" href="{{ path ('user_product_search') }}">Prodotti</a>
{% if app.user.canRead('product') or app.user.canRead('product_category') or app.user.canRead('product_subcategory') or app.user.canRead('product_model') or app.user.canRead('product_component') %}
<ul class="sub-menu-container bg_pr">
{% if app.user.canRead('product') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_product_search') }}">Ricerca</a></li>{% endif %}
{% if app.user.canRead('product_category') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_product_categories') }}">Categorie</a></li>{% endif %}
{% if app.user.canRead('product_subcategory') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_product_subcategories') }}">Sottocategorie</a></li>{% endif %}
{% if app.user.canRead('product_component') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_product_components') }}">Componenti</a></li>{% endif %}
{% if app.user.canRead('product_model') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_product_models') }}">Modelli</a></li>{% endif %}
{% if app.user.canRead('product') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_product_regenerated') }}">Rigenerati</a></li>{% endif %}
{% if app.user.canRead('product') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_product_stationary') }}">Fermi</a></li>{% endif %}
</ul>
{% endif %}
</li>
{% endif %}
{% if app.user.canRead('warehouse') %}
{% if app.user.getAccountTypology == 'agency' or app.user.getAccountTypology == 'warehouse' %}
<li class="menu-item"><a class="menu-link" href="{{ path ('user_warehouse_list') }}">Magazzini</a>
<ul class="sub-menu-container bg_pr">
{% for w in global_hqw.headquarterWarehouses %}
<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_warehouse_sheet', {'warehouseId':w.id}) }}">{{ w.nickname }}</a></li>
{% endfor %}
</ul>
</li>
{% elseif app.user.getAccountTypology == 'technician' %}
{% if app.user.warehouses|length == 1 %}
<li class="menu-item"><a class="menu-link" href="{{ path ('user_warehouse_sheet', {'warehouseId':app.user.warehouses[0].warehouse.id}) }}">Magazzino</a></li>
{% else %}
<li class="menu-item"><a class="menu-link" href="{{ path ('user_warehouse_list') }}">Magazzini</a></li>
{% endif %}
{% endif %}
{% endif %}
{% if app.user.canRead('transfer') %}
<li class="menu-item"><a class="menu-link" href="{{ path ('user_transfer_search') }}">Trasferimenti</a></li>
{% endif %}
{% if app.user.canRead('ticket') %}
<li class="menu-item">
<a class="menu-link" href="{{ path ('user_ticket_list') }}">Ticket</a>
<ul class="sub-menu-container bg_pr">
{% if app.user.canRead('ticket') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_ticket_search') }}">Ricerca</a></li>{% endif %}
{% if app.user.canRead('ticket') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_ticket_list') }}">Lista</a></li>{% endif %}
{% if app.user.getAccountTypology == 'agency' %}
<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_ticket_import') }}">Importa da CSV</a></li>
<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_ticket_new') }}">Aggiungi manualmente</a></li>
{% endif %}
</ul>
</li>
{% endif %}
{% if app.user.canRead('intervention') %}
<li class="menu-item"><a class="menu-link" href="{{ path ('user_intervention_search') }}">Interventi</a></li>
{% endif %}
{% if app.user.canRead('configuration') %}
<li class="menu-item">
<a class="menu-link" href="{{ path ('user_configurations') }}">Configurazioni</a>
<ul class="sub-menu-container bg_pr">
{% if app.user.canRead('configuration_regions') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_configuration_regions') }}">Regioni di competenza</a></li>{% endif %}
{% if app.user.canRead('configuration_city_alias') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_configuration_city_aliases') }}">Alias città</a></li>{% endif %}
{% if app.user.canRead('configuration_intervention_outcome') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_configuration_intervention_outcomes') }}">Esiti intervento</a></li>{% endif %}
{% if app.user.canRead('configuration_intervention_activity_type') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_configuration_intervention_activity_types') }}">Tipi attività intervento</a></li>{% endif %}
{% if app.user.canRead('configuration_operation_group') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_configuration_operation_groups') }}">Gruppi operazione</a></li>{% endif %}
{% if app.user.canRead('configuration_account_type') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_configuration_account_types') }}">Tipi account</a></li>{% endif %}
{% if app.user.canRead('configuration_courier') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_configuration_couriers') }}">Corrieri</a></li>{% endif %}
{% if app.user.canRead('configuration_ddt_header') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_configuration_ddt_headers') }}">Intestazioni DDT</a></li>{% endif %}
{% if app.user.canRead('configuration_ddt_causal') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_configuration_ddt_causals') }}">Causali DDT</a></li>{% endif %}
{% if app.user.canRead('configuration_ticket_column_value') %}<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_configuration_ticket_column_values') }}">Aggiungi valore colonna ticket</a></li>{% endif %}
</ul>
</li>
{% endif %}
<li class="menu-item">
<a class="menu-link" href="javascript: void(0)">Info</a>
<ul class="sub-menu-container bg_pr">
<li class="menu-item"><a class="menu-link color_w" href="{{ path ('user_info_updates') }}">Aggiornamenti</a></li>
</ul>
</li>
<li class="menu-item"><a class="menu-link" href="{{ path ('logout') }}"><div>Esci</div></a></li>
{% endblock %}
{% block subMenuLeft %}{% endblock %}
{% block subMenuRight %}
{% if app.user.getAccountTypology == 'agency' %}<li class="nav-item"><a class="nav-link" href="{{ path ('user_settings') }}">Impostazioni</a></li>{% endif %}
{% endblock %}
{% block content %}
<section class="m_tb_40p p_lr_30p">
{% if app.user.getAccountTypology == 'agency' or app.user.getAccountTypology == 'administration' or app.user.getAccountTypology == 'commercial' or app.user.getAccountTypology == 'warehouse' %} {# Agenzia / Amministrazione / Commerciale / Magazzino #}
<div class="row">
<div class="col-12 responsive_font_size">
<div class="tabs clearfix m_b_none">
<ul class="tab-nav clearfix">
{% if app.user.canViewTab('desk_ticket') %}<li><a id="btn_tab_tickets" href="#tickets" class="tab_session" data-filterTab="tickets"><i class="icon-tag d-block d-md-none" data-bs-toggle="tooltip" title="Ticket"></i><span class="d-none d-md-block">Ticket</span></a></li>{% endif %}
{% if app.user.canViewTab('desk_warehouse') %}<li><a id="btn_tab_warehouses" href="#warehouses" class="tab_session" data-filterTab="warehouses"><i class="icon-warehouse d-block d-md-none" data-bs-toggle="tooltip" title="Magazzini"></i><span class="d-none d-md-block">Magazzini</span></a></li>{% endif %}
{% if app.user.canViewTab('desk_operation') %}<li><a id="btn_tab_operations" href="#operations" class="tab_session" data-filterTab="operations"><i class="icon-wrench d-block d-md-none" data-bs-toggle="tooltip" title="Operazioni"></i><span class="d-none d-md-block">Operazioni</span></a></li>{% endif %}
{% if app.user.canViewTab('desk_product') %}<li><a id="btn_tab_products" href="#products" class="tab_session" data-filterTab="products"><i class="icon-box d-block d-md-none" data-bs-toggle="tooltip" title="Prodotti"></i><span class="d-none d-md-block">Prodotti</span></a></li>{% endif %}
{% if app.user.canViewTab('desk_search') %}<li><a id="btn_tab_search" href="#search" class="tab_session" data-filterTabsearch="" id="tab_search"><i class="icon-search1 d-block d-md-none" data-bs-toggle="tooltip" title="Ricerca"></i><span class="d-none d-md-block">Ricerca</span></a></li>{% endif %}
</ul>
<div class="tab-container">
{# Ticket #}
{% if app.user.canViewTab('desk_ticket') %}
<div class="tab-content clearfix" id="tickets">
<div class="row">
<div class="col-12">
<div class="tabs side-tabs clearfix m_b_none">
<ul class="tab-nav tab-nav2 clearfix">
{% if app.user.canRead('desk_ticket_summary_ticket') %}<li><a id="btn_tab_ticket" href="#summary_ticket" class="tab_session2" data-filterTab="ticket"><i class="icon-table1 d-block d-md-none" data-bs-toggle="tooltip" title="Situazione ticket"></i><span class="d-none d-md-block">Situazione ticket</span></a></li>{% endif %}
{% if app.user.canRead('desk_ticket_summary_techs') %}<li><a id="btn_tab_techs" href="#summary_techs" class="tab_session2" data-filterTab="techs"><i class="icon-table1 d-block d-md-none" data-bs-toggle="tooltip" title="Situazione tecnici"></i><span class="d-none d-md-block">Situazione tecnici</span></a></li>{% endif %}
{% if app.user.canRead('desk_ticket_errors') %}<li><a id="btn_tab_errors" href="#errors" class="tab_session2" data-filterTab="errors"><i class="icon-minus-sign d-block d-md-none" data-bs-toggle="tooltip" title="Con errori ({{ ticketWithErrors|length }})"></i><span class="d-none d-md-block">Con errori ({{ ticketWithErrors|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_ticket_suspension_requests') %}<li><a id="btn_tab_suspension_requests" href="#suspension_requests" class="tab_session2" data-filterTab="suspension_requests"><i class="icon-stopwatch d-block d-md-none" data-bs-toggle="tooltip" title="Richieste sospensioni ({{ ticketSuspensionRequest|length }})"></i><span class="d-none d-md-block">Richieste sospensioni ({{ ticketSuspensionRequest|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_ticket_closed_portal') %}<li><a id="btn_tab_closed_portal" href="#closed_portal" class="tab_session2" data-filterTab="closed_portal"><i class="icon-lock d-block d-md-none" data-bs-toggle="tooltip" title="Chiusi su fornitore ({{ ticketClosedPortal|length }})"></i><span class="d-none d-md-block">Chiusi su fornitore ({{ ticketClosedPortal|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_ticket_waiting_for_material') %}<li><a id="btn_tab_waiting_for_material" href="#waiting_for_material" class="tab_session2" data-filterTab="waiting_for_material">{% include 'components/twig/index/tab_label.html.twig' with {'icon':'icon-truck-loading', 'text':"In attesa di materiale (" ~ ticketWaitingForMaterial|length ~ ")"} %}</a></li>{% endif %}
{% if app.user.canRead('desk_ticket_intervention_without_activities') %}<li><a id="btn_tab_intervention_without_activities" href="#intervention_without_activities" class="tab_session2" data-filterTab="intervention_without_activities"><i class="icon-question d-block d-md-none" data-bs-toggle="tooltip" title="Interventi senza attività ({{ interventionWithoutActivities|length }})"></i><span class="d-none d-md-block">Interventi senza attività ({{ interventionWithoutActivities|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_ticket_intervention_tariff_out') %}<li><a id="btn_tab_intervention_tariff_out" href="#intervention_tariff_out" class="tab_session2" data-filterTab="intervention_tariff_out"><i class="icon-dollar d-block d-md-none" data-bs-toggle="tooltip" title="Interventi fuori zona ({{ interventionTariffOut|length }})"></i><span class="d-none d-md-block">Interventi fuori zona ({{ interventionTariffOut|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_ticket_extras') %}<li><a id="btn_tab_extras" href="#extras" class="tab_session2" data-filterTab="extras"><i class="icon-plus1 d-block d-md-none" data-bs-toggle="tooltip" title="Extra da gestire ({{ interventionExtras|length }})"></i><span class="d-none d-md-block">Extra da gestire ({{ interventionExtras|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_ticket_reminders') %}<li><a id="btn_tab_reminders" href="#reminders" class="tab_session2" data-filterTab="reminders"><i class="icon-clock d-block d-md-none" data-bs-toggle="tooltip" title="Promemoria ({{ ticketReminders|length }})"></i><span class="d-none d-md-block">Promemoria ({{ ticketReminders|length }})</span></a></li>{% endif %}
</ul>
<div class="tab-container overflow_a">
{% if app.user.canRead('desk_ticket_summary_ticket') %}
{# Situazione ticket #}
<div class="tab-content clearfix" id="summary_ticket">
<h4 class="form_title">Situazione ticket</h4>
<hr class="m_t_none">
<div class="overflow_a">
<table class="table table-bordered responsive_font_size">
<thead>
<tr class="bg_pr color_w">
<th class="td_w_120p">Gruppo</th>
<th class="td_w_110p txt_a_c a_th_hover" onclick="goToTicketList('to_assign', '')">Da assegnare</th>
<th class="td_w_110p txt_a_c a_th_hover" onclick="goToTicketList('assigned', '')">Assegnati</th>
<th class="td_w_110p txt_a_c a_th_hover" onclick="goToTicketList('taken_charge', '')">Presi in carico</th>
<th class="td_w_110p txt_a_c a_th_hover" onclick="goToTicketList('closed', '')">Chiusi</th>
<th class="td_w_110p txt_a_c a_th_hover" onclick="goToTicketList('suspension_request', '')">Richieste sosp</th>
<th class="td_w_110p txt_a_c a_th_hover" onclick="goToTicketList('suspended', '')">Sospesi</th>
<th class="td_w_110p txt_a_c a_th_hover" onclick="goToTicketList('canceled', '')">Annullati</th>
<th class="td_w_110p txt_a_c a_th_hover" onclick="goToTicketList('wrong', '')">Errati</th>
<th class="td_w_110p txt_a_c a_th_hover" onclick="goToTicketList('closed_portal', '')">Chiusi portale</th>
<td class="bg_pr" style="padding: 0px 0px 0px px; width: 0px;"></td>
<th class="td_w_110p txt_a_c">Totale</th>
</tr>
</thead>
<tbody>
{% set total = 0 %}
{% for og in operationGroups %}
{% set rowTotal = 0 %}
<tr>
<td>{{ og.value }}</td>
{% for ts in ticketStatuses %}
{% for ticketGroup in matrixTickets %}
{% if ticketGroup[0] == og.id %}
{% for grCounts in ticketGroup[1] %}
{% if grCounts[0] == ts.id %}
{% if app.user.accountTypology == 'technician' %}
<td class="txt_a_c a_td_hover" onclick="goToTicketList('{{ ts.slug }}', '{{ og.slug }}')">{{ grCounts[1] }}</td>
{% else %}
<td class="txt_a_c a_td_hover" onclick="goToTicketList('{{ ts.slug }}', '{{ og.id }}')">{{ grCounts[1] }}</td>
{% endif %}
{% set rowTotal = rowTotal + grCounts[1] %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}
<td class="bg_pr"></td>
<th class="txt_a_c">{{ rowTotal }}</th>
</tr>
{% set total = total + rowTotal %}
{% endfor %}
<tr class="bg_pr">
<td></td>
{% for ts in ticketStatuses %}
<td></td>
{% endfor %}
<td></td>
<td></td>
</tr>
<tr>
<th>Totale</th>
{% for ts in ticketStatuses %}
{% set columnTotal = 0 %}
{% for ticketGroup in matrixTickets %}
{% for grCounts in ticketGroup[1] %}
{% if grCounts[0] == ts.id %}
{% set columnTotal = columnTotal + grCounts[1] %}
{% endif %}
{% endfor %}
{% endfor %}
<th class="txt_a_c">{{ columnTotal }}</th>
{% endfor %}
<th class="bg_pr"></th>
<th class="txt_a_c">{{ total }}</th>
</tr>
</tbody>
</table>
</div>
</div>
{% endif %}
{% if app.user.canRead('desk_ticket_summary_techs') %}
{# Situazione tecnici #}
<div class="tab-content clearfix" id="summary_techs">
<h4 class="form_title">Situazione tecnici - Presi in carico (Assegnati)</h4>
<hr class="m_t_none">
<div class="overflow_a">
<table class="table table-bordered responsive_font_size">
<thead>
<tr class="bg_pr color_w">
<th class="td_w_120p">Tecnico</th>
{% for og in operationGroups %}
<th class="td_w_110p txt_a_c a_th_hover" onclick="goToTechTicketList('{{ og.id }}', '')">{{ og.value }}</th>
{% endfor %}
<td class="bg_pr" style="padding: 0px 0px 0px px; width: 0px;"></td>
<th class="td_w_110p txt_a_c">Totali</th>
</tr>
</thead>
<tbody>
{% set totalAssigned = 0 %}
{% set totalTakenCharge = 0 %}
{% for tech in technicians %}
{% set rowTotalAssigned = 0 %}
{% set rowTotalTakenCharge = 0 %}
<tr>
<td>{{ tech }}</td>
{% for og in operationGroups %}
{% for techGroup in matrixTechsTickets %}
{% if techGroup[0] == tech.id %}
{% for techCounts in techGroup[1] %}
{% if techCounts[0] == og.id %}
<td class="txt_a_c a_td_hover" onclick="goToTechTicketList('{{ og.id }}', '{{ tech }}')">{{ techCounts[2] }} {% if techCounts[1] > 0 %}({{ techCounts[1] }}){% endif %}</td>
{% set rowTotalAssigned = rowTotalAssigned + techCounts[1] %}
{% set rowTotalTakenCharge = rowTotalTakenCharge + techCounts[2] %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}
<td class="bg_pr"></td>
<th class="txt_a_c">{{ rowTotalTakenCharge }} {% if rowTotalAssigned > 0 %}({{ rowTotalAssigned }}){% endif %}</th>
</tr>
{% set totalAssigned = totalAssigned + rowTotalAssigned %}
{% set totalTakenCharge = totalTakenCharge + rowTotalTakenCharge %}
{% endfor %}
<tr class="bg_pr">
<td></td>
{% for og in operationGroups %}
<td></td>
{% endfor %}
<td></td>
<td></td>
</tr>
<tr>
<th>Totale</th>
{% for og in operationGroups %}
{% set columnTotalAssigned = 0 %}
{% set columnTotalTakenCharge = 0 %}
{% for techGroup in matrixTechsTickets %}
{% for techCounts in techGroup[1] %}
{% if techCounts[0] == og.id %}
{% set columnTotalAssigned = columnTotalAssigned + techCounts[1] %}
{% set columnTotalTakenCharge = columnTotalTakenCharge + techCounts[2] %}
{% endif %}
{% endfor %}
{% endfor %}
<th class="txt_a_c">{{ columnTotalTakenCharge }} {% if columnTotalAssigned > 0 %}({{ columnTotalAssigned }}){% endif %}</th>
{% endfor %}
<th class="bg_pr"></th>
<th class="txt_a_c">{{ totalTakenCharge }} {% if totalAssigned > 0 %}({{ totalAssigned }}){% endif %}</th>
</tr>
</tbody>
</table>
</div>
</div>
{% endif %}
{% if app.user.canRead('desk_ticket_errors') %}
{# Con errori #}
<div class="tab-content clearfix" id="errors">
<h4 class="form_title">Ticket con errori</h4>
<hr class="m_t_none">
<div class="overflow_a">
{% if ticketWithErrors|length > 0 %}
<table class="table table-sm responsive_font_size">
<thead>
<tr>
<th class="td_w_60p">Numero</th>
<th class="td_w_130p">Fornitore</th>
<th class="td_w_150p">Operazione</th>
<th class="td_w_150p">Cliente</th>
<th class="td_w_300p">Errore</th>
<th></th>
</tr>
</thead>
<tbody>
{% for t in ticketWithErrors %}
{% if loop.index < 50 %}
<tr>
<td>{{ t.number }}</td>
<td>{{ t.supplier }}</td>
<td>{{ t.operation }}</td>
<td>{{ t.client }}</td>
<td>{{ t.systemErrorDetails }}</td>
<td class="td_action"><a href="{{ path ('user_ticket_sheet', {'ticketId':t.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
{% if ticketWithErrors|length > 50 %}
<div class="style-msg alertmsg m_b_none">
<div class="sb-msg"><i class="icon-warning-sign"></i><strong>Attenzione!</strong> Per ridurre i tempi di caricamento della scrivania, sono visualizzati solo 50 risultati</div>
</div>
{% endif %}
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessuna ticket con errori!</div>
</div>
{% endif %}
</div>
</div>
{% endif %}
{% if app.user.canRead('desk_ticket_suspension_requests') %}
{# Richieste sospensioni #}
<div class="tab-content clearfix" id="suspension_requests">
<h4 class="form_title">Ticket con sospensioni da approvare</h4>
<hr class="m_t_none">
<div class="overflow_a">
{% if ticketSuspensionRequest|length > 0 %}
<table class="table table-sm responsive_font_size">
<thead>
<tr>
<th class="td_w_100p">Numero</th>
<th class="td_w_140p">Fornitore</th>
<th class="td_w_150p">Operazione</th>
<th class="td_w_140p">Cliente</th>
<th class="td_w_120p">Tecnico</th>
<th></th>
</tr>
</thead>
<tbody>
{% for t in ticketSuspensionRequest %}
<tr>
<td>{{ t.number }}</td>
<td>{{ t.supplier }}</td>
<td>{{ t.operation }}</td>
<td>{{ t.client }}</td>
<td>{{ t.technician }}</td>
<td class="td_action"><a href="{{ path ('user_ticket_sheet', {'ticketId':t.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun ticket con sospensioni da approvare!</div>
</div>
{% endif %}
</div>
</div>
{% endif %}
{% if app.user.canRead('desk_ticket_closed_portal') %}
{# Chiusi su portale #}
<div class="tab-content clearfix" id="closed_portal">
<h4 class="form_title">Ticket chiusi su portale e non su piattaforma</h4>
<hr class="m_t_none">
<div class="overflow_a">
{% if ticketClosedPortal|length > 0 %}
<table class="table table-sm responsive_font_size">
<thead>
<tr>
<th class="td_w_100p">Numero</th>
<th class="td_w_140p">Fornitore</th>
<th class="td_w_250p">Operazione</th>
<th class="td_w_200p">Cliente</th>
<th class="td_w_170p">Data inizio/Data scadenza</th>
<th></th>
</tr>
</thead>
<tbody>
{% for t in ticketClosedPortal %}
<tr>
<td>{{ t.number }}</td>
<td>{{ t.supplier }}</td>
<td>{{ t.operation }}</td>
<td>{{ t.client }}</td>
<td>{% if t.datetimeStart != null %}{{ t.datetimeStart|date('d-m-Y H:i') }}{% else %}---{% endif %}/{% if t.datetimeExpiration != null %}{{ t.datetimeExpiration|date('d-m-Y H:i') }}{% else %}---{% endif %}</td>
<td class="td_action"><a href="{{ path ('user_ticket_sheet', {'ticketId':t.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessuna ticket con ticket chiuso su portale e non su piattaforma!</div>
</div>
{% endif %}
</div>
</div>
{% endif %}
{% if app.user.canRead('desk_ticket_waiting_for_material') %}
{# In attesa di materiale #}
<div class="tab-content clearfix" id="waiting_for_material">
<h4 class="form_title">Ticket in attesa del materiale</h4>
<hr class="m_t_none">
<div class="overflow_a">
{% include 'components/twig/index/ticket_waiting.html.twig' with {'ticketWaitingForMaterial':ticketWaitingForMaterial} %}
</div>
</div>
{% endif %}
{% if app.user.canRead('desk_ticket_intervention_without_activities') %}
{# Interventi senza attività #}
<div class="tab-content clearfix" id="intervention_without_activities">
<h4 class="form_title">Interventi senza attività</h4>
<hr class="m_t_none">
<div class="overflow_a">
{% if interventionWithoutActivities|length > 0 %}
<table class="table table-sm responsive_font_size">
<thead>
<tr>
<th class="td_w_100p">N° ticket</th>
<th class="td_w_300p">Data</th>
<th class="td_w_300p">Intervento</th>
<th class="td_w_200p">Esito</th>
<th class="td_w_150p">Tecnico</th>
<th class="td_w_150p">Operatore</th>
<th></th>
</tr>
</thead>
<tbody>
{% for i in interventionWithoutActivities %}
<tr>
<td>{{ i.ticket.number }}</td>
<td>{{ i.datetime|date('d-m-Y H:i') }}</td>
<td>{{ i }}</td>
<td>{{ i.outcome }}</td>
<td>{{ i.technician }}</td>
<td>{{ i.operator }}</td>
<td class="td_action"><a href="{{ path ('user_ticket_sheet', {'ticketId':i.ticket.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda ticket"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun intervento senza attività!</div>
</div>
{% endif %}
</div>
</div>
{% endif %}
{% if app.user.canRead('desk_ticket_intervention_tariff_out') %}
{# Interventi fuori zona #}
<div class="tab-content clearfix" id="intervention_tariff_out">
<h4 class="form_title">Interventi fuori zona</h4>
<hr class="m_t_none">
<div class="overflow_a">
{% if interventionTariffOut|length > 0 %}
<table class="table table-sm responsive_font_size">
<thead>
<tr>
<th class="td_w_100p">N° ticket</th>
<th class="td_w_150p">Data/Ora</th>
<th class="td_w_300p">Intervento</th>
<th class="td_w_200p">Esito</th>
<th class="td_w_150p">Tecnico</th>
<th class="td_w_150p">Operatore</th>
<th class="td_w_200p">Città (Provincia)</th>
<th></th>
</tr>
</thead>
<tbody>
{% for i in interventionTariffOut %}
{% if loop.index < 50 %}
<tr>
<td>{{ i.ticket.number }}</td>
<td>{{ i.datetime|date('d-m-Y H:i') }}</td>
<td>{{ i }}</td>
<td>{{ i.outcome }}</td>
<td>{{ i.technician }}</td>
<td>{{ i.operator }}</td>
<td>{{ i.ticket.idCity|translate_city() }}</td>
<td class="td_action"><a href="{{ path ('user_ticket_sheet', {'ticketId':i.ticket.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda ticket"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
{% if interventionTariffOut|length > 50 %}
<div class="style-msg alertmsg m_b_none">
<div class="sb-msg"><i class="icon-warning-sign"></i><strong>Attenzione!</strong> Per ridurre i tempi di caricamento della scrivania, sono visualizzati solo 50 risultati</div>
</div>
{% endif %}
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun intervento fuori zona da gestire!</div>
</div>
{% endif %}
</div>
</div>
{% endif %}
{% if app.user.canRead('desk_ticket_extras') %}
{# Extra da gestire #}
<div class="tab-content clearfix" id="extras">
<h4 class="form_title">Extra da gestire</h4>
<hr class="m_t_none">
<div class="overflow_a">
{% if interventionExtras|length > 0 %}
<table class="table table-sm responsive_font_size">
<thead>
<tr>
<th class="td_w_500p">Intervento</th>
<th class="td_w_150p">Tipo</th>
<th class="td_w_150p txt_a_c">Ammontare</th>
<th class="td_w_100p txt_a_c">Ore</th>
<th>Note</th>
<th></th>
</tr>
</thead>
<tbody>
{% for e in interventionExtras %}
<tr>
<td>{{ e.intervention }}</td>
<td>{{ e.displayType() }}</td>
<td class="txt_a_c">{{ e.cost }} €</td>
<td class="txt_a_c">{% if e.hours != null %}{{ e.hours }}{% else %}---{% endif %}</td>
<td class="font_14">{% if e.notes != null %}{{ e.notes }}{% else %}---{% endif %}</td>
<td class="td_action"><a href="{{ path ('user_ticket_sheet', {'ticketId':e.intervention.ticket.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun ticket con extra da gestire!</div>
</div>
{% endif %}
</div>
</div>
{% endif %}
{% if app.user.canRead('desk_ticket_reminders') %}
{# Reminder #}
<div class="tab-content clearfix" id="reminders">
<h4 class="form_title">Promemoria</h4>
<hr class="m_t_none">
<div class="overflow_a">
{% if ticketReminders|length > 0 %}
<table class="table table-sm responsive_font_size">
<thead>
<tr>
<th class="td_w_150p">Data/Ora</th>
<th class="td_w_150p">Utente</th>
<th>Dettagli</th>
<th></th>
</tr>
</thead>
<tbody>
{% for r in ticketReminders %}
<tr {% if r.datetime|date('YmdHi') < "now"|date('YmdHi') %}class="bg_r_h"{% endif %}>
<td>{{ r.datetime|date('d-m-Y H:i') }}</td>
<td>{{ r.technician }}</td>
<td>{{ r.details }}</td>
<td class="td_action"><a href="{{ path ('user_ticket_sheet', {'ticketId':r.ticket.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun promemoria presente!</div>
</div>
{% endif %}
</div>
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
{% endif %}
{# Magazzini #}
{% if app.user.canViewTab('desk_warehouse') %}
<div class="tab-content clearfix" id="warehouses">
{% if warehouseAlarms|length == 1 %}
{% for warehouseData in warehouseAlarms %}
<div class="row">
<div class="col-12">
<h4 class="form_title">{{ warehouseData[1] }}</h4>
<hr class="m_t_none m_b_none">
</div>
<div class="col-12 overflow_a">
<div class="tabs side-tabs clearfix m_b_none">
<ul class="tab-nav tab-nav2 clearfix">
{% if app.user.canRead('desk_warehouse_product_to_manage') %}<li><a id="btn_tab_{{ warehouseData[0] }}_product_to_manage" href="#{{ warehouseData[0] }}_product_to_manage" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_product_to_manage"><i class="icon-box d-block d-md-none" data-bs-toggle="tooltip" title="Prodotti da gestire ({{ warehouseData[2] }})"></i><span class="d-none d-md-block">Prodotti da gestire ({{ warehouseData[2] }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_warehouse_transfer_incoming') %}<li><a id="btn_tab_{{ warehouseData[0] }}_transfers_incoming" href="#{{ warehouseData[0] }}_transfers_incoming" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_transfers_incoming"><i class="icon-truck d-block d-md-none" data-bs-toggle="tooltip" title="Trasferimenti in entrata ({{ warehouseData[3]|length }})"></i><span class="d-none d-md-block">Trasferimenti in entrata ({{ warehouseData[3]|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_warehouse_transfer_output') %}<li><a id="btn_tab_{{ warehouseData[0] }}_transfers_output" href="#{{ warehouseData[0] }}_transfers_output" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_transfers_output"><i class="icon-truck-loading d-block d-md-none" data-bs-toggle="tooltip" title="Trasferimenti in uscita ({{ warehouseData[4]|length }})"></i><span class="d-none d-md-block">Trasferimenti in uscita ({{ warehouseData[4]|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_warehouse_transfer_ddt_missing') %}<li><a id="btn_tab_{{ warehouseData[0] }}_transfers_ddt_missing" href="#{{ warehouseData[0] }}_transfers_ddt_missing" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_transfers_ddt_missing"><i class="icon-signature d-block d-md-none" data-bs-toggle="tooltip" title="Trasferimenti senza DDT firmato ({{ warehouseData[5]|length }})"></i><span class="d-none d-md-block">Trasferimenti senza DDT firmato ({{ warehouseData[5]|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_warehouse_request_technicians') %}<li><a id="btn_tab_{{ warehouseData[0] }}_request_technicians" href="#{{ warehouseData[0] }}_request_technicians" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_request_technicians"><i class="icon-question d-block d-md-none" data-bs-toggle="tooltip" title="Richieste tecnici ({{ warehouseData[6]|length }})"></i><span class="d-none d-md-block">Richieste tecnici ({{ warehouseData[6]|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_warehouse_stocks_red') %}<li><a id="btn_tab_{{ warehouseData[0] }}_product_stocks_red" href="#{{ warehouseData[0] }}_product_stocks_red" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_product_stocks_red"><i class="icon-box d-block d-md-none" data-bs-toggle="tooltip" title="Scorte prodotti rosse ({{ warehouseData[7]|length }})"></i><span class="d-none d-md-block">Scorte prodotti rosse ({{ warehouseData[7]|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_warehouse_stocks_yellow') %}<li><a id="btn_tab_{{ warehouseData[0] }}_product_stocks_yellow" href="#{{ warehouseData[0] }}_product_stocks_yellow" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_product_stocks_yellow"><i class="icon-box d-block d-md-none" data-bs-toggle="tooltip" title="Scorte prodotti gialle ({{ warehouseData[8]|length }})"></i><span class="d-none d-md-block">Scorte prodotti gialle ({{ warehouseData[8]|length }})</span></a></li>{% endif %}
</ul>
<div class="tab-container">
{# Sede centrale #}
{% if app.user.canRead('desk_warehouse_product_to_manage') %}
{# Prodotti da gestire #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_product_to_manage">
<h4 class="form_title">Prodotti da gestire</h4>
<hr class="m_t_none">
{% if warehouseData[2] > 0 %}
<div class="style-msg infomsg m_b_none">
<div class="sb-msg"><i class="icon-info"></i><strong>Attenzione!</strong> Ci sono {{ warehouseData[2] }} prodotti da gestire in questo magazzino!<a href="{{ path ('user_warehouse_sheet', {'warehouseId':warehouseData[0]}) }}" class="button button-3d button-mini button-amber f_right m_none">Vai al magazzino</a></div>
</div>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun prodotto da gestire presente nel magazzino</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_warehouse_transfer_incoming') %}
{# Trasferimenti in entrata #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_transfers_incoming">
<h4 class="form_title">Trasferimenti in entrata non completati</h4>
<hr class="m_t_none">
{% if warehouseData[3]|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th class="txt_a_c">Fase</th>
<th>Magazzino provenienza</th>
<th>Fornitore</th>
<th>Data creazione</th>
<th>Data invio</th>
<th>Data completamento</th>
<th></th>
</tr>
</thead>
<tbody>
{% for pt in warehouseData[3] %}
<tr>
<td class="txt_a_c">{{ pt.displayPhase('icon')|raw }}</td>
<td>{{ pt.warehouseFrom }}</td>
<td>{{ pt.supplier }}</td>
<td>{{ pt.datetimeCreation|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeSend|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeCompletion|date('d-m-Y H:i') }}</td>
<td class="td_action"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':warehouseData[0], 'transferId':pt.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda trasferimento"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun trasferimento in entrata non completato!</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_warehouse_transfer_output') %}
{# Trasferimenti in uscita #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_transfers_output">
<h4 class="form_title">Trasferimenti in uscita non completati</h4>
<hr class="m_t_none">
{% if warehouseData[4]|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th class="txt_a_c">Fase</th>
<th>Magazzino destinazione</th>
<th>Fornitore</th>
<th>Data creazione</th>
<th>Data invio</th>
<th>Data completamento</th>
<th></th>
</tr>
</thead>
<tbody>
{% for pt in warehouseData[4] %}
<tr>
<td class="txt_a_c">{{ pt.displayPhase('icon')|raw }}</td>
<td>{{ pt.warehouseTo }}</td>
<td>{{ pt.supplier }}</td>
<td>{{ pt.datetimeCreation|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeSend|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeCompletion|date('d-m-Y H:i') }}</td>
<td class="td_action"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':warehouseData[0], 'transferId':pt.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda trasferimento"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun trasferimento in uscita non completato!</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_warehouse_transfer_ddt_missing') %}
{# Trasferimenti senza DDT firmato #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_transfers_ddt_missing">
<h4 class="form_title">Trasferimenti senza DDT firmato</h4>
<hr class="m_t_none">
{% if warehouseData[5]|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th class="td_w_80p txt_a_c">Fase</th>
<th class="td_w_80p txt_a_c">Fase DDT</th>
<th>Magazzino provenienza</th>
<th>Magazzino destinazione</th>
<th>Fornitore</th>
<th>Data creazione</th>
<th>Data invio</th>
<th>Data completamento</th>
<th></th>
</tr>
</thead>
<tbody>
{% for pt in warehouseData[5] %}
<tr>
<td class="txt_a_c">{{ pt.displayPhase('icon')|raw }}</td>
<td class="txt_a_c">{{ pt.displayPhaseDdt('icon')|raw }}</td>
<td>{{ pt.warehouseFrom }}</td>
<td>{{ pt.warehouseTo }}</td>
<td>{{ pt.supplier }}</td>
<td>{{ pt.datetimeCreation|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeSend|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeCompletion|date('d-m-Y H:i') }}</td>
<td class="td_action"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':warehouseData[0], 'transferId':pt.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda trasferimento"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun trasferimento senza DDT firmato!</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_warehouse_request_technicians') %}
{# Richieste tecnici #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_request_technicians">
<h4 class="form_title">Richieste tecnici non gestite</h4>
<hr class="m_t_none">
{% if warehouseData[6]|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th>Tecnico</th>
<th>Magazzino</th>
<th>Data</th>
<th>Dettagli</th>
<th></th>
</tr>
</thead>
<tbody>
{% for rt in warehouseData[6] %}
<tr>
<td>{{ rt.technician }}</td>
<td>{{ rt.warehouse }}</td>
<td>{{ rt.datetime|date('d-m-Y H:i') }}</td>
<td>{{ rt.displayDetails()|raw }}</td>
<td class="td_action"><a href="{{ path ('user_warehouse_sheet', {'warehouseId':warehouseData[0]}) }}" data-bs-toggle="tooltip" title="Vai alla scheda magazzino"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun richiesta tecnico non gestita!</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_warehouse_stocks_red') %}
{# Scorte prodotti rosse #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_product_stocks_red">
<h4 class="form_title">Allarmi scorte prodotti rosse</h4>
<hr class="m_t_none">
{% if warehouseData[7]|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th class="td_w_120p txt_a_c">Qtà disponibile</th>
<th class="td_w_120p txt_a_c">Qtà rosso</th>
<th>Modello</th>
<th>Fornitore</th>
</tr>
</thead>
<tbody>
{% for ps in warehouseData[7] %}
{% if loop.index < 50 %}
<tr>
<td class="txt_a_c">{{ ps[0] }}</td>
<td class="txt_a_c">{{ ps[1] }}</td>
<td>{{ ps[2] }}</td>
<td>{{ ps[3] }}</td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
{% if warehouseData[7]|length > 50 %}
<div class="style-msg alertmsg m_b_none">
<div class="sb-msg"><i class="icon-warning-sign"></i><strong>Attenzione!</strong> Per ridurre i tempi di caricamento della scrivania, sono visualizzati solo 50 risultati</div>
</div>
{% endif %}
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun allarme scorte prodotto rosse!</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_warehouse_stocks_yellow') %}
{# Scorte prodotti giallo #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_product_stocks_yellow">
<h4 class="form_title">Allarmi scorte prodotti giallo</h4>
<hr class="m_t_none">
{% if warehouseData[8]|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th class="td_w_120p txt_a_c">Qtà disponibile</th>
<th class="td_w_120p txt_a_c">Qtà giallo</th>
<th class="td_w_120p txt_a_c">Qtà rosso</th>
<th>Modello</th>
<th>Fornitore</th>
</tr>
</thead>
<tbody>
{% for ps in warehouseData[8] %}
{% if loop.index < 50 %}
<tr>
<td class="txt_a_c">{{ ps[0] }}</td>
<td class="txt_a_c">{{ ps[1] }}</td>
<td class="txt_a_c">{{ ps[2] }}</td>
<td>{{ ps[3] }}</td>
<td>{{ ps[4] }}</td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
{% if warehouseData[8]|length > 50 %}
<div class="style-msg alertmsg m_b_none">
<div class="sb-msg"><i class="icon-warning-sign"></i><strong>Attenzione!</strong> Per ridurre i tempi di caricamento della scrivania, sono visualizzati solo 50 risultati</div>
</div>
{% endif %}
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun allarme scorte prodotto gialle!</div>
</div>
{% endif %}
</div>
{% endif %}
</div>
</div>
</div>
</div>
{% endfor %}
{% else %}
<div class="tabs clearfix m_b_none">
<ul class="tab-nav clearfix">
{% for warehouseData in warehouseAlarms %}
<li><a id="btn_tab_warehouse_{{ warehouseData[0] }}" href="#warehouse_{{ warehouseData[0] }}" class="tab_session2" data-filterTab="warehouse_{{ warehouseData[0] }}"><i class="icon-warehouse d-block d-md-none" data-bs-toggle="tooltip" title="{{ warehouseData[1] }}"></i><span class="d-none d-md-block">{{ warehouseData[1] }}</span></a></li>
{% endfor %}
</ul>
<div class="tab-container">
{% for warehouseData in warehouseAlarms %}
<div class="tab-content clearfix" id="warehouse_{{ warehouseData[0] }}">
<div class="row">
<div class="col-12">
<h4 class="form_title">{{ warehouseData[1] }}</h4>
<hr class="m_t_none m_b_none">
</div>
<div class="col-12 overflow_a">
<div class="tabs side-tabs clearfix m_b_none">
<ul class="tab-nav tab-nav2 clearfix">
{% if app.user.canRead('desk_warehouse_product_to_manage') %}<li><a id="btn_tab_{{ warehouseData[0] }}_product_to_manage" href="#{{ warehouseData[0] }}_product_to_manage" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_product_to_manage"><i class="icon-box d-block d-md-none" data-bs-toggle="tooltip" title="Prodotti da gestire ({{ warehouseData[2] }})"></i><span class="d-none d-md-block">Prodotti da gestire ({{ warehouseData[2] }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_warehouse_transfer_incoming') %}<li><a id="btn_tab_{{ warehouseData[0] }}_transfers_incoming" href="#{{ warehouseData[0] }}_transfers_incoming" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_transfers_incoming"><i class="icon-truck d-block d-md-none" data-bs-toggle="tooltip" title="Trasferimenti in entrata ({{ warehouseData[3]|length }})"></i><span class="d-none d-md-block">Trasferimenti in entrata ({{ warehouseData[3]|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_warehouse_transfer_output') %}<li><a id="btn_tab_{{ warehouseData[0] }}_transfers_output" href="#{{ warehouseData[0] }}_transfers_output" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_transfers_output"><i class="icon-truck-loading d-block d-md-none" data-bs-toggle="tooltip" title="Trasferimenti in uscita ({{ warehouseData[4]|length }})"></i><span class="d-none d-md-block">Trasferimenti in uscita ({{ warehouseData[4]|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_warehouse_transfer_ddt_missing') %}<li><a id="btn_tab_{{ warehouseData[0] }}_transfers_ddt_missing" href="#{{ warehouseData[0] }}_transfers_ddt_missing" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_transfers_ddt_missing"><i class="icon-signature d-block d-md-none" data-bs-toggle="tooltip" title="Trasferimenti senza DDT firmato ({{ warehouseData[5]|length }})"></i><span class="d-none d-md-block">Trasferimenti senza DDT firmato ({{ warehouseData[5]|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_warehouse_request_technicians') %}<li><a id="btn_tab_{{ warehouseData[0] }}_request_technicians" href="#{{ warehouseData[0] }}_request_technicians" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_request_technicians"><i class="icon-question d-block d-md-none" data-bs-toggle="tooltip" title="Richieste tecnici ({{ warehouseData[6]|length }})"></i><span class="d-none d-md-block">Richieste tecnici ({{ warehouseData[6]|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_warehouse_stocks_red') %}<li><a id="btn_tab_{{ warehouseData[0] }}_product_stocks_red" href="#{{ warehouseData[0] }}_product_stocks_red" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_product_stocks_red"><i class="icon-box d-block d-md-none" data-bs-toggle="tooltip" title="Scorte prodotti rosse ({{ warehouseData[7]|length }})"></i><span class="d-none d-md-block">Scorte prodotti rosse ({{ warehouseData[7]|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_warehouse_stocks_yellow') %}<li><a id="btn_tab_{{ warehouseData[0] }}_product_stocks_yellow" href="#{{ warehouseData[0] }}_product_stocks_yellow" class="tab_session2" data-filterTab="{{ warehouseData[0] }}_product_stocks_yellow"><i class="icon-box d-block d-md-none" data-bs-toggle="tooltip" title="Scorte prodotti gialle ({{ warehouseData[8]|length }})"></i><span class="d-none d-md-block">Scorte prodotti gialle ({{ warehouseData[8]|length }})</span></a></li>{% endif %}
</ul>
<div class="tab-container">
{# Sede centrale #}
{% if app.user.canRead('desk_warehouse_product_to_manage') %}
{# Prodotti da gestire #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_product_to_manage">
<h4 class="form_title">Prodotti da gestire</h4>
<hr class="m_t_none">
{% if warehouseData[2] > 0 %}
<div class="style-msg infomsg m_b_none">
<div class="sb-msg"><i class="icon-info"></i><strong>Attenzione!</strong> Ci sono {{ warehouseData[2] }} prodotti da gestire in questo magazzino!<a href="{{ path ('user_warehouse_sheet', {'warehouseId':warehouseData[0]}) }}" class="button button-3d button-mini button-amber f_right m_none">Vai al magazzino</a></div>
</div>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun prodotto da gestire presente nel magazzino</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_warehouse_transfer_incoming') %}
{# Trasferimenti in entrata #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_transfers_incoming">
<h4 class="form_title">Trasferimenti in entrata non completati</h4>
<hr class="m_t_none">
{% if warehouseData[3]|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th class="txt_a_c">Fase</th>
<th>Magazzino provenienza</th>
<th>Fornitore</th>
<th>Data creazione</th>
<th>Data invio</th>
<th>Data completamento</th>
<th></th>
</tr>
</thead>
<tbody>
{% for pt in warehouseData[3] %}
<tr>
<td class="txt_a_c">{{ pt.displayPhase('icon')|raw }}</td>
<td>{{ pt.warehouseFrom }}</td>
<td>{{ pt.supplier }}</td>
<td>{{ pt.datetimeCreation|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeSend|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeCompletion|date('d-m-Y H:i') }}</td>
<td class="td_action"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':warehouseData[0], 'transferId':pt.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda trasferimento"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun trasferimento in entrata non completato!</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_warehouse_transfer_output') %}
{# Trasferimenti in uscita #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_transfers_output">
<h4 class="form_title">Trasferimenti in uscita non completati</h4>
<hr class="m_t_none">
{% if warehouseData[4]|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th class="txt_a_c">Fase</th>
<th>Magazzino destinazione</th>
<th>Fornitore</th>
<th>Data creazione</th>
<th>Data invio</th>
<th>Data completamento</th>
<th></th>
</tr>
</thead>
<tbody>
{% for pt in warehouseData[4] %}
<tr>
<td class="txt_a_c">{{ pt.displayPhase('icon')|raw }}</td>
<td>{{ pt.warehouseTo }}</td>
<td>{{ pt.supplier }}</td>
<td>{{ pt.datetimeCreation|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeSend|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeCompletion|date('d-m-Y H:i') }}</td>
<td class="td_action"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':warehouseData[0], 'transferId':pt.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda trasferimento"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun trasferimento in uscita non completato!</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_warehouse_transfer_ddt_missing') %}
{# Trasferimenti senza DDT firmato #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_transfers_ddt_missing">
<h4 class="form_title">Trasferimenti senza DDT firmato</h4>
<hr class="m_t_none">
{% if warehouseData[5]|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th class="td_w_80p txt_a_c">Fase</th>
<th class="td_w_80p txt_a_c">Fase DDT</th>
<th>Magazzino provenienza</th>
<th>Magazzino destinazione</th>
<th>Fornitore</th>
<th>Data creazione</th>
<th>Data invio</th>
<th>Data completamento</th>
<th></th>
</tr>
</thead>
<tbody>
{% for pt in warehouseData[5] %}
<tr>
<td class="txt_a_c">{{ pt.displayPhase('icon')|raw }}</td>
<td class="txt_a_c">{{ pt.displayPhaseDdt('icon')|raw }}</td>
<td>{{ pt.warehouseFrom }}</td>
<td>{{ pt.warehouseTo }}</td>
<td>{{ pt.supplier }}</td>
<td>{{ pt.datetimeCreation|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeSend|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeCompletion|date('d-m-Y H:i') }}</td>
<td class="td_action"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':warehouseData[0], 'transferId':pt.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda trasferimento"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun trasferimento senza DDT firmato!</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_warehouse_request_technicians') %}
{# Richieste tecnici #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_request_technicians">
<h4 class="form_title">Richieste tecnici non gestite</h4>
<hr class="m_t_none">
{% if warehouseData[6]|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th>Tecnico</th>
<th>Magazzino</th>
<th>Data</th>
<th>Dettagli</th>
<th></th>
</tr>
</thead>
<tbody>
{% for rt in warehouseData[6] %}
<tr>
<td>{{ rt.technician }}</td>
<td>{{ rt.warehouse }}</td>
<td>{{ rt.datetime|date('d-m-Y') }}</td>
<td>{{ rt.displayDetails()|raw }}</td>
<td class="td_action"><a href="{{ path ('user_warehouse_sheet', {'warehouseId':warehouseData[0]}) }}" data-bs-toggle="tooltip" title="Vai alla scheda magazzino"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun richiesta tecnico non gestita!</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_warehouse_stocks_red') %}
{# Scorte prodotti rosse #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_product_stocks_red">
<h4 class="form_title">Allarmi scorte prodotti rosse</h4>
<hr class="m_t_none">
{% if warehouseData[7]|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th class="td_w_120p txt_a_c">Qtà disponibile</th>
<th class="td_w_120p txt_a_c">Qtà rosso</th>
<th>Modello</th>
<th>Fornitore</th>
</tr>
</thead>
<tbody>
{% for ps in warehouseData[7] %}
{% if loop.index < 50 %}
<tr>
<td class="txt_a_c">{{ ps[0] }}</td>
<td class="txt_a_c">{{ ps[1] }}</td>
<td>{{ ps[2] }}</td>
<td>{{ ps[3] }}</td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
{% if warehouseData[7]|length > 50 %}
<div class="style-msg alertmsg m_b_none">
<div class="sb-msg"><i class="icon-warning-sign"></i><strong>Attenzione!</strong> Per ridurre i tempi di caricamento della scrivania, sono visualizzati solo 50 risultati</div>
</div>
{% endif %}
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun allarme scorte prodotto rosse!</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_warehouse_stocks_yellow') %}
{# Scorte prodotti giallo #}
<div class="tab-content clearfix" id="{{ warehouseData[0] }}_product_stocks_yellow">
<h4 class="form_title">Allarmi scorte prodotti giallo</h4>
<hr class="m_t_none">
{% if warehouseData[8]|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th class="td_w_120p txt_a_c">Qtà disponibile</th>
<th class="td_w_120p txt_a_c">Qtà giallo</th>
<th class="td_w_120p txt_a_c">Qtà rosso</th>
<th>Modello</th>
<th>Fornitore</th>
</tr>
</thead>
<tbody>
{% for ps in warehouseData[8] %}
{% if loop.index < 50 %}
<tr>
<td class="txt_a_c">{{ ps[0] }}</td>
<td class="txt_a_c">{{ ps[1] }}</td>
<td class="txt_a_c">{{ ps[2] }}</td>
<td>{{ ps[3] }}</td>
<td>{{ ps[4] }}</td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
{% if warehouseData[8]|length > 50 %}
<div class="style-msg alertmsg m_b_none">
<div class="sb-msg"><i class="icon-warning-sign"></i><strong>Attenzione!</strong> Per ridurre i tempi di caricamento della scrivania, sono visualizzati solo 50 risultati</div>
</div>
{% endif %}
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun allarme scorte prodotto gialle!</div>
</div>
{% endif %}
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
</div>
{% endif %}
{# Operazioni #}
{% if app.user.canViewTab('desk_operation') %}
<div class="tab-content clearfix" id="operations">
<div class="row">
<div class="col-12 overflow_a">
<div class="tabs side-tabs clearfix m_b_none">
<ul class="tab-nav tab-nav2 clearfix">
{% if app.user.canRead('desk_operation_tariffs') %}<li><a id="btn_tab_tariffs" href="#tariffs" class="tab_session2" data-filterTab="tariffs"><i class="icon-euro d-block d-md-none" data-bs-toggle="tooltip" title="Senza tariffe ({{ operationsWithoutTariffs|length }})"></i><span class="d-none d-md-block">Senza tariffe ({{ operationsWithoutTariffs|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_operation_key_mappings') %}<li><a id="btn_tab_key_mappings" href="#key_mappings" class="tab_session2" data-filterTab="key_mappings"><i class="icon-tags d-block d-md-none" data-bs-toggle="tooltip" title="Senza mappatura ticket ({{ operationsWithoutKeyMappings|length }})"></i><span class="d-none d-md-block">Senza mappatura ticket ({{ operationsWithoutKeyMappings|length }})</span></a></li>{% endif %}
</ul>
<div class="tab-container">
{% if app.user.canRead('desk_operation_tariffs') %}
{# Senza tariffe #}
<div class="tab-content clearfix" id="tariffs">
<h4 class="form_title">Operazioni senza tariffe</h4>
<hr class="m_t_none">
{% if operationsWithoutTariffs|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th>Fornitore</th>
<th>Operazione</th>
<th>Gruppo</th>
<th></th>
</tr>
</thead>
<tbody>
{% for op in operationsWithoutTariffs %}
<tr>
<td>{{ op.supplier }}</td>
<td>{{ op.value }}</td>
<td>{{ op.group }}</td>
<td class="td_action"><a href="{{ path ('user_anagraphic_supplier_operation_sheet', {'operationId':op.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessuna operazione senza tariffe inserite!</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_operation_key_mappings') %}
{# Senza mappatura chiavi ticket #}
<div class="tab-content clearfix" id="key_mappings">
<h4 class="form_title">Operazioni senza mappatura chiavi ticket</h4>
<hr class="m_t_none">
{% if operationsWithoutKeyMappings|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th>Fornitore</th>
<th>Operazione</th>
<th>Gruppo</th>
<th></th>
</tr>
</thead>
<tbody>
{% for op in operationsWithoutKeyMappings %}
<tr>
<td>{{ op.supplier }}</td>
<td>{{ op.value }}</td>
<td>{{ op.group }}</td>
<td class="td_action"><a href="{{ path ('user_anagraphic_supplier_operation_sheet', {'operationId':op.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessuna operazione senza mappatura chiavi ticket!</div>
</div>
{% endif %}
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
{% endif %}
{# Prodotti #}
{% if app.user.canViewTab('desk_product') %}
<div class="tab-content clearfix" id="products">
{% block productsData %}
<div class="row">
<div class="col-12 overflow_a">
<div class="tabs side-tabs clearfix m_b_none">
<ul class="tab-nav tab-nav2 clearfix">
{% if app.user.canRead('desk_product_doubles') %}<li><a id="btn_tab_doubles" href="#doubles" class="tab_session2" data-filterTab="doubles"><i class="icon-euro d-block d-md-none" data-bs-toggle="tooltip" title="Matricole doppie ({{ doubleProducts|length }})"></i><span class="d-none d-md-block">Matricole doppie ({{ doubleProducts|length }})</span></a></li>{% endif %}
{% if app.user.canRead('desk_product_models') %}<li><a id="btn_tab_models" href="#models" class="tab_session2" data-filterTab="models"><i class="icon-tags d-block d-md-none" data-bs-toggle="tooltip" title="Modelli senza fornitori ({{ productModelsSuppliers|length }})"></i><span class="d-none d-md-block">Modelli senza fornitori ({{ productModelsSuppliers|length }})</span></a></li>{% endif %}
</ul>
<div class="tab-container">
{% if app.user.canRead('desk_product_doubles') %}
{# Matricole doppie #}
<div class="tab-content clearfix" id="doubles">
<h4 class="form_title">Matricole doppie</h4>
<hr class="m_t_none">
{% if doubleProducts|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th colspan="3">Prodotto 1</th>
<th colspan="3">Prodotto 2</th>
</tr>
<tr>
<th class="txt_a_c">Id</th>
<th>Matricola produttore</th>
<th>Matricola fornitore</th>
<th class="txt_a_c">Id</th>
<th>Matricola produttore</th>
<th>Matricola fornitore</th>
</tr>
</thead>
<tbody>
{% for p in doubleProducts %}
<tr>
<td class="txt_a_c"><a href="{{ path ('user_product_sheet', {'productId':p[0]}) }}" data-bs-toggle="tooltip" title="Vai alla scheda prodotto" target="_blank" class="underline">{{ p[0] }}</a></td>
<td>{{ p[1] }}</td>
<td>{{ p[2] }}</td>
<td class="txt_a_c"><a href="{{ path ('user_product_sheet', {'productId':p[3]}) }}" data-bs-toggle="tooltip" title="Vai alla scheda prodotto" target="_blank" class="underline">{{ p[3] }}</a></td>
<td>{{ p[4] }}</td>
<td>{{ p[5] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessuna matricola doppia presente nel software!</div>
</div>
{% endif %}
</div>
{% endif %}
{% if app.user.canRead('desk_product_models') %}
{# Modelli senza fornitore #}
<div class="tab-content clearfix" id="models">
<h4 class="form_title">Modelli senza fornitori configurati</h4>
<hr class="m_t_none">
{% if productModelsSuppliers|length > 0 %}
<table class="table table-sm">
<thead>
<tr>
<th>Modello</th>
<th>Produttore</th>
<th>Sku</th>
<th>PartNumber</th>
<th>Sottocategoria</th>
<th>Categoria</th>
<th></th>
</tr>
</thead>
<tbody>
{% for pm in productModelsSuppliers %}
<tr>
<td>{{ pm.name }}</td>
<td>{{ pm.producer }}</td>
<td>{{ pm.sku }}</td>
<td>{{ pm.partNumber }}</td>
<td>{{ pm.subcategory }}</td>
<td>{{ pm.subcategory.category }}</td>
<td class="td_action"><a href="{{ path ('user_product_model_sheet', {'modelId':pm.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda magazzino"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun modello senza fornitore configurato!</div>
</div>
{% endif %}
</div>
{% endif %}
</div>
</div>
</div>
</div>
{% endblock %}
</div>
{% endif %}
{# Cerca #}
{% if app.user.canViewTab('desk_search') %}
<div class="tab-content clearfix" id="search">
{{ form_start(formSearch, {'attr': {'novalidate': 'novalidate'}}) }}
<div class="row">
<div class="col-12 col-md-3">
<h4 class="form_title">Ricerca</h4>
<hr class="m_t_none">
<div class="row">
<div class="col-12 form-group">
<label class="form_label">Soggetto*</label>
<div {{ form_errors(formSearch.type) }}>
<table class="table b_none table_no_padding m_none">
{% for t in formSearch.type %}
<tr>
<td class="td_w_40p">{{ form_widget(t, {'attr': {'class':'switch-toggle switch-flat-mini switch-toggle-flat'}}) }}<label class="m_b_none" for="{{ t.vars.id }}"></label></td>
<td><label class="m_b_none form_label">{{ t.vars.label }}</label></td>
</tr>
{% endfor %}
</table>
</div>
</div>
<div class="col-12 form-group">
<label class="form_label">Tipologia*</label>
<div {{ form_errors(formSearch.like) }}>
<table class="table b_none table_no_padding m_none">
{% for l in formSearch.like %}
<tr>
<td class="td_w_40p">{{ form_widget(l, {'attr': {'class':'switch-toggle switch-flat-mini switch-toggle-flat'}}) }}<label class="m_b_none" for="{{ l.vars.id }}"></label></td>
<td><label class="m_b_none form_label">{{ l.vars.label }}</label></td>
</tr>
{% endfor %}
</table>
</div>
</div>
<div class="col-12 form-group">
<label class="form_label">Valore*</label>
<div {{ form_errors(formSearch.value) }}>
{{ form_widget(formSearch.value) }}
</div>
</div>
<div class="col-12 txt_a_c">
<button type="submit" class="button button-3d button-small button-rounded button-green">Cerca</button>
</div>
</div>
</div>
<div class="col-12 col-md-9 overflow_a">
<h4 class="form_title">Risultati ricerca</h4>
<hr class="m_t_none">
{% if searchResults|length > 0 %}
{% if searchResults|length == 50 %}
<div class="style-msg alertmsg m_b_10p">
<div class="sb-msg"><i class="icon-warning-sign"></i><strong>Attenzione!</strong> La ricerca ha prodotto più di 50 risultati; utilizza un filtro più stringente per ottenerne meno!</div>
</div>
{% endif %}
<table class="table table-sm">
<thead>
<tr>
{% if searchType == 'termid' or searchType == 'n_ticket' %}
<th>Stato</th>
<th>N° ticket</th>
<th>Termid</th>
<th>Cliente</th>
<th>Fornitore</th>
<th>Operazione</th>
{% elseif searchType == 'code_producer' or searchType == 'code_supplier' %}
<th>Modello</th>
<th>Matr. Produttore</th>
<th>Matr. Fornitore</th>
<th>Termid</th>
<th>Magazzino attuale</th>
<th>Stato</th>
<th>Condizione</th>
{% elseif searchType == 'ddt' %}
<th>N° DDT</th>
<th>Stato</th>
<th>Data/Ora</th>
<th>Mag. Partenza</th>
<th>Mag. Arrivo</th>
<th>Stock order</th>
{% elseif searchType == 'client_nickname' %}
<th>Codice</th>
<th>Insegna</th>
<th>Indirizzo</th>
<th>Telefoni</th>
{% else %}
<th>Telefono</th>
<th>Cliente</th>
<th>Indirizzo</th>
{% endif %}
<th></th>
</tr>
</thead>
<tbody>
{% for r in searchResults %}
<tr>
{% if searchType == 'termid' or searchType == 'n_ticket' %}
<td>{{ r.displayStatus('string')|raw }}</td>
<td>{{ r.number }}</td>
<td>{{ r.termid }}</td>
<td>{{ r.client }}</td>
<td>{{ r.supplier }}</td>
<td>{{ r.operation }}</td>
<td class="td_action"><a href="{{ path ('user_ticket_sheet', {'ticketId':r.id}) }}"><img class="icon_pr" data-bs-toggle="tooltip" title="Scheda" src="{{ asset(icon_sheet) }}"></a></td>
{% elseif searchType == 'code_producer' or searchType == 'code_supplier' %}
<td>{{ r.model.name }}</td>
<td>{{ r.codeProducer|default('---') }}</td>
<td>{{ r.codeSupplier|default('---') }}</td>
<td>{{ r.termid|default('---') }}</td>
<td>{{ r.actualWarehouse }}</td>
<td>{{ r.displayStatus('string')|raw }}</td>
<td>{{ r.displayCondition('string-short')|raw }}</td>
<td class="td_action"><a href="{{ path ('user_product_sheet', {'productId':r.id}) }}" data-bs-toggle="tooltip" title="Scheda"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
{% elseif searchType == 'ddt' %}
<td>{{ r.ddt|default('---') }}</td>
<td>{{ r.displayPhase('string')|raw }}</td>
<td>{{ r.date|date('d-m-Y H:i') }}</td>
<td>{{ r.warehouseFrom }}</td>
<td>{{ r.warehouseTo }}</td>
<td>{{ r.stockOrder|default('---') }}</td>
<td class="td_action"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':r.warehouseFrom.id, 'transferId':r.id}) }}" data-bs-toggle="tooltip" title="Scheda"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
{% elseif searchType == 'client_nickname' %}
<td>{{ r.code|default('---') }}</td>
<td>{{ r.nickname }}</td>
<td>{% include 'components/twig/display_address.html.twig' with {'type':'client', 'obj':r} %}</td>
<td>{{ r.displayPhones|raw }}</td>
<td class="td_action"><a href="{{ path ('user_anagraphic_client_sheet', {'clientId':r.id }) }}" data-bs-toggle="tooltip" title="Scheda"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
{% else %}
<td>{{ r.number }}</td>
<td>{{ r.client }}</td>
<td>{% include 'components/twig/display_address.html.twig' with {'type':'client', 'obj':r.client} %}</td>
<td class="td_action"><a href="tel:{{ r.number }}" data-bs-toggle="tooltip" title="Chiama"><img class="icon_pr" src="{{ asset(icon_telephone) }}"></a></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg infomsg m_b_none">
<div class="sb-msg"><i class="icon-info"></i><strong>Info!</strong> La ricerca non ha dato risultati!</div>
</div>
{% endif %}
</div>
</div>
{{ form_end(formSearch) }}
</div>
{% endif %}
</div>
</div>
</div>
</div>
{% elseif app.user.getAccountTypology == 'technician' %} {# Tecnico interno e tecnico partita IVA #}
<div class="row">
<div class="col-12">
<div class="tabs clearfix m_b_none">
<ul class="tab-nav clearfix">
<li><a id="btn_tab_tickets" href="#tickets" class="tab_session" data-filterTab="tickets"><i class="icon-tag d-block d-md-none" data-bs-toggle="tooltip" title="Ticket"></i><span class="d-none d-md-block">Ticket</span></a></li>
<li><a id="btn_tab_warehouse" href="#warehouse" class="tab_session" data-filterTab="warehouse"><i class="icon-warehouse d-block d-md-none" data-bs-toggle="tooltip" title="Magazzini gestiti"></i><span class="d-none d-md-block">Magazzini gestiti</span></a></li>
{% if app.user.canRead('desk_search') %}
<li><a href="#search" class="tab_session" id="btn_tab_search" data-filterTab="search"><i class="icon-search1 d-block d-md-none" data-bs-toggle="tooltip" title="Ricerca"></i><span class="d-none d-md-block">Ricerca</span></a></li>
{% endif %}
</ul>
<div class="tab-container">
{# Ticket #}
<div class="tab-content clearfix" id="tickets">
<div class="row">
<div class="col-12 overflow_a">
<div class="tabs side-tabs clearfix m_b_none">
<ul class="tab-nav tab-nav2 clearfix">
<li><a id="btn_tab_summary" href="#summary" class="tab_session2" data-filterTab="summary"><i class="icon-table1 d-block d-md-none" data-bs-toggle="tooltip" title="Tabella riassuntiva"></i><span class="d-none d-md-block responsive_font_size">Tabella riassuntiva</span></a></li>
<li><a id="btn_tab_assigned" href="#assigned" class="tab_session2" data-filterTab="assigned"><i class="icon-user-clock d-block d-md-none" data-bs-toggle="tooltip" title="Da prendere in carico ({{ ticketAssigned|length }})"></i><span class="d-none d-md-block responsive_font_size">Da prendere in carico ({{ ticketAssigned|length }})</span></a></li>
<li><a id="btn_tab_reminders" href="#reminders" class="tab_session2" data-filterTab="reminders"><i class="icon-clock d-block d-md-none" data-bs-toggle="tooltip" title="Promemoria ({{ ticketReminders|length }})"></i><span class="d-none d-md-block responsive_font_size">Promemoria ({{ ticketReminders|length }})</span></a></li>
</ul>
<div class="tab-container">
{# Tabella riassuntiva #}
<div class="tab-content clearfix" id="summary">
<h4 class="form_title">Tabella riassuntiva</h4>
<hr class="m_t_none">
<div class="overflow_a">
<table class="table table-bordered font_12">
<thead>
<tr class="bg_pr color_w">
<th>Gruppo</th>
<th class="td_w_100p txt_a_c a_th_hover" onclick="javascript: goToTicketList('assigned', '')">Assegnati</th>
<th class="td_w_100p txt_a_c a_th_hover" onclick="javascript: goToTicketList('taken_charge', '')">Presi in carico</th>
<th class="td_w_100p txt_a_c a_th_hover" onclick="javascript: goToTicketList('closed', '')">Chiusi</th>
<th class="td_w_100p txt_a_c a_th_hover" onclick="javascript: goToTicketList('suspension_request', '')">Richieste sosp</th>
<th class="td_w_100p txt_a_c a_th_hover" onclick="javascript: goToTicketList('suspended', '')">Sospesi</th>
<th class="td_w_100p txt_a_c a_th_hover" onclick="javascript: goToTicketList('canceled', '')">Annullati</th>
<th class="td_w_100p txt_a_c a_th_hover" onclick="javascript: goToTicketList('closed_portal', '')">Chiusi su portale</th>
<td class="bg_pr" style="padding: 0px 0px 0px 0px; width: 0px;"></td>
<th class="td_w_100p txt_a_c">Totale</th>
</tr>
</thead>
<tbody class="table_td_hover">
{% set total = 0 %}
{% for og in operationGroups %}
{% set rowTotal = 0 %}
<tr>
<td class="bg_w">{{ og.value }}</td>
{% for ts in ticketStatuses %}
{% for ticketGroup in matrixTickets %}
{% if ticketGroup[0] == og.id %}
{% for grCounts in ticketGroup[1] %}
{% if grCounts[0] == ts.id %}
{% if app.user.accountTypology == 'technician' %}
<td class="txt_a_c a_td_hover" onclick="javascript: goToTicketList('{{ ts.slug }}', '{{ og.slug }}')">{{ grCounts[1] }}</td>
{% else %}
<td class="txt_a_c a_td_hover" onclick="javascript: goToTicketList('{{ ts.slug }}', '{{ og.id }}')">{{ grCounts[1] }}</td>
{% endif %}
{% set rowTotal = rowTotal + grCounts[1] %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}
<td class="bg_pr"></td>
<th class="txt_a_c">{{ rowTotal }}</th>
</tr>
{% set total = total + rowTotal %}
{% endfor %}
<tr class="bg_pr">
<td class="bg_pr"></td>
<td class="bg_pr"></td>
<td class="bg_pr"></td>
<td class="bg_pr"></td>
<td class="bg_pr"></td>
<td class="bg_pr"></td>
<td class="bg_pr"></td>
<td class="bg_pr"></td>
<td class="bg_pr"></td>
<td class="bg_pr"></td>
</tr>
<tr>
<th>Totale</th>
{% for ts in ticketStatuses %}
{% set columnTotal = 0 %}
{% for ticketGroup in matrixTickets %}
{% for grCounts in ticketGroup[1] %}
{% if grCounts[0] == ts.id %}
{% set columnTotal = columnTotal + grCounts[1] %}
{% endif %}
{% endfor %}
{% endfor %}
<th class="txt_a_c">{{ columnTotal }}</th>
{% endfor %}
<th class="bg_pr"></th>
<th class="txt_a_c">{{ total }}</th>
</tr>
</tbody>
</table>
</div>
</div>
{# Da prendere in carico #}
<div class="tab-content clearfix" id="assigned">
{% if ticketAssigned|length > 0 %}
<a href="javascript: ticketsTakeCharge()" class="button button-3d button-mini button-green f_right font_12 m_t_none m_b_none">Prendi in carico</a>
{% endif %}
<h4 class="form_title">Da prendere in carico</h4>
<hr class="m_t_none m_b_5p">
{% if ticketAssigned|length > 0 %}
<table class="table table-sm font_12">
<tbody>
{% for t in ticketAssigned %}
<tr>
<td>
<table class="table table_no_padding m_b_none b_none font_12">
<tr><td><b>Stato</b>: {{ t.displayStatus('string')|raw }}</td></tr>
<tr><td><b>N°</b>: {{ t.number }}</td></tr>
<tr><td><b>Indirizzo</b>: {% include 'components/twig/display_address.html.twig' with {'type':'ticket', 'obj':t} %}</td></tr>
<tr><td><b>Cliente</b>: {{ t.client }}</td></tr>
<tr><td><b>Cliente - Indirizzo</b>: {% if t.client != null %}{% include 'components/twig/display_address.html.twig' with {'type':'client', 'obj':t.client} %}{% else %}---{% endif %}</td></tr>
<tr><td><b>Operazione</b>: {{ t.operation }}</td></tr>
<tr><td><b>Fornitore</b>: {{ t.supplier }}</td></tr>
<tr><td><b>Ricezione</b>: {% if t.datetimeStart != null %}{{ t.datetimeStart|date('d-m-Y H:i') }}{% else %}---{% endif %}</td></tr>
<tr><td><b>Scadenza</b>: {% if t.datetimeExpiration != null %}{{ t.datetimeExpiration|date('d-m-Y H:i') }}{% else %}---{% endif %}</td></tr>
</table>
</td>
<td class="td_action"><a href="{{ path ('user_ticket_sheet', {'ticketId':t.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg font_12"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun ticket da prendere in carico!</div>
</div>
{% endif %}
</div>
{# Reminder #}
<div class="tab-content clearfix" id="reminders">
<h4 class="form_title">Promemoria</h4>
<hr class="m_t_none">
<div class="overflow_a">
{% if ticketReminders|length > 0 %}
<table class="table table-sm responsive_font_size">
<thead>
<tr>
<th class="td_w_150p">Data/Ora</th>
<th>Dettagli</th>
<th></th>
</tr>
</thead>
<tbody>
{% for r in ticketReminders %}
<tr {% if r.datetime|date('YmdHi') < "now"|date('YmdHi') %}class="bg_r_h"{% endif %}>
<td>{{ r.datetime|date('d-m-Y H:i') }}</td>
<td>{{ r.details }}</td>
<td class="td_action"><a href="{{ path ('user_ticket_sheet', {'ticketId':r.ticket.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun promemoria presente!</div>
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{# Magazzini #}
<div class="tab-content clearfix" id="warehouse">
<div class="row">
<div class="col-12 overflow_a">
{% if warehousesTransfers|length == 1 %}
{% for wt in warehousesTransfers %}
<div class="row">
<div class="col-12">
<h4 class="form_title">{{ wt[1] }}</h4>
<hr class="m_t_none">
</div>
<div class="col-12 col-lg-4 m_b_20p">
<h5 class="form_title">Trasferimenti in entrata non completati</h5>
<hr class="m_t_none m_b_5p">
{% if wt[2]|length > 0 %}
<table class="table table-sm font_12">
<tbody>
{% for pt in wt[2] %}
<tr>
<td>
<table class="table table_no_padding m_b_none b_none font_12">
<tr><td><b>Fase</b>: {{ pt.displayPhase('string')|raw }}</td></tr>
<tr><td><b>Magazzino provenienza</b>: {{ pt.warehouseFrom }}</td></tr>
<tr><td><b>Fornitore</b>: {{ pt.supplier }}</td></tr>
<tr><td><b>Data creazione</b>: {{ pt.datetimeCreation|date('d-m-Y H:i') }}</td></tr>
<tr><td><b>Data invio</b>: {% if pt.datetimeSend != null %}{{ pt.datetimeSend|date('d-m-Y H:i') }}{% else %}---{% endif %}</td></tr>
<tr><td><b>Data completamento</b>: {% if pt.datetimeCompletion %}{{ pt.datetimeCompletion|date('d-m-Y H:i') }}{% else %}---{% endif %}</td></tr>
</table>
</td>
<td class="td_action"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':wt[0], 'transferId':pt.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda trasferimento"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg font_12"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun trasferimento in entrata!</div>
</div>
{% endif %}
</div>
<div class="col-12 col-lg-4 m_b_20p">
<h5 class="form_title">Trasferimenti in uscita non completati</h5>
<hr class="m_t_none m_b_5p">
{% if wt[3]|length > 0 %}
<table class="table table-sm font_12">
<tbody>
{% for pt in wt[3] %}
<tr>
<td>
<table class="table table_no_padding m_b_none b_none font_12">
<tr><td><b>Fase</b>: {{ pt.displayPhase('string')|raw }}</td></tr>
<tr><td><b>Magazzino provenienza</b>: {{ pt.warehouseFrom }}</td></tr>
<tr><td><b>Fornitore</b>: {{ pt.supplier }}</td></tr>
<tr><td><b>Data creazione</b>: {{ pt.datetimeCreation|date('d-m-Y H:i') }}</td></tr>
<tr><td><b>Data invio</b>: {% if pt.datetimeSend != null %}{{ pt.datetimeSend|date('d-m-Y H:i') }}{% else %}---{% endif %}</td></tr>
<tr><td><b>Data completamento</b>: {% if pt.datetimeCompletion %}{{ pt.datetimeCompletion|date('d-m-Y H:i') }}{% else %}---{% endif %}</td></tr>
</table>
</td>
<td class="td_action"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':wt[0], 'transferId':pt.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda trasferimento"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg font_12"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun trasferimento in uscita!</div>
</div>
{% endif %}
</div>
<div class="col-12 col-lg-4">
<h5 class="form_title">Trasferimenti senza DDT firmato</h5>
<hr class="m_t_none m_b_5p">
{% if wt[4]|length > 0 %}
<table class="table table-sm font_12">
<tbody>
{% for pt in wt[4] %}
<tr>
<td>
<table class="table table_no_padding m_b_none b_none font_12">
<tr><td><b>Fase</b>: {{ pt.displayPhase('string')|raw }}</td></tr>
<tr><td><b>Fase DDT</b>: {{ pt.displayPhaseDdt('string')|raw }}</td></tr>
<tr><td><b>Magazzino provenienza</b>: {{ pt.warehouseFrom }}</td></tr>
<tr><td><b>Magazzino destinazione</b>: {{ pt.warehouseTo }}</td></tr>
<tr><td><b>Fornitore</b>: {{ pt.supplier }}</td></tr>
<tr><td><b>Data creazione</b>: {{ pt.datetimeCreation|date('d-m-Y H:i') }}</td></tr>
<tr><td><b>Data invio</b>: {% if pt.datetimeSend != null %}{{ pt.datetimeSend|date('d-m-Y H:i') }}{% else %}---{% endif %}</td></tr>
<tr><td><b>Data completamento</b>: {% if pt.datetimeCompletion %}{{ pt.datetimeCompletion|date('d-m-Y H:i') }}{% else %}---{% endif %}</td></tr>
</table>
</td>
<td class="td_action"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':wt[0], 'transferId':pt.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda trasferimento"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg font_12"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun trasferimento in uscita!</div>
</div>
{% endif %}
</div>
</div>
{% endfor %}
{% else %}
<div class="tabs side-tabs clearfix m_b_none">
<ul class="tab-nav tab-nav2 clearfix">
{% for wt in warehousesTransfers %}
<li><a id="btn_tab_wt_{{ wt[0] }}" href="#wt_{{ wt[0] }}" class="tab_session2" data-filterTab="wt_{{ wt[0] }}"><i class="icon-warehouse d-block d-md-none" data-bs-toggle="tooltip" title="{{ wt[1] }}"></i><span class="d-none d-md-block font_12">{{ wt[1] }}</span></a></li>
{% endfor %}
</ul>
<div class="tab-container">
{# Magazzini tecnico #}
{% for wt in warehousesTransfers %}
<div class="tab-content clearfix" id="wt_{{ wt[0] }}">
<div class="row">
<div class="col-12">
<h4 class="form_title">{{ wt[1] }}</h4>
<hr class="m_t_none">
</div>
<div class="col-12 col-lg-4 m_b_20p">
<h5 class="form_title">Trasferimenti in entrata non completati</h5>
<hr class="m_t_none">
{% if wt[2]|length > 0 %}
<table class="table table-sm font_12">
<thead>
<tr>
<th class="txt_a_c">Fase</th>
<th>Magazzino provenienza</th>
<th>Fornitore</th>
<th>Data creazione</th>
<th>Data invio</th>
<th>Data completamento</th>
<th></th>
</tr>
</thead>
<tbody>
{% for pt in wt[2] %}
<tr>
<td class="txt_a_c">{{ pt.displayPhase('icon')|raw }}</td>
<td>{{ pt.warehouseFrom }}</td>
<td>{{ pt.supplier }}</td>
<td>{{ pt.datetimeCreation|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeSend|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeCompletion|date('d-m-Y H:i') }}</td>
<td class="td_action"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':wt[0], 'transferId':pt.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda trasferimento"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg font_12"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun trasferimento in entrata non completato!</div>
</div>
{% endif %}
</div>
<div class="col-12 col-lg-4 m_b_20p">
<h5 class="form_title">Trasferimenti in uscita non completati</h5>
<hr class="m_t_none">
{% if wt[3]|length > 0 %}
<table class="table table-sm font_12">
<thead>
<tr>
<th class="txt_a_c">Fase</th>
<th>Magazzino destinazione</th>
<th>Fornitore</th>
<th>Data creazione</th>
<th>Data invio</th>
<th>Data completamento</th>
<th></th>
</tr>
</thead>
<tbody>
{% for pt in wt[3] %}
<tr>
<td class="txt_a_c">{{ pt.displayPhase('icon')|raw }}</td>
<td>{{ pt.warehouseTo }}</td>
<td>{{ pt.supplier }}</td>
<td>{{ pt.datetimeCreation|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeSend|date('d-m-Y H:i') }}</td>
<td>{{ pt.datetimeCompletion|date('d-m-Y H:i') }}</td>
<td class="td_action"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':wt[0], 'transferId':pt.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda trasferimento"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg font_12"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun trasferimento in uscita non completato!</div>
</div>
{% endif %}
</div>
<div class="col-12 col-lg-4">
<h5 class="form_title">Trasferimenti senza DDT firmato</h5>
<hr class="m_t_none m_b_5p">
{% if wt[4]|length > 0 %}
<table class="table table-sm font_12">
<tbody>
{% for pt in wt[4] %}
<tr>
<td>
<table class="table table_no_padding m_b_none b_none font_12">
<tr><td><b>Fase</b>: {{ pt.displayPhase('string')|raw }}</td></tr>
<tr><td><b>Fase DDT</b>: {{ pt.displayPhaseDdt('string')|raw }}</td></tr>
<tr><td><b>Magazzino provenienza</b>: {{ pt.warehouseFrom }}</td></tr>
<tr><td><b>Magazzino destinazione</b>: {{ pt.warehouseTo }}</td></tr>
<tr><td><b>Fornitore</b>: {{ pt.supplier }}</td></tr>
<tr><td><b>Data creazione</b>: {{ pt.datetimeCreation|date('d-m-Y H:i') }}</td></tr>
<tr><td><b>Data invio</b>: {{ pt.datetimeSend|date('d-m-Y H:i') }}</td></tr>
<tr><td><b>Data completamento</b>: {{ pt.datetimeCompletion|date('d-m-Y H:i') }}</td></tr>
</table>
</td>
<td class="td_action"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':wt[0], 'transferId':pt.id}) }}" data-bs-toggle="tooltip" title="Vai alla scheda trasferimento"><img class="icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="style-msg successmsg m_b_none">
<div class="sb-msg font_12"><i class="icon-thumbs-up"></i><strong>Complimenti!</strong> Nessun trasferimento in uscita!</div>
</div>
{% endif %}
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
</div>
</div>
</div>
{# Cerca #}
{% if app.user.canRead('desk_search') %}
<div class="tab-content clearfix" id="search">
<form action="{{ path ('user_search_redirect') }}" method="post" id="form_search">
<div class="row">
<div class="col-12 col-md-6 m_b_20p">
<h4 class="form_title">Ricerca cliente</h4>
<hr class="m_t_none">
<div class="form-group">
<label class="form_label m_b_none">Insegna</label>
<input type="text" class="form-control" name="clientNickname">
</div>
<div class="form-group">
<label class="form_label m_b_none">Numero di telefono</label>
<input type="text" class="form-control" name="clientPhone">
</div>
<div class="txt_a_c">
<a href="javascript: submitTechnicianSearch('client')" class="button button-3d button-small button-rounded button-green">Cerca</a>
</div>
</div>
<div class="col-12 col-md-6 m_b_20p">
<h4 class="form_title">Ricerca ticket</h4>
<hr class="m_t_none">
<div class="form-group">
<label class="form_label m_b_none">Numero ticket o termid</label>
<input type="text" class="form-control" name="number">
</div>
<div class="txt_a_c">
<a href="javascript: submitTechnicianSearch('ticket')" class="button button-3d button-small button-rounded button-green">Cerca</a>
</div>
</div>
<div class="col-12 col-md-6">
<h4 class="form_title">Ricerca prodotto</h4>
<hr class="m_t_none">
<div class="form-group">
<label class="form_label m_b_none">Matricola produttore</label>
<input type="text" class="form-control" name="codeProducer">
</div>
<div class="form-group">
<label class="form_label m_b_none">Matricola fornitore</label>
<input type="text" class="form-control" name="codeSupplier">
</div>
<div class="txt_a_c">
<a href="javascript: submitTechnicianSearch('product')" class="button button-3d button-small button-rounded button-green">Cerca</a>
</div>
</div>
</div>
<input type="hidden" id="search_type" name="type">
</form>
</div>
{% endif %}
</div>
</div>
</div>
</div>
{% endif %}
</section>
{% if app.user.getAccountTypology == 'agency' or app.user.getAccountTypology == 'technician' %}
<form action="{{ path ('user_ticket_list_tab') }}" method="post" id="formGoToTickets">
<input type="hidden" id="ticketTabOpen" name="ticketTabOpen">
<input type="hidden" id="ticketOperationGroup" name="ticketOperationGroup">
<input type="hidden" id="ticketTechnician" name="ticketTechnician">
</form>
{% endif %}
{# Modale notifiche #}
<div id="modalAlerts" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document" style="max-width:98%">
<div class="modal-content">
<div class="modal-header"><h3 class="modal-title">Notifiche</h3></div>
<div class="modal-body">
</div>
<div class="modal-footer txt_a_c">
<a href="javascript:void(0)" class="button button-3d button-mini button-pr" data-bs-dismiss="modal">Chiudi</a>
</div>
</div>
</div>
</div>
{% if app.user.getAccountTypology != 'technician' and app.user.canWrite('ticket') %}
<div id="modalTicketUnlockSuspension" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header"><h3 class="modal-title">Ticket - Sblocca sospensione materiale</h3></div>
<div class="modal-body">
<input type="hidden" id="ticketUnlockId">
<div class="row">
<div class="col-12 txt_a_c">
<label class="modal_subtitle">Attenzione!</label>
<p class="modal_paragraph">Cliccando sul bottone <a class='button button-3d button-mini button-green' href='javascript:void(0)'>conferma</a> sbloccherai il ticket.<br>Si è sicuri di voler proseguire?</p>
</div>
</div>
</div>
<div class="modal-footer">
<a href="javascript:void(0)" class="button button-3d button-mini button-red f_left" data-bs-dismiss="modal">Annulla</a>
<a href="javascript:ticketUnlockSuspensionSubmit()" class="button button-3d button-mini button-green f_right">Conferma</a>
</div>
</div>
</div>
</div>
{% endif %}
{% if app.user.getAccountTypology == 'technician' %}
<div id="takeChargeModal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="{{ path ('user_ticket_take_charge') }}" method="post">
<div class="modal-header"><h3 class="modal-title">Ticket - Prendi in carico</h3></div>
<div class="modal-body">
<div class="row">
<div class="col-12 txt_a_c">
<label class="modal_subtitle">Attenzione!</label>
<p class="modal_paragraph">Cliccando sul bottone <a class='button button-3d button-mini button-green' href='javascript:void(0)'>conferma</a> prenderai in carico tutti i ticket che ti sono stati assegnati.<br>Si è sicuri di voler proseguire?</p>
</div>
</div>
</div>
<div class="modal-footer">
<a href="javascript:void(0)" class="button button-3d button-mini button-red f_left" data-bs-dismiss="modal">Annulla</a>
<button type="submit" class="button button-3d button-mini button-green f_right">Conferma</button>
</div>
</form>
</div>
</div>
</div>
{% endif %}
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script>
{# Agenzia #}
{% if app.user.getAccountTypology == 'agency' or app.user.getAccountTypology == 'technician' %}
function goToTicketList(tab, operationGroup){
document.getElementById('ticketTabOpen').value = tab;
document.getElementById('ticketOperationGroup').value = operationGroup;
triggerLoading();
$('#formGoToTickets').submit();
}
{% endif %}
{% if app.user.getAccountTypology == 'agency' %}
function goToTechTicketList(operationGroup, technician){
document.getElementById('ticketTabOpen').value = 'taken_charge';
document.getElementById('ticketOperationGroup').value = operationGroup;
document.getElementById('ticketTechnician').value = technician;
triggerLoading();
$('#formGoToTickets').submit();
}
{% endif %}
{% if app.user.getAccountTypology != 'technician' and app.user.canWrite('ticket') %}
function unlockSuspension(id){
document.getElementById('ticketUnlockId').value = id;
$('#modalTicketUnlockSuspension').modal({backdrop: 'static', keyboard: false}).modal("show");
}
function ticketUnlockSuspensionSubmit(){
triggerLoadingInElement('table_ticket_waiting_for_material');
var id = document.getElementById('ticketUnlockId').value;
$.post('{{ path ("user_ticket_unlock_waiting_material") }}', {ticketId: id}, function(response){
if(response.code == 200 && response.success){
$.get("{{ path ('user_index_ticket_unlock_refresh') }}", function(data) { $("#table_ticket_waiting_for_material").html(data); });
$.get("{{ path ('user_index_ticket_tab_refresh', {'tab':'waiting_for_material'}) }}", function(data) { $("#btn_tab_waiting_for_material").html(data); });
$('#modalTicketUnlockSuspension').modal("hide");
}
}, "json");
$('[data-bs-toggle="tooltip"]').tooltip();
}
{% endif %}
function openModalAlerts(){
$('#modalAlerts').modal({backdrop: 'static', keyboard: false}).modal("show");
}
{% if app.user.getAccountTypology == 'technician' %}
function ticketsTakeCharge(){
$('#takeChargeModal').modal({backdrop: 'static', keyboard: false}).modal("show");
}
function submitTechnicianSearch(type){
document.getElementById('search_type').value = type;
triggerLoading();
$('#form_search').submit();
}
{% endif %}
</script>
{% endblock %}