{% extends 'layout.twig' %}

{% block body %}
    <div class="contenu clearfix">
        <H1>{{ 'Bons de sortie' | trad }}</H1>
        {{ ariane() }}
        <div class="tab-content" id="tab-content">
            <h3 class="mb-base">
                {{ strBuild('Duplication du bon de sortie N° @1@' | trad, [bonSortie.NO_BS]) }}
                <button type="submit" class="button principal button_right last" id="bonSortieFormSubmit">
                    {{ 'Dupliquer' | trad }}
                </button>
                <a href="{{ path('Stock.BonSortie.gestion') }}" class="button secondaire">
                    {{ 'Annuler' | trad }}
                </a>
            </h3>
            <details open class="block_edition clearfix" id="sbsEntFormADupliquer">
                <summary class="titre_block">{{ 'Entête du bon de sortie à dupliquer' | trad }}</summary>
                <div style="padding:15px;">
                    <div class="clearfix">
                        <div class="colonne3">
                            <div class="informations">
                                <p>
                                    <span class="champs_label">{{ 'N° de bon de sortie' | trad }}</span>
                                    <span class="resultat">{{ bonSortie.NO_BS }}</span>
                                </p>
                                <p>
                                    <span class="champs_label">{{ 'Société' | trad }}</span>
                                    <span class="resultat">{{ societe.RAIS_SOC ~ ' (' ~ bonSortie.CODE_STE ~ ')' }}</span>
                                </p>
                            </div>
                        </div>
                        <div class="colonne3">
                            <div class="informations">
                                <p>
                                    <span class="champs_label">{{ 'Créé le' | trad }}</span>
                                    <span class="resultat">{{ bonSortie.DTE_CREAT | dateTrad }}</span>
                                </p>
                                <p>
                                    <span class="champs_label">{{ 'Taux de marge (%)' | trad }}</span>
                                    <span class="resultat">{{ bonSortie.MARK_UP | prix }}</span>
                                </p>
                            </div>
                        </div>
                        <div class="colonne3 last">
                            <div class="informations">
                                <p>
                                    <span class="champs_label">{{ 'Magasinier' | trad }}</span>
                                    <span class="resultat">{{ utilisateur.NOM ~ ' (' ~ bonSortie.MAG ~ ')' }}</span>
                                </p>
                                <p>
                                    <span class="champs_label">{{ 'Site' | trad }}</span>
                                    <span class="resultat">{{ siteStock.DESIGN ~ ' (' ~ bonSortie.SITE ~ ')'  }}</span>
                                </p>
                            </div>
                        </div>
                    </div>
                </div>
            </details>
            <form method="post" name="sbs_ente_nouveau" id="bonSortieFormNouveau" action="{{ path('Stock.BonSortie.dupliquer') }}">
                <div class="tab-content">
                    <div class="tab-pane active in clearfix padding_form bg_form border_form">
                        <div class="colonne2">
                            <div class="row">
                                {{ inputAdvance('DATE', {
                                    'titre' : 'Date de création' | trad,
                                    'name'  : 'SBS_ENTE[DTE_CREAT]',
                                    'value' : dateCreation,
                                    'pathValidator': path('Ajax.validator.date'),
                                    'paramsValidator': "{'dateMin' : '"~ dateJour ~"', 'null': false}",
                                    'obligatoire': true
                                }) }}
                            </div>
                            <div class="row">
                                {{ inputAdvance('TEXT', {
                                    'titre': 'Taux de marge (%)' | trad,
                                    'name': 'SBS_ENTE[MARK_UP]',
                                    'value': bonSortie.MARK_UP | prix,
                                    'obligatoire': true,
                                    'pathValidator': path('Ajax.validator.float'),
                                    'paramsValidator': "{'min': '0', 'max': 100, 'obligatoire': true}",
                                }) }}
                            </div>
                            <div class="row mb-0">
                                {{ inputAdvance('TEXT', {
                                    'titre': 'N° de bon de sortie' | trad,
                                    'name': 'SBS_ENTE[NO_BS]',
                                    'option': not is_no_modifiable(parametreNumerotation) ? 'disabled': '',
                                    'obligatoire': parametreNumerotation.TYPE_NUM == 'M',
                                    'pathValidator' : path('Ajax.validator.noEntete'),
                                    'paramsValidator' : "{'typeEntete': 'BS', 'entity': 'BonSortie', 'enteLabel': 'bon de sortie', 'site': $('#'+CSS.escape('input_SBS_ENTE[SITE]')).val()}",
                                    'myFuncValidator' : 'reserverNoEnte',
                                    'paramFuncValidator' : '["BS", "input_SBS_ENTE[NO_BS]", "input_SBS_ENTE[SITE]", "' ~ path('Stock.Numerotation.noReservation') ~ '"]',
                                }) }}
                                <input type="hidden" name="NO_BS_DUPLIQUE" value="{{ bonSortie.NO_BS }}">
                                <input type="hidden" name="SBS_ENTE[DEST]" value="{{ bonSortie.DEST }}">
                                <input type="hidden" name="SBS_ENTE[ORIGINE]" value="{{ bonSortie.ORIGINE }}">
                                <input type="hidden" name="SBS_ENTE[TOT_BS]" value="{{ bonSortie.TOT_BS }}">
                                <input type="hidden" name="SBS_ENTE[CODE_STE]" value="{{ bonSortie.CODE_STE }}">
                                <input type="hidden" name="SBS_ENTE[DEVISE]" value="{{ bonSortie.DEVISE }}">
                                <input type="hidden" name="SBS_ENTE[VAL_DEVIS]" value="{{ bonSortie.VAL_DEVIS }}">
                            </div>
                        </div>
                        <div class="colonne2 last">
                            <div class="row">
                                {{ inputAdvance('ZOOMADVANCE', {
                                    'titre': 'Magasinier' | trad,
                                    'name' : 'SBS_ENTE[MAG]',
                                    'value' : bonSortie.MAG,
                                    'pahtZoom' : path('Ajax.liste.magasiniers'),
                                    'entity' : 'HASTUTIL',
                                    'titleZoom' : 'Liste des magasiniers' | trad,
                                    'pathConvert' : path('Ajax.outil.convertLibelle'),
                                    'convertLibelle' : 'convertLibelleGlobal',
                                    'pathValidator' : path('Ajax.validator.zoom'),
                                    'paramsValidator' : "{'entity' : 'HASTUTIL','nomChamp' : '"~ 'Magasinier' | trad ~"', 'null' : false}",
                                    'obligatoire': true,
                                }) }}
                            </div>
                            <div class="row">
                                {{ inputAdvance('ZOOMADVANCE', {
                                    'titre': 'Site' | trad,
                                    'name' : 'SBS_ENTE[SITE]',
                                    'value' : bonSortie.SITE,
                                    'pahtZoom' : path('Ajax.liste.siteStockAccessible'),
                                    'paramZoom' : "{'opened_only': true }",
                                    'entity' : 'SSiteSto',
                                    'titleZoom' : 'Liste des sites de stockage' | trad,
                                    'pathConvert' : path('Ajax.outil.convertLibelle'),
                                    'convertLibelle' : 'convertLibelleGlobal',
                                    'obligatoire': true,
                                    'pathValidator' : path('Ajax.validator.zoom'),
                                    'paramsValidator' : "{'entity' : 'SSiteSto', 'nomChamp' : '"~ 'Site' | trad ~"', 'null' : false}",
                                    'myFuncValidator' : 'isNoEnteteModifiable',
                                    'paramFuncValidator' : '["BS", "input_SBS_ENTE[NO_BS]", "input_SBS_ENTE[SITE]", "' ~ path('Stock.Numerotation.isNoEnteteModifiable') ~ '"]',
                                }) }}
                            </div>
                        </div>
                    </div>
                </div>
            </form>
        </div>
    </div>
    <script type="application/javascript" src="{{ baseUrl('js/Modules/Stock/postAjaxForm.js') }}"></script>
    <script type="application/javascript" src="{{ baseUrl('js/Modules/Stock/validerEntete.js') }}"></script>
    <script type="application/javascript">
        $('#bonSortieFormSubmit').on('click', (event) => {
            event.preventDefault();

            activeLoader();
            const form = $('#bonSortieFormNouveau');
            const formData = form.serializeArray();

            submitForm(form, formData, onSubmitFormSuccessWithValidation);
        });
    </script>
{% endblock %}