{% extends 'role/user/index.html.twig' %}
{% block title %}Magazzino - Scheda{% endblock %}
{% block pageTitleH1 %}Magazzino - Scheda{% endblock %}
{% block pageTitleBreadcrumb %}
<li class="breadcrumb-item"><a href="{{ path('user_warehouse_list') }}">Magazzini</a></li>
<li class="breadcrumb-item"><a href="javascript:void(0)">Scheda</a></li>
{% endblock %}
{% block subMenuLeft %}
{% if app.user.warehouses|length == 1 %}
<li class="nav-item"><a class="nav-link" href="{{ path ('user_index') }}">Scrivania</a></li>
{% else %}
<li class="nav-item"><a class="nav-link" href="{{ path ('user_warehouse_list') }}">Magazzini</a></li>
{% endif %}
{% endblock %}
{% block subMenuRight %}
{% if app.user.canWrite('warehouse') or (warehouse.jtUser(app.user.id) is not null and warehouse.jtUser(app.user.id).permission == 'RW') %}
{% if warehouse.headquarter and (app.user.canWrite('warehouse') or app.user.canWrite('warehouse_receive_material')) %}
<li class="nav-item"><a class="nav-link" href="javascript: transferReceive()">Ricevi materiale</a></li>
{% endif %}
<li class="nav-item"><a class="nav-link" href="javascript: transferSend()">Invia materiale</a></li>
{% endif %}
{% endblock %}
{% block content %}
{% if app.user.getAccountTypology == 'agency' or app.user.getAccountTypology == 'warehouse' %}
{% set prReqTitle = "Richieste tecnici" %}
{% set prReqInserted = "Da gestire" %}
{% set prReqTakeCharge = "Prese in carico" %}
{% set prReqCompleted = "Gestite" %}
{% elseif app.user.getAccountTypology == 'technician' %}
{% set prReqTitle = "Le tue richieste" %}
{% set prReqInserted = "Inviate" %}
{% set prReqTakeCharge = "Prese in carico" %}
{% set prReqCompleted = "Completate" %}
{% endif %}
<section class="p_lr_30p m_tb_40p">
<div class="row">
<div class="col-12">
<h3 class="form_title">Magazzino: {{ warehouse.nickname }}</h3>
<hr class="m_t_none">
<div class="tabs clearfix">
<ul class="tab-nav clearfix">
<li><a id="btn_tab_stocks" href="#stocks" class="tab_session" data-filterTab="stocks"><i class="icon-warehouse d-block d-md-none" data-bs-toggle="tooltip" title="Scorte"></i><span class="d-none d-md-block">Scorte</span></a></li>
<li><a id="btn_tab_transfers" href="#transfers" class="tab_session" data-filterTab="transfers"><i class="icon-exchange d-block d-md-none" data-bs-toggle="tooltip" title="Trasferimenti"></i><span class="d-none d-md-block">Trasferimenti</span></a></li>
<li><a id="btn_tab_data" href="#data" class="tab_session" data-filterTab="data"><i class="icon-users d-block d-md-none" data-bs-toggle="tooltip" title="Dati e utenti"></i><span class="d-none d-md-block">Dati e utenti</span></a></li>
{% if (warehouse.headquarter and (app.user.getAccountTypology == 'agency' or app.user.getAccountTypology == 'warehouse')) or app.user.getAccountTypology == 'technician' %}
<li><a id="btn_tab_request" href="#technicianRequests" class="tab_session" data-filterTab="request"><i class="icon-question d-block d-md-none" data-bs-toggle="tooltip" title="{{ prReqTitle }}"></i><span class="d-none d-md-block">{{ prReqTitle }}</span></a></li>
{% endif %}
</ul>
<div class="tab-container">
{# Scorte #}
<div class="tab-content clearfix" id="stocks">
<div class="row">
<div class="col-12">
<h4 class="form_title">Scorte in magazzino
<a href="{{ path ('user_warehouse_stocks_export_csv', {'warehouseId':warehouse.id}) }}" class="button button-3d button-mini button-pr m_t_none m_b_none f_right"><i class="icon-file-excel d-block d-lg-none m_r_none" data-bs-toggle="tooltip" title="Esporta in csv"></i><span class="d-none d-lg-block">Esporta in csv</span></a>
{% if (app.user.getAccountTypology == 'agency' or app.user.getAccountTypology == 'warehouse') %}
{% if warehouse.headquarter and settingRecoverStock.value == 1 %}
<a href="{{ path ('user_warehouse_stocks_recover', {'warehouseId':warehouse.id}) }}" class="button button-3d button-mini button-green m_t_none m_b_none f_right"><i class="icon-barcode d-block d-lg-none m_r_none" data-bs-toggle="tooltip" title="Rientra scorte"></i><span class="d-none d-lg-block">Rientra scorte</span></a>
{% endif %}
{% if settingRegisterStock.value == 1 %}
<a href="{{ path ('user_warehouse_stocks_register', {'warehouseId':warehouse.id}) }}" class="button button-3d button-mini button-green m_t_none m_b_none f_right"><i class="icon-barcode d-block d-lg-none m_r_none" data-bs-toggle="tooltip" title="Registra scorte"></i><span class="d-none d-lg-block">Registra scorte</span></a>
{% endif %}
{% endif %}
{% if app.user.canWrite('warehouse_inventory') %}
<a href="javascript: stockInventory()" class="button button-3d button-mini button-amber m_t_none m_b_none f_right"><i class="icon-boxes d-block d-lg-none m_r_none" data-bs-toggle="tooltip" title="Inventario"></i><span class="d-none d-lg-block">Inventario</span></a>
{% endif %}
</h4>
<hr class="m_t_none">
</div>
<div class="col-12">
<div class="tabs clearfix">
<ul class="tab-nav clearfix">
{% if warehouse.headquarter %}
<li><a id="btn_tab_s_to_manage" href="#to_manage" class="tab_session2" data-filterTab="s_to_manage"><i class="icon-question d-block d-md-none" data-bs-toggle="tooltip" title="Da gestire ({{ toManageProductsCount }})"></i><span class="d-none d-md-block">Da gestire ({{ toManageProductsCount }})</span></a></li>
{% endif %}
<li><a id="btn_tab_s_available" href="#available" class="tab_session2" data-filterTab="s_available"><i class="icon-check d-block d-md-none" data-bs-toggle="tooltip" title="Disponibili ({{ availableProductsCount }})"></i><span class="d-none d-md-block">Disponibili ({{ availableProductsCount }})</span></a></li>
<li><a id="btn_tab_s_not_available" href="#not_available" class="tab_session2" data-filterTab="s_not_available"><i class="icon-minus d-block d-md-none" data-bs-toggle="tooltip" title="Non disponibili ({{ notAvailableProductsCount }})"></i><span class="d-none d-md-block">Non disponibili ({{ notAvailableProductsCount }})</span></a></li>
<li><a id="btn_tab_s_transfer" href="#transfer" class="tab_session2" data-filterTab="s_transfer"><i class="icon-exchange d-block d-md-none" data-bs-toggle="tooltip" title="In trasferimento ({{ transferProductsCount }})"></i><span class="d-none d-md-block">In trasferimento ({{ transferProductsCount }})</span></a></li>
</ul>
<div class="tab-container">
{% if warehouse.headquarter %}
<div class="tab-content clearfix" id="to_manage">
<div class="row">
<div class="col-12">
<a id="button_0_condition" href="javascript: void(0)" class="button button-3d button-mini button-grey f_right m_b_10p p_tb4_lr6"><i class="icon-line-alert-circle d-block d-lg-none m_r_none" data-bs-toggle="tooltip" title="Cambia condizione"></i><span class="d-none d-lg-block">Cambia condizione</span></a>
<a id="button_0_supplier" href="javascript: void(0)" class="button button-3d button-mini button-grey f_right m_b_10p p_tb4_lr6"><i class="icon-hand-holding d-block d-lg-none m_r_none" data-bs-toggle="tooltip" title="Aggiungi fornitori"></i><span class="d-none d-lg-block">Aggiungi fornitori</span></a>
<a id="button_0_managed" href="javascript: void(0)" class="button button-3d button-mini button-grey f_right m_b_10p p_tb4_lr6"><i class="icon-wrench d-block d-lg-none m_r_none" data-bs-toggle="tooltip" title="Gestito"></i><span class="d-none d-lg-block">Gestito</span></a>
</div>
<div class="col-12 overflow_a">
<table class="table table-sm table-bordered responsive_font_size">
<thead>
<tr>
<form method="get" action="{{ path ('user_warehouse_sheet', {'warehouseId':warehouse.id}) }}" id="formFilter_0">
<td colspan="3"><a href="{{ path ('remove_filter', {'route':app.request.attributes.get('_route'), 'route_params':app.request.attributes.get('_route_params')}) }}" class="f_right" data-bs-toggle="tooltip" title="Escludi filtri"><img class="icon_action icon_red" src="{{ asset (icon_delete) }}"></a></td>
<td class="td_w_150p"><input type="text" inputmode="search" class="form-control" name="codeProducer_0" value="{{ filters.codeProducer_0|default() }}"/></td>
<td class="td_w_180p"><input type="text" inputmode="search" class="form-control" name="model_0" value="{{ filters.model_0|default() }}"/></td>
<td class="td_w_120p"><input type="text" class="form-control" id="filter_supplier_value_0" readonly onClick="filterSuppliers0()" data-bs-toggle="tooltip"/><input type="hidden" id="filter_supplier_id_0" name="supplier_0" value="{{ filters.supplier_0|default() }}"/></td>
<td class="td_w_120p"><input type="text" inputmode="search" class="form-control" name="condition_0" value="{{ filters.condition_0|default() }}"/></td>
<td class="td_w_120p d-none d-lg-table-cell"><input type="text" inputmode="search" class="form-control" name="producer_0" value="{{ filters.producer_0|default() }}"/></td>
<td class="td_w_150p"><input type="text" inputmode="search" class="form-control" name="codeSupplier_0" value="{{ filters.codeSupplier_0|default() }}"/></td>
<td class="td_w_120p d-none d-lg-table-cell"><input type="text" inputmode="search" class="form-control" name="sku_0" value="{{ filters.sku_0|default() }}"/></td>
<td class="td_w_120p"><input type="text" inputmode="search" class="form-control" name="technician_0" value="{{ filters.technician_0|default() }}"/></td>
<td class="td_w_60p"><input type="text" inputmode="search" class="form-control" name="ddt_0" value="{{ filters.ddt_0|default() }}"/></td>
<td class="td_w_20p"><button type="submit" class="btn bg_w f_left p_0p" data-bs-toggle="tooltip" title="Filtra"><img class="icon_green icon_action" src="{{ asset (icon_search) }}"></button></td>
<input type="hidden" name="filter_tab" value="s_to_manage">
<input id="sort_field_0" type="hidden" name="sortField_0" value="{{ filters.sortField_0|default() }}"/>
<input id="sort_order_0" type="hidden" name="sortOrder_0" value="{{ filters.sortOrder_0|default() }}"/>
</form>
</tr>
<tr class="bg_pr color_w">
<th class="td_w_20p"></th>
<th class="td_w_20p">
<div class="switch" data-bs-toggle="tooltip" title="Seleziona tutti">
<input id="stock_0_all_checkboxes" class="switch-toggle switch-flat-mini switch-toggle-flat" type="checkbox" onChange="javascript: selectAll(0, 's_to_manage')">
<label for="stock_0_all_checkboxes" class="m_b_none"></label>
</div>
</th>
<th class="td_w_40p txt_a_c">Ptà <button type="button" onClick="setOrderBy0('p.toManagePriority')" data-orderField="p.toManagePriority" class="f_right filter_arrow_0"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th>Matr. produttore<button type="button" onClick="setOrderBy0('p.codeProducer')" data-orderField="p.codeProducer" class="f_right filter_arrow_0"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th>Modello<button type="button" onClick="setOrderBy0('m.name')" data-orderField="m.name" class="f_right filter_arrow_0"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th>Fornitori</th>
<th>Condizione<button type="button" onClick="setOrderBy0('c.value')" data-orderField="c.value" class="f_right filter_arrow_0"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th class="d-none d-lg-table-cell">Produttore<button type="button" onClick="setOrderBy0('pr.name')" data-orderField="pr.name" class="f_right filter_arrow_0"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th>Matr. fornitore<button type="button" onClick="setOrderBy0('p.codeSupplier')" data-orderField="p.codeSupplier" class="f_right filter_arrow_0"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th class="d-none d-lg-table-cell">SKU<button type="button" onClick="setOrderBy0('m.sku')" data-orderField="m.sku" class="f_right filter_arrow_0"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th>Tecnico</th>
<th colspan="2">DDT</th>
</tr>
</thead>
<tbody>
{% if toManageProducts|length > 0 %}
{% for product in toManageProducts %}
{% set first = true %}
{% set suppliersString = '' %}
{% for supplier in product.suppliers %}
{% if first %}{% set first = false %}{% else %}{% set suppliersString = suppliersString ~ '-' %}{% endif %}
{% set suppliersString = suppliersString ~ supplier.id %}
{% endfor %}
<input type="hidden" id="suppliers_ids_string" value="{{ suppliersString }}">
<tr {% if product.toManage %}class="bg_to_manage_{{ product.toManagePriority }}"{% endif %}>
<td class="txt_a_c"><a href="{{ path ('user_product_sheet', {'productId':product.id}) }}" data-bs-toggle="tooltip" title="Scheda"><img class="icon_action icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
<td>
<div class="switch">
<input id="stock_checkbox_{{ product.id }}" class="switch-toggle switch-flat-mini switch-toggle-flat stock_0_checkbox" type="checkbox" value="{{ product.id }}" onChange="javascript: updateButtons(0, 's_to_manage')">
<label for="stock_checkbox_{{ product.id }}" class="m_b_none"></label>
</div>
</td>
<td class="txt_a_c">{{ product.toManagePriority }}</td>
<td id="product_codeProducer_{{ product.id }}"><a href="{{ path ('user_product_sheet', {'productId':product.id}) }}" class="underline" target="_blank">{{ product.codeProducer|default('---') }}</a></td>
<td id="product_model_{{ product.id }}">{{ product.model.name }}</td>
<td>{{ product.displaySuppliers()|raw }}</td>
<td>{{ product.displayCondition('string-short') }}</td>
<td class="d-none d-lg-table-cell">{{ product.model.producer }}</td>
<td id="product_codeSupplier_{{ product.id }}">{{ product.codeSupplier|default('---') }}</td>
<td class="d-none d-lg-table-cell">{{ product.model.sku }}</td>
<td>{% if product.getLastTransfer is not null %}{{ product.getLastTransfer().userFrom }}{% endif %}</td>
<td colspan="2">{{ product.displayTransfersDdt()|raw }}</td>
</tr>
{% endfor %}
{% else %}
{% include 'components/twig/notice_no_values.html.twig' with {'message':'Nessun prodotto in questo stato'} %}
{% endif %}
</tbody>
</table>
</div>
<div class="col-12 navigation txt_a_r">
{{ knp_pagination_render(toManageProducts) }}
</div>
</div>
</div>
{% endif %}
<div class="tab-content clearfix" id="available">
{% set number = 1 %}
{% set tab = 's_available' %}
{% set status = 'available' %}
{% set products = availableProducts %}
{% set multipleSelection = [false, 1, []] %}
{% if app.user.canWrite('warehouse') or (warehouse.jtUser(app.user.id) != null and warehouse.jtUser(app.user.id).permission == 'RW') %}
{% if app.user.getAccountTypology != 'technician' %}
{% set multipleSelection = [true, 1, ['supplier', 'condition', 'send', 'export']] %}
{% else %}
{% set multipleSelection = [true, 1, ['condition', 'send', 'export']] %}
{% endif %}
{% endif %}
{% block tableStocks %}
<div class="row">
<div class="col-12">
{% if multipleSelection[0] %}
{% if 'condition' in multipleSelection[2] %}<a id="button_{{ multipleSelection[1] }}_condition" href="javascript: void(0)" class="button button-3d button-mini button-grey f_right m_b_10p p_tb4_lr6"><i class="icon-line-alert-circle d-block d-lg-none m_r_none" data-bs-toggle="tooltip" title="Cambia condizione"></i><span class="d-none d-lg-block">Cambia condizione</span></a>{% endif %}
{% if 'supplier' in multipleSelection[2] %}<a id="button_{{ multipleSelection[1] }}_supplier" href="javascript: void(0)" class="button button-3d button-mini button-grey f_right m_b_10p p_tb4_lr6"><i class="icon-hand-holding d-block d-lg-none m_r_none" data-bs-toggle="tooltip" title="Aggiungi fornitori"></i><span class="d-none d-lg-block">Aggiungi fornitori</span></a>{% endif %}
{% if 'send' in multipleSelection[2] %}<a id="button_{{ multipleSelection[1] }}_send" href="javascript: void(0)" class="button button-3d button-mini button-grey f_right m_b_10p p_tb4_lr6"><i class="icon-line-send d-block d-lg-none m_r_none" data-bs-toggle="tooltip" title="Invia materiale"></i><span class="d-none d-lg-block">Invia materiale</span></a>{% endif %}
{% if 'export' in multipleSelection[2] %}<a href="{{ path ('user_warehouse_stocks_export_csv_for_send', {'warehouseId':warehouse.id, 'status':status}) }}" class="button button-3d button-mini button-amber f_right m_b_10p p_tb4_lr6"><i class="icon-line-send d-block d-lg-none m_r_none" data-bs-toggle="tooltip" title="Esporta per invio"></i><span class="d-none d-lg-block">Esporta per invio</span></a>{% endif %}
{% endif %}
</div>
<div class="col-12 overflow_a">
<table class="table table-sm table-bordered responsive_font_size v_a_m">
<thead>
<tr>
<form method="get" action="{{ path ('user_warehouse_sheet', {'warehouseId':warehouse.id}) }}" id="formFilter_1">
<td {% if multipleSelection[0] %}colspan="2"{% endif %}><a href="{{ path ('remove_filter', {'route':app.request.attributes.get('_route'), 'route_params':app.request.attributes.get('_route_params')}) }}" class="f_right" data-bs-toggle="tooltip" title="Escludi filtro"><img class="icon_action icon_red" src="{{ asset (icon_delete) }}"></a></td>
<td class="td_w_150p"><input type="text" inputmode="search" class="form-control" name="codeProducer_1" value="{{ filters.codeProducer_1|default() }}"/></td>
<td class="td_w_180p"><input type="text" inputmode="search" class="form-control" name="model_1" value="{{ filters.model_1|default() }}"/></td>
<td class="td_w_120p"><input type="text" class="form-control" id="filter_supplier_value_{{ number }}" readonly onClick="filterSuppliers{{ number }}()" data-bs-toggle="tooltip"/><input type="hidden" id="filter_supplier_id_{{ number }}" name="supplier_1" value="{{ filters.supplier_1|default() }}"/></td>
<td class="td_w_120p"><input type="text" inputmode="search" class="form-control" name="condition_1" value="{{ filters.condition_1|default() }}"/></td>
<td class="td_w_90p d-none d-lg-table-cell"><input type="text" inputmode="search" class="form-control" name="producer_1" value="{{ filters.producer_1|default() }}"/></td>
<td class="td_w_150p"><input type="text" inputmode="search" class="form-control" name="codeSupplier_1" value="{{ filters.codeSupplier_1|default() }}"/></td>
<td class="td_w_120p d-none d-lg-table-cell"><input type="text" inputmode="search" class="form-control" name="sku_1" value="{{ filters.sku_1|default() }}"/></td>
<td class="td_w_120p d-none d-lg-table-cell"><input type="text" class="form-control daterange1last font_12" id="daterange1last_{{ number }}" inputmode="search" autocomplete="off" name="dateLastTransfer_1" style="height: 38px" date-filter="range"/></td>
<td class="td_w_60p">
<button type="submit" class="btn bg_w f_left p_0p" data-bs-toggle="tooltip" title="Filtra"><img class="icon_action icon_green" src="{{ asset (icon_search) }}"></button>
<a href="{{ path ('user_warehouse_stocks_export_csv_filtered', {'warehouseId':warehouse.id, 'status':status}) }}" class="f_right" data-bs-toggle="tooltip" title="Esporta filtrati"><img class="icon_action icon_amber" src="{{ asset (icon_xls) }}"></a>
</td>
<input type="hidden" name="filter_tab" value="{{ tab }}">
<input id="sort_field_1" type="hidden" name="sortField_1" value="{{ filters.sortField_1|default() }}"/>
<input id="sort_order_1" type="hidden" name="sortOrder_1" value="{{ filters.sortOrder_1|default() }}"/>
</form>
</tr>
<tr class="bg_pr color_w">
<th class="td_w_20p"></th>
{% if multipleSelection[0] %}
<th class="td_w_20p">
<div class="switch" data-bs-toggle="tooltip" title="Seleziona tutti">
<input id="stock_{{ multipleSelection[1] }}_all_checkboxes" class="switch-toggle switch-flat-mini switch-toggle-flat" type="checkbox" onChange="javascript: selectAll({{ multipleSelection[1] }}, '{{ tab }}')">
<label for="stock_{{ multipleSelection[1] }}_all_checkboxes" class="m_b_none"></label>
</div>
</th>
{% endif %}
<th>Matr. produttore<button type="button" onClick="setOrderBy1('p.codeProducer')" data-orderField="p.codeProducer" class="f_right filter_arrow_1"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th>Modello<button type="button" onClick="setOrderBy1('m.name')" data-orderField="m.name" class="f_right filter_arrow_1"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th>Fornitori</th>
<th>Condizione<br>(Ultimi riferimenti)<button type="button" onClick="setOrderBy1('c.value')" data-orderField="c.value" class="f_right filter_arrow_1"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th class="d-none d-lg-table-cell">Produttore<button type="button" onClick="setOrderBy1('pr.name')" data-orderField="pr.name" class="f_right filter_arrow_1"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th>Matr. fornitore<button type="button" onClick="setOrderBy1('p.codeSupplier')" data-orderField="p.codeSupplier" class="f_right filter_arrow_1"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th>SKU<button type="button" onClick="setOrderBy1('m.sku')" data-orderField="m.sku" class="f_right filter_arrow_1"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th colspan="2" class="d-none d-lg-table-cell">Data ultimo trasf.<button type="button" onClick="setOrderBy1('p.dateLastTransfer')" data-orderField="p.dateLastTransfer" class="f_right filter_arrow_1"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
</tr>
</thead>
<tbody>
{% if products|length > 0 %}
{% for product in products %}
{% set first = true %}
{% set suppliersString = '' %}
{% for supplier in product.suppliers %}
{% if first %}{% set first = false %}{% else %}{% set suppliersString = suppliersString ~ '-' %}{% endif %}
{% set suppliersString = suppliersString ~ supplier.id %}
{% endfor %}
<input type="hidden" id="suppliers_ids_string" value="{{ suppliersString }}">
<tr {% if product.toManage %}class="bg_to_manage_{{ product.toManagePriority }}"{% endif %}>
<td class="txt_a_c"><a href="{{ path ('user_product_sheet', {'productId':product.id}) }}" data-bs-toggle="tooltip" title="Scheda"><img class="icon_action icon_pr" src="{{ asset(icon_sheet) }}"></a></td>
{% if multipleSelection[0] %}
<td>
<div class="switch">
<input id="stock_checkbox_{{ product.id }}" class="switch-toggle switch-flat-mini switch-toggle-flat stock_{{ multipleSelection[1] }}_checkbox" type="checkbox" value="{{ product.id }}" onChange="javascript: updateButtons({{ multipleSelection[1] }}, '{{ tab }}')">
<label for="stock_checkbox_{{ product.id }}" class="m_b_none"></label>
</div>
</td>
{% endif %}
<td id="product_codeProducer_{{ product.id }}">{{ product.codeProducer|default('---') }}</td>
<td id="product_model_{{ product.id }}">{{ product.model.name }}</td>
<td>{{ product.displaySuppliers()|raw }}</td>
<td>{{ product.displayCondition('string-short') }}
{% if product.getLastTicket is not null and tab == "s_not_available" %}<a href="{{ path('user_ticket_sheet', {'ticketId': product.getLastTicket.id }) }}" target="_blank">{{ product.displayLastRefs|raw }}</a>{% endif %}
</td>
<td class="d-none d-lg-table-cell">{{ product.model.producer }}</td>
<td id="product_codeSupplier_{{ product.id }}">{{ product.codeSupplier|default('---') }}</td>
<td>{{ product.model.sku }}</td>
<td colspan="2" class="d-none d-lg-table-cell">{{ product.dateLastTransfer|date('d-m-Y H:i') }}</td>
</tr>
{% endfor %}
{% else %}
{% include 'components/twig/notice_no_values.html.twig' with {'message':'Nessun prodotto in questo stato'} %}
{% endif %}
</tbody>
</table>
</div>
<div class="col-12 navigation txt_a_r">
{{ knp_pagination_render(products) }}
</div>
</div>
{% endblock %}
</div>
<div class="tab-content clearfix" id="not_available">
{% set number = 2 %}
{% set tab = 's_not_available' %}
{% set status = 'not_available' %}
{% set products = notAvailableProducts %}
{% set index = 1 %}
{% set multipleSelection = [false, 2, []] %}
{% if app.user.canWrite('warehouse') or (warehouse.jtUser(app.user.id) != null and warehouse.jtUser(app.user.id).permission == 'RW') %}
{% if app.user.getAccountTypology != 'technician' %}
{% set multipleSelection = [true, 2, ['supplier', 'condition', 'send', 'export']] %}
{% else %}
{% set multipleSelection = [true, 2, ['condition', 'send', 'export']] %}
{% endif %}
{% endif %}
{{ block('tableStocks') }}
</div>
<div class="tab-content clearfix" id="transfer">
{% set number = 3 %}
{% set tab = 's_transfer' %}
{% set status = 'transfer' %}
{% set products = transferProducts %}
{% set index = 1 %}
{% set multipleSelection = [false, null, []] %}
{{ block('tableStocks') }}
</div>
</div>
</div>
</div>
</div>
</div>
{# Trasferimenti #}
<div class="tab-content clearfix" id="transfers">
<div class="row">
<div class="col-12">
<h4 class="form_title">Trasferimenti</h4>
<hr class="m_t_none">
<div class="tabs clearfix">
<ul class="tab-nav clearfix">
<li><a id="btn_tab_pt_incoming" href="#incoming" class="tab_session2" data-filterTab="pt_incoming"><i class="icon-download d-block d-md-none" data-bs-toggle="tooltip" title="In entrata ({{ incomingTransfers|length }})"></i><span class="d-none d-md-block">In entrata ({{ incomingTransfers|length }})</span></a></li>
<li><a id="btn_tab_pt_output" href="#output" class="tab_session2" data-filterTab="pt_output"><i class="icon-upload d-block d-md-none" data-bs-toggle="tooltip" title="In uscita ({{ outputTransfers|length }})"></i><span class="d-none d-md-block">In uscita ({{ outputTransfers|length }})</span></a></li>
</ul>
<div class="tab-container">
<div class="tab-content clearfix" id="incoming">
{% set transfers = incomingTransfers %}
{% set number = 1 %}
{% set tabType = 'pt_incoming' %}
{% block tableTransfers %}
<div class="row">
<div class="col-12 overflow_a">
<table class="table table-bordered table-hover responsive_font_size">
<thead>
<tr>
<form method="get" action="{{ path ('user_warehouse_sheet', {'warehouseId':warehouse.id}) }}" id="formFilter_2">
<td colspan="2"><a href="{{ path ('remove_filter', {'route':app.request.attributes.get('_route'), 'route_params':app.request.attributes.get('_route_params') }) }}" class="f_right" data-bs-toggle="tooltip" title="Escludi filtro"><img class="icon_action icon_red" src="{{ asset (icon_delete) }}"></a></td>
<td class="td_w_100p"><input type="text" class="form-control daterange2creation font_12" id="daterange2creation_{{ number }}" inputmode="search" autocomplete="off" name="datetimeCreation_2" style="height: 38px" date-filter="range"/></td>
<td class="td_w_100p"><input type="text" class="form-control daterange2send font_12" id="daterange2send_{{ number }}" inputmode="search" autocomplete="off" name="datetimeSend_2" style="height: 38px" date-filter="range"/></td>
<td class="td_w_100p"><input type="text" class="form-control daterange2completion font_12" id="daterange2completion_{{ number }}" inputmode="search" autocomplete="off" name="datetimeCompletion_2" style="height: 38px" date-filter="range"/></td>
<td class="td_w_200p"><input type="text" class="form-control" inputmode="search" name="warehouseFrom_2" value="{{ filters.warehouseFrom_2|default() }}"/></td>
<td class="td_w_200p"><input type="text" class="form-control" inputmode="search" name="warehouseTo_2" value="{{ filters.warehouseTo_2|default() }}"/></td>
<td class="td_w_80p"><input type="text" class="form-control" inputmode="search" name="ddt_2" value="{{ filters.ddt_2|default() }}"/></td>
<td class="td_w_100p"><input type="text" class="form-control" inputmode="search" name="stockOrder_2" value="{{ filters.stockOrder_2|default() }}"/></td>
<td class="td_w_20p"><button type="submit" class="btn bg_w f_left p_0p" data-bs-toggle="tooltip" title="Filtra"><img class="icon_action icon_green" src="{{ asset (icon_search) }}"></button></td>
<input type="hidden" name="filter_tab" value="{{ tabType }}">
<input id="sort_field_2" type="hidden" name="sortField_2" value="{{ filters.sortField_2|default() }}"/>
<input id="sort_order_2" type="hidden" name="sortOrder_2" value="{{ filters.sortOrder_2|default() }}"/>
</form>
</tr>
<tr class="bg_pr color_w">
<th rowspan="2" class="td_w_20p"></th>
<th rowspan="2" class="td_w_100p v_a_m">Fase<button type="button" onClick="setOrderBy2('p.phase')" data-orderField="p.phase" class="f_right filter_arrow_2"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th colspan="3" class="txt_a_c p_025rem">Data/ora</th>
<th rowspan="2" class="v_a_m">Mag. partenza<button type="button" onClick="setOrderBy2('wf.nickname')" data-orderField="wf.nickname" class="f_right filter_arrow_2"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th rowspan="2" class="v_a_m">Mag. arrivo<button type="button" onClick="setOrderBy2('wt.nickname')" data-orderField="wt.nickname" class="f_right filter_arrow_2"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th rowspan="2" class="v_a_m">DDT<button type="button" onClick="setOrderBy2('p.ddt')" data-orderField="p.ddt" class="f_right filter_arrow_2"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th rowspan="2" class="v_a_m">Stock order<button type="button" onClick="setOrderBy2('p.stockOrder')" data-orderField="p.stockOrder" class="f_right filter_arrow_2"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th rowspan="2"></th>
</tr>
<tr class="bg_pr color_w">
<th class="p_025rem txt_a_c">Creazione<button type="button" onClick="setOrderBy2('p.datetimeCreation')" data-orderField="p.datetimeCreation" class="f_right filter_arrow_2"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th class="p_025rem txt_a_c">Invio<button type="button" onClick="setOrderBy2('p.datetimeSend')" data-orderField="p.datetimeSend" class="f_right filter_arrow_2"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th class="p_025rem txt_a_c">Completam{% if app.user.getAccountTypology() != 'technician' %}ento{% endif %}<button type="button" onClick="setOrderBy2('p.datetimeCompletion')" data-orderField="p.datetimeCompletion" class="f_right filter_arrow_2"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
</tr>
</thead>
<tbody>
{% if transfers|length > 0 %}
{% for pt in transfers %}
<tr>
<td class="txt_a_c"><a href="{{ path ('user_warehouse_transfer_sheet', {'warehouseId':warehouse.id, 'transferId':pt.id}) }}" data-bs-toggle="tooltip" title="Scheda"><img class="icon_action icon_pr" src="{{ asset (icon_sheet) }}"></a></td>
<td>{{ pt.displayPhase('string')|raw }}</td>
<td class="txt_a_c">{{ pt.datetimeCreation|date('d-m-Y H:i') }}</td>
<td class="txt_a_c">{% if pt.datetimeSend != null %}{{ pt.datetimeSend|date('d-m-Y H:i') }}{% else %}---{% endif %}</td>
<td class="txt_a_c">{% if pt.datetimeCompletion != null %}{{ pt.datetimeCompletion|date('d-m-Y H:i') }}{% else %}---{% endif %}</td>
<td>{% if pt.warehouseFrom != null %}{{ pt.warehouseFrom }}{% else %}---{% endif %}</td>
<td>{% if pt.warehouseTo != null %}{{ pt.warehouseTo }}{% else %}---{% endif %}</td>
<td>{% if pt.ddtPath != null %}N° {{ pt.ddt }}{% else %}---{% endif %}</td>
<td>{% if pt.stockOrder != null %}{{ pt.stockOrder }}{% else %}---{% endif %}</td>
{% if (warehouse.jtUser(app.user.id) != null and warehouse.jtUser(app.user.id).permission == 'RW') or app.user.canWrite('warehouse') %}
<td class="txt_a_c">
{% if tabType == 'pt_incoming' %}
{% if pt.type == 'destination' %}
<a href="javascript: transferDelete({{ pt.id }})" data-bs-toggle="tooltip" title="Elimina trasferimento"><img class="icon_action icon_red" src="{{ asset (icon_delete) }}"></a>
{% endif %}
{% elseif tabType == 'pt_output' %}
{% if pt.hasProductsTransfered %}
<a href="javascript: void(0)" data-bs-toggle="tooltip" title="Impossibile eliminare, alcuni prodotti sono stati già trasferiti!"><img class="icon_action icon_grey" src="{{ asset (icon_delete) }}"></a>
{% else %}
<a href="javascript: transferDelete({{ pt.id }})" data-bs-toggle="tooltip" title="Elimina trasferimento"><img class="icon_action icon_red" src="{{ asset (icon_delete) }}"></a>
{% endif %}
{% endif %}
</td>
{% endif %}
</tr>
{% endfor %}
{% else %}
{% include 'components/twig/notice_no_values.html.twig' with {'message':'Nessuno trasferimento in questo stato'} %}
{% endif %}
</tbody>
</table>
</div>
<div class="col-12 navigation txt_a_r">
{{ knp_pagination_render(transfers) }}
</div>
</div>
{% endblock %}
</div>
<div class="tab-content clearfix" id="output">
{% set transfers = outputTransfers %}
{% set number = 2 %}
{% set tabType = 'pt_output' %}
{{ block('tableTransfers') }}
</div>
</div>
</div>
</div>
</div>
</div>
{# Dati e utenti #}
<div class="tab-content clearfix" id="data">
<div class="row">
<div class="col-12 col-lg-6">
<h4 class="form_title">Dati generici
{% if app.user.canWrite('warehouse') %}
<a href="javascript: warehouseEdit()" class="f_right" data-bs-toggle="tooltip" title="Modifica"><img class="icon_action icon_amber" src="{{ asset (icon_edit) }}"></a>
{% endif %}
</h4>
<hr class="m_t_none">
<table class="table table-hover responsive_font_size">
<tr>
<th>Nickname</th>
<td>{{ warehouse.nickname }}</td>
</tr>
<tr>
<th>Attivo</th>
<td>{% if warehouse.active %}Sì{% else %}No{% endif %}</td>
</tr>
<tr>
<th>Sede</th>
<td>{% if warehouse.headquarter %}Sì{% else %}No{% endif %}</td>
</tr>
<tr>
<th>Indirizzo DDT</th>
<td>{{ warehouse.address }}</td>
</tr>
<tr>
<th>Fisso/Mobile</th>
<td>{% if warehouse.movable %}Mobile{% else %}Fisso{% endif %}</td>
</tr>
</table>
</div>
<div class="col-12 col-lg-6">
<h4 class="form_title">Utenti</h4>
<hr class="m_t_none">
<table class="table table-hover responsive_font_size">
<thead>
<tr>
<th>Utente</th>
<th>Permessi</th>
<th class="txt_a_c">Principale</th>
</tr>
</thead>
<tbody>
{% for jtuw in warehouse.users %}
<tr>
<td>{{ jtuw.user }}</td>
<td>{{ jtuw.displayPermission }}</td>
<td class="txt_a_c">{% if jtuw.main %}Sì{% else %}No{% endif %}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
{# Richieste tecnici #}
{% if (warehouse.headquarter and (app.user.getAccountTypology == 'agency' or app.user.getAccountTypology == 'warehouse')) or app.user.getAccountTypology == 'technician' %}
<div class="tab-content clearfix" id="technicianRequests">
<div class="row">
<div class="col-12">
<h4 class="form_title">{{ prReqTitle }}
{% if app.user.getAccountTypology == 'technician' %}
<a href="{{ path ('user_warehouse_product_request_new', {'warehouseId':warehouse.id}) }}" class="button button-3d button-mini button-green m_t_none m_b_none f_right"><i class="icon-plus d-block d-lg-none m_r_none" data-bs-toggle="tooltip" title="Richiedi materiale"></i><span class="d-none d-lg-block">Richiedi materiale</span></a></li>
{% endif %}
</h4>
<hr class="m_t_none">
<div class="tabs clearfix">
<ul class="tab-nav clearfix">
<li><a id="btn_tab_pr_inserted" href="#inserted" class="tab_session2" data-filterTab="pr_inserted"><i class="icon-line-send d-block d-md-none" data-bs-toggle="tooltip" title="{{ prReqInserted }} ({{ insertedProductRequestsCount }})"></i><span class="d-none d-md-block">{{ prReqInserted }} ({{ insertedProductRequestsCount }})</span></a></li>
<li><a id="btn_tab_pr_take_charge" href="#take_charge" class="tab_session2" data-filterTab="pr_take_charge"><i class="icon-cog d-block d-md-none" data-bs-toggle="tooltip" title="{{ prReqTakeCharge }} ({{ takeChargeProductRequestsCount }})"></i><span class="d-none d-md-block">{{ prReqTakeCharge }} ({{ takeChargeProductRequestsCount }})</span></a></li>
<li><a id="btn_tab_pr_completed" href="#completed" class="tab_session2" data-filterTab="pr_completed"><i class="icon-checkmark d-block d-md-none" data-bs-toggle="tooltip" title="{{ prReqCompleted }} ({{ completedProductRequestsCount }})"></i><span class="d-none d-md-block">{{ prReqCompleted }} ({{ completedProductRequestsCount }})</span></a></li>
</ul>
<div class="tab-container">
<div class="tab-content clearfix" id="inserted">
{% set requests = insertedProductRequests %}
{% set tabType = 'pr_inserted' %}
{% set number = 1 %}
{% set tabAction = '' %}
{% if app.user.getAccountTypology == 'agency' or app.user.getAccountTypology == 'warehouse' and warehouse.headquarter %}
{% set tabAction = 'take_charge' %}
{% elseif app.user.getAccountTypology == 'technician' %}
{% set tabAction = 'delete' %}
{% endif %}
{% block tableRequests %}
<div class="row">
<div class="col-12 overflow_a">
<table class="table table-bordered table-hover responsive_font_size">
<thead>
<tr>
<form method="get" action="{{ path ('user_warehouse_sheet', {'warehouseId':warehouse.id}) }}" id="formFilter_3">
<td class="td_w_40p txt_a_c"><a href="{{ path ('remove_filter', {'route':app.request.attributes.get('_route'), 'route_params':app.request.attributes.get('_route_params') }) }}" class="f_right" data-bs-toggle="tooltip" title="Escludi filtro"><img class="icon_action icon_red" src="{{ asset (icon_delete) }}"></a></td>
<td class="td_w_140p"><input type="text" class="form-control daterange3 font_12" id="daterange3_{{ number }}" inputmode="search" autocomplete="off" name="date_3" style="height: 38px" date-filter="range"/></td>
<td><input type="text" class="form-control" inputmode="search" name="technician_3" value="{{ filters.technician_3|default() }}"/></td>
<td><input type="text" class="form-control" inputmode="search" name="warehouse_3" value="{{ filters.warehouse_3|default() }}"/></td>
<td colspan="3" class="td_action"><button type="submit" class="btn bg_w f_left p_0p" data-bs-toggle="tooltip" title="Filtra"><img class="icon_green" src="{{ asset (icon_search) }}"></button></td>
<input type="hidden" name="filter_tab" value="{{ tabType }}">
<input id="sort_field_3" type="hidden" name="sortField_3" value="{{ filters.sortField_3|default() }}"/>
<input id="sort_order_3" type="hidden" name="sortOrder_3" value="{{ filters.sortOrder_3|default() }}"/>
</form>
</tr>
<tr class="bg_pr color_w">
<th colspan="2" class="txt_a_c">Data/Ora<button type="button" onClick="setOrderBy3('pr.datetime')" data-orderField="pr.datetime" class="f_right filter_arrow_3"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
<th class="td_w_200p">Tecnico<button type="button" onClick="setOrderBy3('p.surname')" data-orderField="p.surname" class="f_right filter_arrow_3"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
{% if warehouse.headquarter %}
<th class="td_w_200p">Mag. Tecnico<button type="button" onClick="setOrderBy3('w.nickname')" data-orderField="w.nickname" class="f_right filter_arrow_3"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
{% else %}
<th class="td_w_200p">Mag. Sede<button type="button" onClick="setOrderBy3('wh.nickname')" data-orderField="wh.nickname" class="f_right filter_arrow_3"><img width="18" data-bs-toggle="tooltip" title="Ordina in ordine alfabetico"></button></th>
{% endif %}
<th class="d-none d-lg-table-cell">Prodotti</th>
<th class="d-none d-lg-table-cell">Note</th>
<th class="td_action d-table-cell d-lg-none"></th>
{% if tabAction == 'delete' or tabAction == 'take_charge' or tabAction == 'complete' %}<th colspan="2"></th>{% endif %}
</tr>
</thead>
<tbody>
{% if requests|length > 0 %}
{% for pr in requests %}
<input type="hidden" id="request_warehouse_id" value="{{ pr.warehouse.id }}">
<input type="hidden" id="request_warehouse_nickname" value="{{ pr.warehouse.nickname }}">
<input type="hidden" id="request_{{ pr.id }}_details" value="{{ pr.displayDetails }}">
<input type="hidden" id="request_{{ pr.id }}_notes" value="{{ pr.notes }}">
<tr>
<td id="request_{{ pr.id }}_datetime" colspan="2" class="txt_a_c">{{ pr.datetime|date('d-m-Y H:i') }}</td>
<td id="request_{{ pr.id }}_technician">{{ pr.technician }}</td>
{% if warehouse.headquarter %}
<td id="request_{{ pr.id }}_warehouse">{{ pr.warehouse }}</td>
{% else %}
<td id="request_{{ pr.id }}_warehouse_headquarter">{{ pr.warehouseHeadquarter }}</td>
{% endif %}
<td class="d-none d-lg-table-cell">{{ pr.displayDetails|raw }}</td>
<td class="d-none d-lg-table-cell">{{ pr.notes|raw }}</td>
<td class="td_action d-table-cell d-lg-none"><a href="javascript: productRequestSheet({{ pr.id }})" data-bs-toggle="tooltip" title="Scheda"><img class="icon_pr" src="{{ asset (icon_sheet) }}"></a></td>
{% if tabAction == 'delete' %}
<td class="td_action"><a href="javascript: productRequestDelete({{ pr.id }})" data-bs-toggle="tooltip" title="Elimina"><img class="icon_red" src="{{ asset (icon_delete) }}"></a></td>
{% elseif tabAction == 'take_charge' %}
<td class="td_action"><a href="javascript: productRequestTakeCharge({{ pr.id }})" data-bs-toggle="tooltip" title="Prendi in carico"><img class="icon_green" src="{{ asset (icon_thumb_up) }}"></a></td>
{% elseif tabAction == 'complete' %}
<td class="td_action"><a href="javascript: productRequestManaged({{ pr.id }})" data-bs-toggle="tooltip" title="Richiesta gestita"><img class="icon_green" src="{{ asset (icon_select) }}"></a></td>
{% endif %}
</tr>
{% endfor %}
{% else %}
{% include 'components/twig/notice_no_values.html.twig' with {'message':'Nessuna richiesta in questa fase'} %}
{% endif %}
</tbody>
</table>
</div>
<div class="col-12 navigation txt_a_r">
{{ knp_pagination_render(requests) }}
</div>
</div>
{% endblock %}
</div>
<div class="tab-content clearfix" id="take_charge">
{% set requests = takeChargeProductRequests %}
{% set tabType = 'pr_take_charge' %}
{% set number = 2 %}
{% set tabAction = '' %}
{% if app.user.getAccountTypology == 'agency' or app.user.getAccountTypology == 'warehouse' and warehouse.headquarter %}
{% set tabAction = 'complete' %}
{% endif %}
{{ block('tableRequests') }}
</div>
<div class="tab-content clearfix" id="completed">
{% set requests = completedProductRequests %}
{% set tabType = 'pr_completed' %}
{% set number = 3 %}
{% set tabAction = '' %}
{{ block('tableRequests') }}
</div>
</div>
</div>
</div>
</div>
</div>
{% endif %}
</div>
</div>
</div>
</div>
</section>
{# Inventario #}
<div id="stockInventoryModal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
{{ form_start(formInventory, {'attr': {'novalidate': 'novalidate'}}) }}
<div class="modal-header"><h3 class="modal-title">Verifica inventario</h3></div>
<div class="modal-body">
<div class="row">
<div class="col-12 form-group">
<label class="form_label">Fornitore*</label>
<div {{ form_errors(formInventory.supplier) }}>
{{ form_widget(formInventory.supplier, {'attr':{'class':'form-control form-select'}}) }}
</div>
</div>
<div class="col-12 form-group">
<label class="form_label">Stato*</label>
<div {{ form_errors(formInventory.status) }}>
{{ form_widget(formInventory.status, {'attr':{'class':'form-control form-select'}}) }}
</div>
</div>
<div class="col-12">
<label class="form_label">File*</label>
<div {{ form_errors(formInventory.path) }}>
{{ form_widget(formInventory.path, {'attr': {'class':'display_n'}}) }}
{{ form_widget(formInventory.file, {'attr': {'class':'display_n'}}) }}
<div class="input-group">
<span class="input-group-btn"><button id="selectFile2" class="button button-3d button-small button-rounded button-pr button_input_group" type="button">Seleziona</button></span>
<input id="filename2" type="text" class="form-control" readonly>
</div>
</div>
</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">Prosegui</button>
</div>
{{ form_end(formInventory) }}
</div>
</div>
</div>
{# Ricevi #}
<div id="transferReceiveModal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
{{ form_start(formReceive, {'attr': {'novalidate': 'novalidate'}}) }}
<div class="modal-header"><h3 class="modal-title">Ricevi materiale</h3></div>
<div class="modal-body">
<div class="row">
<div class="col-12 form-group">
<label class="form_label">Magazzino di provenienza*</label>
<div {{ form_errors(formReceive.warehouse) }}>
{{ form_widget(formReceive.warehouse, {'attr':{'class':'form-control form-select'}}) }}
</div>
</div>
<div class="col-6 form-group">
<label class="form_label">Stock order</label>
<div {{ form_errors(formReceive.stockOrder) }}>
{{ form_widget(formReceive.stockOrder) }}
</div>
</div>
<div class="col-6 form-group">
<label class="form_label">Inserire DDT?</label>
<div {{ form_errors(formReceive.ddtMandatory) }}>
<table class="m_none">
<tr>
<td class="txt_a_l"><label class="m_b_none m_r_10p l_s_none f_w_500">No</label></td>
<td>{{ form_widget(formReceive.ddtMandatory, {'attr': {'class':'switch-toggle switch-flat-mini switch-toggle-flat', 'onChange':'javascript: tranferReceiveShowHideDDT()', 'checked':true}}) }}<label class="m_auto" for="{{ formReceive.ddtMandatory.vars.id }}"></label></td>
<td class="txt_a_l"><label class="m_b_none m_l_10p l_s_none f_w_500">Sì</label></td>
</tr>
</table>
</div>
</div>
</div>
<div class="row" id="row_receive_ddt">
<div class="col-6 form-group">
<label class="form_label">Numero DDT*</label>
<div {{ form_errors(formReceive.ddt) }}>
{{ form_widget(formReceive.ddt) }}
</div>
</div>
<div class="col-6 form-group">
<label class="form_label">DDT*</label>
<div {{ form_errors(formReceive.ddtPath) }}>
{{ form_widget(formReceive.ddtPath, {'attr': {'class':'display_n'}}) }}
{{ form_widget(formReceive.file, {'attr': {'class':'display_n'}}) }}
<div class="input-group">
<span class="input-group-btn"><button id="selectFile1" class="button button-3d button-small button-rounded button-pr button_input_group" type="button">Seleziona</button></span>
<input id="filename1" type="text" class="form-control" readonly>
</div>
</div>
</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">Continua</button>
</div>
{{ form_end(formReceive) }}
</div>
</div>
</div>
{# Invia #}
<div id="transferSendModal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
{{ form_start(formSend, {'attr': {'novalidate': 'novalidate', 'id':'formSend'}}) }}
<div class="modal-header"><h3 class="modal-title">Invia materiale</h3></div>
<div class="modal-body">
<div class="row" id="row_select_type">
<div class="col-12 txt_a_c">
<label class="form_label">A chi stai inviando il materiale?</label>
</div>
{% if warehouse.headquarter %}
<div class="col-12 col-md-6 txt_a_c">
<a href="javascript: transferSendSetType('destination')" class="button button-3d button-mini button-pr width_200p txt_a_c">Destinazione esterna</a>
</div>
{% else %}
<div class="col-12 col-md-6 txt_a_c">
<a href="javascript: transferSendSetType('main')" class="button button-3d button-mini button-pr width_200p txt_a_c">Sede centrale</a>
</div>
{% endif %}
<div class="col-12 col-md-6 txt_a_c">
<a href="javascript: transferSendSetType('technician')" class="button button-3d button-mini button-pr width_200p txt_a_c" id="a_send_technician">Tecnico</a>
</div>
{{ form_widget(formSend.type, {'attr':{'class':'display_n'}}) }}
</div>
<div class="row m_t_30p" id="row_send_data" style="display: none">
<div class="col-12">
<h4 class="form_title">Invia materiale a: <span id="span_send_type" class="f_w_b"></span></h4>
<hr class="m_t_none">
</div>
<div class="col-12 form-group" id="row_user_from_select" style="display: none">
<label class="form_label">Tecnico di partenza*</label>
<div {{ form_errors(formSend.userFrom) }}>
{{ form_widget(formSend.userFrom, {'attr':{'class':'form-control form-select'}}) }}
</div>
</div>
<div class="col-12 form-group" id="row_user_to_select">
<label class="form_label">Tecnico di destinazione*</label>
<div {{ form_errors(formSend.userTo) }}>
{{ form_widget(formSend.userTo, {'attr':{'class':'form-control form-select', 'onchange':'updateTechnicianWarehouses()'}}) }}
</div>
</div>
<div class="col-12 form-group" id="row_warehouse_select">
<label class="form_label">Magazzino di destinazione*</label>
<div {{ form_errors(formSend.warehouse) }}>
{{ form_widget(formSend.warehouse, {'attr':{'class':'form-control form-select'}}) }}
</div>
</div>
<div class="col-12 form-group" id="row_warehouse_selected" style="display: none">
<label class="form_label">Magazzino di destinazione*</label>
<input type="text" readonly="true" class="form-control" id="input_warehouse_display">
</div>
<div class="col-12 form-group" id="div_send_supplier">
<label class="form_label">Fornitore*</label>
<div {{ form_errors(formSend.supplier) }}>
{{ form_widget(formSend.supplier, {'attr':{'class':'form-control form-select', 'onChange':'showHideDivestment()'}}) }}
</div>
</div>
<div class="col-12 form-group" id="div_send_ddt_mandatory" style="display: none">
<div {{ form_errors(formSend.ddtMandatory) }}>
{% set checked = false %}
{% if settingDdtMandatory.value %}
{% set checked = true %}
{% endif %}
<table class="table table-sm b_none m_b_none">
<tr>
<td><label class="form_label m_b_none">Caricamento DDT firmato obbligatorio?</label></td>
<td class="td_w_40p txt_a_r"><label class="m_b_none m_r_10p l_s_none f_w_500">No</label></td>
<td class="td_w_40p">{{ form_widget(formSend.ddtMandatory, {'attr': {'class':'switch-toggle switch-flat-mini switch-toggle-flat', 'checked':checked}}) }}<label class="m_auto" for="{{ formSend.ddtMandatory.vars.id }}"></label></td>
<td class="td_w_40p txt_a_l"><label class="m_b_none m_l_10p l_s_none f_w_500">Sì</label></td>
</tr>
</table>
</div>
</div>
<div class="col-12 form-group" id="div_send_divestment" style="display: none">
<div {{ form_errors(formSend.divestment) }}>
<table class="table table-sm b_none m_b_none">
<tr>
<td><label class="form_label m_b_none">è dismissione?</label></td>
<td class="td_w_40p txt_a_r"><label class="m_b_none m_r_10p l_s_none f_w_500">No</label></td>
<td class="td_w_40p">{{ form_widget(formSend.divestment, {'attr': {'class':'switch-toggle switch-flat-mini switch-toggle-flat'}}) }}<label class="m_auto" for="{{ formSend.divestment.vars.id }}"></label></td>
<td class="td_w_40p txt_a_l"><label class="m_b_none m_l_10p l_s_none f_w_500">Sì</label></td>
</tr>
</table>
</div>
</div>
</div>
</div>
{{ form_widget(formSend.sendStocksIds, {'attr':{'class':'display_n'}}) }}
{{ form_widget(formSend.productRequestId, {'attr':{'class':'display_n'}}) }}
<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 id="button_send_submit" href="javascript:void(0)" class="button button-3d button-mini button-grey f_right">Continua</a>
</div>
{{ form_end(formSend) }}
</div>
</div>
</div>
{# Stock - Gestito #}
<div id="stockManagedModal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="{{ path ('user_warehouse_stock_multiple_select_action', {'warehouseId':warehouse.id}) }}" method="post" id="formManaged">
<div class="modal-header"><h3 class="modal-title">Prodotti gestiti</h3></div>
<div class="modal-body">
<input type="hidden" id="managedStocksIds" name="ids">
<input type="hidden" id="managedAction" name="action">
<div class="row">
<div class="col-12 txt_a_c">
<label class="modal_subtitle">Attenzione!</label><br>
<p class="modal_paragraph">Cliccando sul bottone <a class='button button-3d button-mini button-green' href='javascript:void(0)'>conferma</a> i prodotti selezionati verranno segnati come gestiti.<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="button" class="button button-3d button-mini button-green f_right" onclick="javascript: checkSubmit('managed')">Conferma</button>
</div>
</form>
</div>
</div>
</div>
{# Stock - Aggiungi fornitori #}
<div id="stockSupplierModal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="{{ path ('user_warehouse_stock_multiple_select_action', {'warehouseId':warehouse.id}) }}" method="post" id="formSupplier">
<div class="modal-header"><h3 class="modal-title">Aggiungi fornitori per i prodotti</h3></div>
<div class="modal-body">
<input type="hidden" id="supplierStocksIds" name="ids">
<input type="hidden" id="supplierAction" name="action">
<div class="row">
<div class="col-12">
<label class="form_label">Seleziona i fornitori da aggiungere</label>
<div id="divErrorSupplier">
{% for s in suppliers %}
<table class="table table_no_padding b_none m_b_none">
<tr>
<td class="td_w_40p"><input id="input_supplier_{{ s.id }}" type="checkbox" class="switch-toggle switch-flat-mini switch-toggle-flat supplier_checkboxes" name="supplier_{{ s.id }}"><label class="m_b_none" for="input_supplier_{{ s.id }}"></label></td>
<td><label class="m_b_none form_label">{{ s.name }}</label></td>
</tr>
</table>
{% endfor %}
</div>
</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="button" class="button button-3d button-mini button-green f_right" onclick="javascript: checkSubmit('supplier')">Conferma</button>
</div>
</form>
</div>
</div>
</div>
{# Stock - Cambio condizione #}
<div id="stockConditionModal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="{{ path ('user_warehouse_stock_multiple_select_action', {'warehouseId':warehouse.id}) }}" method="post" id="formCondition">
<div class="modal-header"><h3 class="modal-title">Cambia condizione prodotti</h3></div>
<div class="modal-body">
<input type="hidden" id="conditionStocksIds" name="ids">
<input type="hidden" id="conditionAction" name="action">
<input type="hidden" id="stockTab" name="tab">
<div class="row">
<div class="col-12">
<label class="form_label">Seleziona nuova condizione</label>
<div id="divErrorCondition">
<select class="form-control form-select" id="select_product_condition" name="productCondition">
<option></option>
{% for condition in productConditions %}
<option value="{{ condition.id }}">{{ condition.value }}</option>
{% endfor %}
</select>
</div>
</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="button" class="button button-3d button-mini button-green f_right" onclick="javascript: checkSubmit('condition')">Conferma</button>
</div>
</form>
</div>
</div>
</div>
{# Transfer - Elimina #}
<div id="transferDeleteModal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="{{ path ('user_warehouse_transfer_delete', {'warehouseId':warehouse.id}) }}" method="post">
<div class="modal-header"><h3 class="modal-title">Trasferimento - Elimina</h3></div>
<div class="modal-body">
<input type="hidden" id="transferDeleteId" name="transferDelId"/>
<input type="hidden" name="warehouseId" value="{{ warehouse.id }}"/>
<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-red' href='javascript:void(0)'>conferma</a> eliminerai il trasferimento.<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-green f_left" data-bs-dismiss="modal">Annulla</a>
<button type="submit" class="button button-3d button-mini button-red f_right">Conferma</button>
</div>
</form>
</div>
</div>
</div>
{# Product request - Sheet #}
<div id="productRequestSheetModal" 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">Richiesta materiale - Dettaglio</h3></div>
<div class="modal-body">
<table class="table table-sm responsive_font_size">
<tr>
<th>Data/Ora</th>
<td id="request_sheet_datetime"></td>
</tr>
<tr>
<th>Tecnico</th>
<td id="request_sheet_technician"></td>
</tr>
</tr>
<th>Magazzino tecnico</th>
<td id="request_sheet_warehouse"></td>
</tr>
</tr>
<th>Magazzino richiesta</th>
<td id="request_sheet_warehouse_headquarter"></td>
</tr>
<tr>
<td colspan="2" id="request_sheet_details"></td>
</tr>
<tr>
<th>Note</th>
<td id="request_sheet_notes"></td>
</tr>
</table>
</div>
<div class="modal-footer txt_a_c">
<a href="javascript:void(0)" class="button button-3d button-mini button-red" data-bs-dismiss="modal">Chiudi</a>
</div>
</div>
</div>
</div>
{# Product request - Take charge #}
<div id="productRequestTakeChargeModal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="{{ path ('user_warehouse_product_request_take_charge', {'warehouseId':warehouse.id}) }}" method="post">
<div class="modal-header"><h3 class="modal-title">Richiesta prodotti - Prendi in carico</h3></div>
<div class="modal-body">
<input type="hidden" id="product_request_take_charge_id" name="productRequestId">
<div class="row">
<div class="col-12 txt_a_c">
<label class="modal_subtitle">Attenzione!</label><br>
<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 la richiesta.<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>
{# Product request - Take charge #}
<div id="productRequestManagedModal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="{{ path ('user_warehouse_product_request_managed', {'warehouseId':warehouse.id}) }}" method="post">
<div class="modal-header"><h3 class="modal-title">Richiesta prodotti - Gestita</h3></div>
<div class="modal-body">
<input type="hidden" id="product_request_managed_id" name="productRequestId">
<div class="row">
<div class="col-12 txt_a_c">
<label class="modal_subtitle">Attenzione!</label><br>
<p class="modal_paragraph">Cliccando sul bottone <a class='button button-3d button-mini button-green' href='javascript:void(0)'>conferma</a> dichiarerai gestita la richiesta.<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>
{# Product request - Delete #}
<div id="productRequestDeleteModal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="{{ path ('user_warehouse_product_request_delete', {'warehouseId':warehouse.id}) }}" method="post">
<div class="modal-header"><h3 class="modal-title">Richieste prodotto - Elimina</h3></div>
<div class="modal-body">
<input type="hidden" id="product_request_delete_id" name="productRequestId">
<div class="row">
<div class="col-12 txt_a_c">
<label class="modal_subtitle">Attenzione!</label><br>
<p class="modal_paragraph">Cliccando sul bottone <a class='button button-3d button-mini button-red' href='javascript:void(0)'>conferma</a> eliminerai la richiesta.<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-green f_left" data-bs-dismiss="modal">Annulla</a>
<button type="submit" class="button button-3d button-mini button-red f_right">Conferma</button>
</div>
</form>
</div>
</div>
</div>
{% endblock %}
{% block modals %}
{% include 'components/modals/filter_supplier.html.twig' with {'number':0, 'suppliers':suppliers} %}
{% include 'components/modals/filter_supplier.html.twig' with {'number':1, 'suppliers':suppliers} %}
{% include 'components/modals/filter_supplier.html.twig' with {'number':2, 'suppliers':suppliers} %}
{% include 'components/modals/filter_supplier.html.twig' with {'number':3, 'suppliers':suppliers} %}
{# Dati magazzino #}
{% set editWarehouseModalBody %}
<input type="hidden" id="warehouseEditId" name="warehouseEditId"/>
<div class="row">
<div class="col-12 form-group">
<label class="form_label">Nome*</label>
<div {{ form_errors(formEdit.nickname) }}>
{{ form_widget(formEdit.nickname) }}
</div>
</div>
<div class="col-12 form-group">
<label class="form_label">Indirizzo DDT*</label>
<div {{ form_errors(formEdit.address) }}>
{{ form_widget(formEdit.address) }}
</div>
</div>
<div class="col-12 col-md-6 form-group">
<label class="form_label">Sede centrale</label>
<div {{ form_errors(formEdit.headquarter) }}>
<table class="m_none">
<tr>
<td class="txt_a_l"><label class="m_b_none m_r_10p l_s_none f_w_500">No</label></td>
<td>{{ form_widget(formEdit.headquarter, {'attr': {'class':'switch-toggle switch-flat-mini switch-toggle-flat'}}) }}<label class="m_auto" for="{{ formEdit.headquarter.vars.id }}"></label></td>
<td class="txt_a_l"><label class="m_b_none m_l_10p l_s_none f_w_500">Sì</label></td>
</tr>
</table>
</div>
</div>
<div class="col-12 col-md-6 form-group">
<label class="form_label">Magazzino mobile</label>
<div {{ form_errors(formEdit.movable) }}>
<table class="m_none">
<tr>
<td class="txt_a_l"><label class="m_b_none m_r_10p l_s_none f_w_500">No</label></td>
<td>{{ form_widget(formEdit.movable, {'attr': {'class':'switch-toggle switch-flat-mini switch-toggle-flat'}}) }}<label class="m_auto" for="{{ formEdit.movable.vars.id }}"></label></td>
<td class="txt_a_l"><label class="m_b_none m_l_10p l_s_none f_w_500">Sì</label></td>
</tr>
</table>
</div>
</div>
</div>
{% endset %}
{% set editWarehouseScriptBody %}{% endset %}
{% include 'components/modals/edit.html.twig' with {'type':'warehouse', 'form':formEdit, 'text':'Magazzino', 'modalBody':editWarehouseModalBody, 'scriptBody':editWarehouseScriptBody, 'openModal':'openEditModal', 'id':''} %}
{% endblock %}
{% block javascripts %}
{{ parent() }}
{% include 'components/js/upload_file_js.html.twig' with {'number':'1', 'file':'form_transfer_receive_file', 'path':'form_transfer_receive_ddtPath'} %}
{% include 'components/js/upload_file_js.html.twig' with {'number':'2', 'file':'form_import_inventory_file', 'path':'form_import_inventory_path'} %}
{% include 'components/js/sort_js.html.twig' with {'number':0, 'actualSortField':filters.sortField_0, 'actualSortOrder':filters.sortOrder_0, 'sort_field':'sort_field_0', 'sort_order':'sort_order_0', 'formName':'formFilter_0', 'arrowClass':'filter_arrow_0'} %}
{% include 'components/js/sort_js.html.twig' with {'number':1, 'actualSortField':filters.sortField_1, 'actualSortOrder':filters.sortOrder_1, 'sort_field':'sort_field_1', 'sort_order':'sort_order_1', 'formName':'formFilter_1', 'arrowClass':'filter_arrow_1'} %}
{% include 'components/js/sort_js.html.twig' with {'number':2, 'actualSortField':filters.sortField_2, 'actualSortOrder':filters.sortOrder_2, 'sort_field':'sort_field_2', 'sort_order':'sort_order_2', 'formName':'formFilter_2', 'arrowClass':'filter_arrow_2'} %}
{% include 'components/js/sort_js.html.twig' with {'number':3, 'actualSortField':filters.sortField_3, 'actualSortOrder':filters.sortOrder_3, 'sort_field':'sort_field_3', 'sort_order':'sort_order_3', 'formName':'formFilter_3', 'arrowClass':'filter_arrow_3'} %}
{% include 'components/js/filter_supplier_js.html.twig' with {'number':0, 'suppliers':suppliers, 'filterSupplier':filters.supplier_0} %}
{% include 'components/js/filter_supplier_js.html.twig' with {'number':1, 'suppliers':suppliers, 'filterSupplier':filters.supplier_1} %}
{% include 'components/js/filter_supplier_js.html.twig' with {'number':2, 'suppliers':suppliers, 'filterSupplier':filters.supplier_1} %}
{% include 'components/js/filter_supplier_js.html.twig' with {'number':3, 'suppliers':suppliers, 'filterSupplier':filters.supplier_1} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange1last_1', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange1last_2', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange1last_3', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange2creation_1', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange2send_1', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange2completion_1', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange2creation_2', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange2send_2', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange2completion_2', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange2creation_3', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange2send_3', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange2completion_3', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange3_1', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange3_2', 'format':'DD-MM-YYYY HH:mm'} %}
{% include 'components/js/daterangepicker_js.html.twig' with {'id':'daterange3_3', 'format':'DD-MM-YYYY HH:mm'} %}
<script>
$(document).ready(function(){
// Inventory
{% if app.session.get('openStockInventoryModal') %}
stockInventory();
{{ app.session.remove('openStockInventoryModal') }}
{% endif %}
// Receive
{% if app.session.get('openTransferReceiveModal') %}
transferReceive();
{{ app.session.remove('openTransferReceiveModal') }}
{% endif %}
// Invia
{% if app.session.get('openTransferSendModal') %}
transferSend();
{{ app.session.remove('openTransferSendModal') }}
{% endif %}
{% if app.session.get('transferStocksIds') %}
{{ app.session.remove('transferStocksIds') }}
{% endif %}
var dateRanges1last = document.getElementsByClassName('daterange1last');
{% if filters.dateLastTransfer_1 != null and filters.dateLastTransfer_1 != '' %}
for(i=0; i<dateRanges1last.length; i++){
dateRanges1last[i].value = "{{ filters.dateLastTransfer_1 }}";
}
{% else %}
for(i=0; i<dateRanges1last.length; i++){
dateRanges1last[i].value = "";
}
{% endif %}
var dateRanges2creation = document.getElementsByClassName('daterange2creation');
{% if filters.datetimeCreation_2 != null and filters.datetimeCreation_2 != '' %}
for(i=0; i<dateRanges2creation.length; i++){
dateRanges2creation[i].value = "{{ filters.datetimeCreation_2 }}";
}
{% else %}
for(i=0; i<dateRanges2creation.length; i++){
dateRanges2creation[i].value = "";
}
{% endif %}
var dateRanges2send = document.getElementsByClassName('daterange2send');
{% if filters.datetimeSend_2 != null and filters.datetimeSend_2 != '' %}
for(i=0; i<dateRanges2send.length; i++){
dateRanges2send[i].value = "{{ filters.datetimeSend_2 }}";
}
{% else %}
for(i=0; i<dateRanges2send.length; i++){
dateRanges2send[i].value = "";
}
{% endif %}
var dateRanges2completion = document.getElementsByClassName('daterange2completion');
{% if filters.datetimeCompletion_2 != null and filters.datetimeCompletion_2 != '' %}
for(i=0; i<dateRanges2completion.length; i++){
dateRanges2completion[i].value = "{{ filters.datetimeCompletion_2 }}";
}
{% else %}
for(i=0; i<dateRanges2completion.length; i++){
dateRanges2completion[i].value = "";
}
{% endif %}
var dateRanges3 = document.getElementsByClassName('daterange3');
{% if filters.date_3 != null and filters.date_3 != '' %}
for(i=0; i<dateRanges3.length; i++){
dateRanges3[i].value = "{{ filters.date_3 }}";
}
{% else %}
for(i=0; i<dateRanges3.length; i++){
dateRanges3[i].value = "";
}
{% endif %}
});
function selectAll(index, tab){
var checkboxes = document.getElementsByClassName('stock_' + index + '_checkbox');
var isSelect = document.getElementById('stock_' + index + '_all_checkboxes').checked;
for(i=0; i<checkboxes.length; i++)
checkboxes[i].checked = isSelect;
updateButtons(index, tab);
}
function updateButtons(index, tab){
var inputSelectAll = document.getElementById('stock_' + index + '_all_checkboxes');
var checkboxes = document.getElementsByClassName('stock_' + index + '_checkbox');
var buttonCondition = document.getElementById('button_' + index + '_condition');
if(tab == 's_to_manage')
var buttonManaged = document.getElementById('button_' + index + '_managed');
{% if app.user.getAccountTypology != 'technician' %}
if(tab == 's_to_manage' || tab == 's_available' || tab == 's_not_available')
var buttonSupplier = document.getElementById('button_' + index + '_supplier');
{% endif %}
if(tab == 's_available' || tab == 's_not_available')
var buttonSend = document.getElementById('button_' + index + '_send');
var isAllSelected = true;
const array = [];
for(i=0; i<checkboxes.length; i++){
if(checkboxes[i].checked){
array.push(checkboxes[i].value);
}
else
isAllSelected = false;
}
if(!isAllSelected)
inputSelectAll.checked = false;
if(array.length > 0){
buttonCondition.className = "button button-3d button-mini button-green f_right m_b_10p";
buttonCondition.href = "javascript: sendAction('condition', " + index + ", '" + tab + "')";
if(tab == 's_to_manage'){
buttonManaged.className = "button button-3d button-mini button-green f_right m_b_10p";
buttonManaged.href = "javascript: sendAction('managed', " + index + ", '" + tab + "')";
}
{% if app.user.getAccountTypology != 'technician' %}
if(tab == 's_to_manage' || tab == 's_available' || tab == 's_not_available'){
buttonSupplier.className = "button button-3d button-mini button-green f_right m_b_10p";
buttonSupplier.href = "javascript: sendAction('supplier', " + index + ", '" + tab + "')";
}
{% endif %}
if(tab == 's_available' || tab == 's_not_available'){
buttonSend.className = "button button-3d button-mini button-green f_right m_b_10p";
buttonSend.href = "javascript: sendAction('send', " + index + ", '" + tab + "')";
}
}
else{
buttonCondition.className = "button button-3d button-mini button-grey f_right m_b_10p";
buttonCondition.href = "javascript: void(0)";
if(tab == 's_to_manage'){
buttonManaged.className = "button button-3d button-mini button-grey f_right m_b_10p";
buttonManaged.href = "javascript: void(0)";
}
{% if app.user.getAccountTypology != 'technician' %}
if(tab == 's_to_manage' || tab == 's_available' || tab == 's_not_available'){
buttonSupplier.className = "button button-3d button-mini button-grey f_right m_b_10p";
buttonSupplier.href = "javascript: void(0)";
}
{% endif %}
if(tab == 's_available' || tab == 's_not_available'){
buttonSend.className = "button button-3d button-mini button-grey f_right m_b_10p";
buttonSend.href = "javascript: void(0)";
}
}
}
function sendAction(action, index, tab){
var checkboxes = document.getElementsByClassName('stock_' + index + '_checkbox');
const array = [];
for(i=0; i<checkboxes.length; i++){
if(checkboxes[i].checked)
array.push(checkboxes[i].value);
}
switch(action){
case 'managed':
document.getElementById('managedStocksIds').value = array;
document.getElementById('managedAction').value = action;
$('#stockManagedModal').modal({backdrop: 'static', keyboard: false}).modal("show");
break;
case 'supplier':
var checkboxes = document.getElementsByClassName('supplier_checkboxes');
for(i=0; i<checkboxes.length; i++){
checkboxes[i].removeAttribute("checked");
checkboxes[i].checked = false;
}
document.getElementById('supplierStocksIds').value = array;
document.getElementById('supplierAction').value = action;
$('#stockSupplierModal').modal({backdrop: 'static', keyboard: false}).modal("show");
break;
case 'condition':
document.getElementById('conditionAction').value = action;
document.getElementById('conditionStocksIds').value = array;
switch(index){
case 0: document.getElementById('stockTab').value = 'to_manage'; break;
case 1: document.getElementById('stockTab').value = 'available'; break;
case 2: document.getElementById('stockTab').value = 'not_available'; break;
default: break;
}
$('#stockConditionModal').modal({backdrop: 'static', keyboard: false}).modal("show");
break;
case 'send':
var a = document.getElementById('a_send_technician');
if(tab == 's_not_available'){
a.href = "javascript: void(0)";
a.className = "button button-3d button-mini button-grey width_200p txt_a_c";
}
else{
a.href = "javascript: transferSendSetType('technician')";
a.className = "button button-3d button-mini button-pr width_200p txt_a_c";
}
document.getElementById('form_transfer_send_sendStocksIds').value = array;
transferSend();
break;
default: break;
}
}
function checkSubmit(action){
switch(action){
case 'managed':
triggerLoading();
$('#formManaged').submit();
break;
case 'supplier':
var valid = false;
var checkboxes = document.getElementsByClassName('supplier_checkboxes');
for(i=0; i<checkboxes.length; i++){
if(checkboxes[i].checked){
valid = true;
break;
}
}
if(valid){
triggerLoading();
$('#formSupplier').submit();
}
else{
var divError = document.getElementById('divErrorSupplier');
divError.className = 'error';
divError.children[0].setAttribute('data-bs-toggle', 'tooltip');
divError.children[0].setAttribute('title', 'Campo obbligatorio');
}
break;
case 'condition':
if(document.getElementById('select_product_condition').value != 0){
triggerLoading();
$('#formCondition').submit();
}
else{
var divError = document.getElementById('divErrorCondition');
divError.className = 'error';
divError.children[0].setAttribute('data-bs-toggle', 'tooltip');
divError.children[0].setAttribute('title', 'Campo obbligatorio');
}
break;
default: break;
}
$('[data-bs-toggle="tooltip"]').tooltip();
}
function stockInventory(){
$('#stockInventoryModal').modal({backdrop: 'static', keyboard: false}).modal("show");
}
// RICEVI MATERIALE
$('#form_transfer_receive_date').datepicker({ autoclose: true, todayHighlight: true, format: "dd-mm-yyyy", startDate: "today" });
function transferReceive(){
$('#transferReceiveModal').modal({backdrop: 'static', keyboard: false}).modal("show");
}
function tranferReceiveShowHideDDT(){
if(document.getElementById('form_transfer_receive_ddtMandatory').checked == true){
document.getElementById('row_receive_ddt').style.display = 'flex';
}
else{
document.getElementById('row_receive_ddt').style.display = 'none';
}
}
// INVIA MATERIALE
$('#form_transfer_send_date').datepicker({ autoclose: true, todayHighlight: true, format: "dd-mm-yyyy", startDate: "today" });
function transferSend(){
document.getElementById('form_transfer_send_productRequestId').value = '';
document.getElementById('row_select_type').style.display = 'flex';
document.getElementById('row_warehouse_select').style.display = 'block';
document.getElementById('row_warehouse_selected').style.display = 'none';
document.getElementById('row_send_data').className = 'row m_t_30p';
$('#transferSendModal').modal({backdrop: 'static', keyboard: false}).modal("show");
}
function transferSendSetType(type){
document.getElementById('form_transfer_send_type').value = type;
$.post('{{ path ("user_warehouse_transfer_update_warehouses", {"warehouseId":warehouse.id}) }}', {type: type}, function(response){
if(response.code == 200 && response.success){
switch(type){
case 'technician':
updateTechnicianWarehouses();
document.getElementById('span_send_type').innerHTML = 'Tecnico';
document.getElementById('div_send_supplier').style.display = 'none';
document.getElementById('div_send_ddt_mandatory').style.display = 'block';
document.getElementById('row_user_to_select').style.display = 'block';
{% if warehouse.headquarter == 0 and app.user.getAccountTypology != 'technician' %}
document.getElementById('row_user_from_select').style.display = 'block';
{% endif %}
break;
case 'destination':
document.getElementById('span_send_type').innerHTML = 'Destinazione esterna';
document.getElementById('div_send_supplier').style.display = 'block';
document.getElementById('div_send_ddt_mandatory').style.display = 'none';
document.getElementById('row_user_to_select').style.display = 'none';
break;
case 'main':
document.getElementById('span_send_type').innerHTML = 'Sede centrale';
document.getElementById('div_send_supplier').style.display = 'none';
document.getElementById('div_send_ddt_mandatory').style.display = 'none';
document.getElementById('row_user_to_select').style.display = 'none';
{% if warehouse.headquarter == 0 and app.user.getAccountTypology != 'technician' %}
document.getElementById('row_user_from_select').style.display = 'block';
{% endif %}
break;
default: break;
}
var select = document.getElementById('form_transfer_send_warehouse');
while(select.options.length){
select.remove(0);
}
var warehouses = JSON.parse(response.warehouses);
for(var i = 0; i < warehouses.length; i++){
var option = new Option(warehouses[i]['nickname'], warehouses[i]['id']);
select.options.add(option);
}
document.getElementById('row_send_data').style.display = 'flex';
document.getElementById('button_send_submit').className = 'button button-3d button-mini button-green f_right';
document.getElementById('button_send_submit').href = 'javascript: transferSendSubmit()';
}
}, "json");
}
function showHideDivestment(){
var select = document.getElementById('form_transfer_send_supplier');
var options = select.children;
if(options[select.selectedIndex].innerHTML == 'NEXI BOOK MONETICA' || options[select.selectedIndex].innerHTML == 'NEXI BOOK MEPS' || options[select.selectedIndex].innerHTML == 'NEXI BOOK SIA' || options[select.selectedIndex].innerHTML == 'DS - NEXI BOOK MONETICA' || options[select.selectedIndex].innerHTML == 'DS - NEXI BOOK MEPS' || options[select.selectedIndex].innerHTML == 'DS - NEXI BOOK SIA')
document.getElementById('div_send_divestment').style.display = 'block';
else
document.getElementById('div_send_divestment').style.display = 'none';
}
function updateTechnicianWarehouses(){
technicianId = document.getElementById('form_transfer_send_userTo').value;
$.post('{{ path ("user_warehouse_transfer_update_technician_warehouses", {"warehouseId":warehouse.id}) }}', {technicianId: technicianId}, function(response){
if(response.code == 200 && response.success){
var select = document.getElementById('form_transfer_send_warehouse');
while(select.options.length){
select.remove(0);
}
var warehouses = JSON.parse(response.warehouses);
for(var i = 0; i < warehouses.length; i++){
var option = new Option(warehouses[i]['nickname'], warehouses[i]['id']);
select.options.add(option);
}
document.getElementById('row_send_data').style.display = 'flex';
}
}, "json");
}
function transferSendSubmit(){
$('#formSend').submit();
}
function transferDelete(id){
document.getElementById("transferDeleteId").value = id;
$('#transferDeleteModal').modal({backdrop: 'static', keyboard: false}).modal("show");
}
// GESTISCI RICHIESTE TECNICI
function productRequestSheet(id){
document.getElementById('request_sheet_datetime').innerHTML = document.getElementById('request_' + id + '_datetime').innerHTML;
document.getElementById('request_sheet_technician').innerHTML = document.getElementById('request_' + id + '_technician').innerHTML;
document.getElementById('request_sheet_warehouse').innerHTML = document.getElementById('request_' + id + '_warehouse').innerHTML;
document.getElementById('request_sheet_warehouse_headquarter').innerHTML = document.getElementById('request_' + id + '_warehouse_headquarter').innerHTML;
document.getElementById('request_sheet_details').innerHTML = document.getElementById('request_' + id + '_details').value;
document.getElementById('request_sheet_notes').innerHTML = document.getElementById('request_' + id + '_notes').value;
$('#productRequestSheetModal').modal({backdrop: 'static', keyboard: false}).modal("show");
}
function productRequestDelete(id){
document.getElementById('product_request_delete_id').value = id;
$('#productRequestDeleteModal').modal({backdrop: 'static', keyboard: false}).modal("show");
}
{% if warehouse.headquarter %}
function productRequestTakeCharge(id){
document.getElementById('product_request_take_charge_id').value = id;
$('#productRequestTakeChargeModal').modal({backdrop: 'static', keyboard: false}).modal("show");
}
function productRequestManaged(id){
document.getElementById('product_request_managed_id').value = id;
$('#productRequestManagedModal').modal({backdrop: 'static', keyboard: false}).modal("show");
}
{% endif %}
</script>
{% endblock %}