{% do setAriane(1, 'Paramétrages de facture' | trad) %}

{% extends 'layout.twig' %}
     
{% block body %}

<style> 
.bs-col-half {
    flex: 0 0 auto;
    width: 50%;
}
</style>

<section class="contenu">

    <h1>{{ 'Paramétrage' | trad }}</h1>

    {{ ariane() }}
    
    {% include '@ParamFac/_navbar.twig' %}

    <div class="p-base">
        <span class="zoneError">{{erreur | raw}}</span>     	
        <form method="post" class="form-default bs-row gutter-x-base gutter-y-base flex-y-stretch"
            action="{{ path('Parametrage.ParametrageFacture.factureUpdate') }}"
            data-onsuccess="paramFactureSuccess"
            onsubmit="ajaxSubmit(event)"
        >

            <div class="bs-col-full">
                <fieldset class="scheduler-border m-0">
                    <legend class="scheduler-border">
                        {{- 'Général' | trad -}}
                    </legend>
                    <div class="bs-row gutter-x-base">
                        <div class="bs-col-half">
                            {{ inputAdvance('SELECT', {
                                titre: 'Date de base de calcul de l’échéance d’une facture.' | trad,
                                name: 'DECHFACT',
                                listeValue: {
                                    'E': 'Enregistrement' | trad,
                                    'F': 'Facture fournisseur'| trad,
                                },
                                value: appParam.DECHFACT,
                            }) }}

                            {{ inputAdvance('DEVISE', {
                                titre: 'Factures en litiges : Nbre de jours avant relance acheteurs (0 = pas de relance)' | trad,
                                name: 'FAC_RELACH_SUR_LITIGE_NB_JOURS',
                                value: appParam.FAC_RELACH_SUR_LITIGE_NB_JOURS,
                                DEVISE: 'Jours' | trad
                            }) }}

                            {{ inputAdvance('SELECT', {
                                titre: 'Signature BAP' | trad 
                                    ~' (' ~ 'Workflow standard' | trad ~ ')',
                                name: 'sign_bap',
                                listeValue: {
                                    'R': 'Ne pas autoriser sur facture pré-affectée' | trad,
                                    'A': 'Autoriser uniquement sur les factures pré-affectées sur réception automatique'| trad,
                                    'T': 'Autoriser sur toutes les factures pré-affectées'| trad,
                                },
                                value: appParam.sign_bap,
                            }) }}
                            
                        </div>
                        <div class="bs-col-half">

                            {{ inputAdvance('SWITCH', {
                                titre: 'Activer les profils de TVA ?' | trad,
                                name: 'PROFIL_TVA_ACTIF',
                                value: appParam.PROFIL_TVA_ACTIF,
                            }) }}
                            {{ inputAdvance('ZOOM', {
                                titre: 'Code profil de TVA par défaut' | trad,
                                titleZoom: 'Liste des codes profil de TVA' | trad,
                                name: 'DEFAULT_PROFIL_TVA',
                                pahtZoom: path('Ajax.liste.entityList',{entity: 'ProfilTva'}),
                                pathValidator: path('Ajax.validator.isStringAvecEspace'),
                                paramsValidator: "{'sizeMin' : '0', 'sizeMax' : '255'}",
                                value: appParam.DEFAULT_PROFIL_TVA,
                            }) }}
                        </div>
                    </div>
                </fieldset>
            </div>
{#____________________________________________________________________________#}
            <div class="bs-col-full">
                <fieldset class="scheduler-border m-0">
                    <legend class="scheduler-border">
                        {{- 'Contraintes' | trad -}}
                    </legend>
                    <div class="bs-row gutter-x-base">
                        <div class="bs-col-half">
                            {{ inputAdvance('SWITCH', {
                                titre: 'Référence facture fournisseur obligatoire ?' | trad,
                                name: 'REFFACFOU',
                                value: appParam.REFFACFOU,
                            }) }}
                            {{ inputAdvance('SWITCH', {
                                titre: 'Référence facture fournisseur unique ?' | trad,
                                name: 'FACFOU_UNIQUE',
                                value: appParam.FACFOU_UNIQUE,
                            }) }}
                            {{ inputAdvance('SWITCH', {
                                titre: 'Libellé comptable obligatoire ?' | trad,
                                name: 'LIB_COMPT_OBLG',
                                value: appParam.LIB_COMPT_OBLG,
                            }) }}
                        </div>
                        <div class="bs-col-half">
                            {{ inputSwitch(
                                'Date de saisie de facture non modifiable ?' | trad,
                                'DENRFACTNONMODIF', appParam.DENRFACTNONMODIF,
                            ) }}

                            {{ inputSwitch(
                                'Date de base de calcul de l’échéance d’une facture non modifiable ?' | trad,
                                'DECHFACTNONMODIF', appParam.DECHFACTNONMODIF,
                            ) }}

                            {{ inputSwitch(
                                'Date facture fournisseur obligatoire ?' | trad,
                                'FACDTEFOURNOB', appParam.FACDTEFOURNOB,
                            ) }}
                        </div>
                    </div>
                </fieldset>
            </div>
{#____________________________________________________________________________#}
            <div class="bs-col-half">
                <fieldset class="scheduler-border m-0 h-100">
                    <legend class="scheduler-border">
                        {{- 'Affectation' | trad -}}
                    </legend>
                    {{ inputAdvance('SWITCH', {
                        titre: 'Activation de la pré-affectation' | trad,
                        name: 'ACTIVE_PREAFFFAC',
                        value: appParam.ACTIVE_PREAFFFAC,
                    }) }}

                    {{ inputAdvance('SELECT', {
                        titre: 'Auto-validation entête affectation si aucun écart' | trad,
                        name: 'FA_AUTOVALID_HORS_ECART',
                        listeValue: {
                            '': 'Validation normale' | trad,
                            'P': 'Demande de confirmation' | trad,
                            'E': 'Sans confirmation'| trad,
                        },
                        value: appParam.FA_AUTOVALID_HORS_ECART,
                    }) }}

                    {{ inputAdvance('SELECT', {
                        titre: 'Mails pré-affectation' | trad,
                        name: 'PREAFF_MAIL',
                        listeValue: {
                            '': 'Acheteurs' | trad,
                            'D': 'Demandeurs'| trad,
                            'L': 'Les deux'| trad,
                        },
                        value: appParam.PREAFF_MAIL,
                    }) }}
                </fieldset>
            </div>
{#____________________________________________________________________________#}
            <div class="bs-col-half">
                <fieldset class="scheduler-border m-0 h-100">
                    <legend class="scheduler-border">
                        {{- 'Commande' | trad -}}
                    </legend>
                    {{ inputAdvance('DEVISE', {
                        titre: 'Montant de tolérance sur solde financier de commande' | trad,
                        name: 'FACTOLSOLF',
                        value: appParam.FACTOLSOLF,
                    }) }}

                    {{ inputAdvance('SWITCH', {
                        titre: 'Par défaut ne sélectionner que les lignes de commandes réceptionnées' | trad,
                        name: 'FACSELCMDR',
                        value: appParam.FACSELCMDR,
                    }) }}
                    {{ inputAdvance('SWITCH', {
                        titre: 'Désactiver l’écran de contrôle Conditions et Modes de paiement par rapport à la commande ?' | trad,
                        name: 'FAC_SANS_ECRAN_CTRL_CDP_MDP',
                        value: appParam.FAC_SANS_ECRAN_CTRL_CDP_MDP,
                    }) }}
                </fieldset>
            </div>
{#____________________________________________________________________________#}
            <div class="bs-col-half">
                <fieldset class="scheduler-border m-0 h-100">
                    <legend class="scheduler-border">
                        {{- 'Mails à la comptabilité - Envoyer un mail dans les cas suivants :' | trad -}}
                    </legend>
                    {{ inputAdvance('SWITCH', {
                        titre: 'Commande de régularisation eProc ?' | trad,
                        name: 'FA_ENVOI_MAIL_COMPTA_CDE_REG',
                        value: appParam.FA_ENVOI_MAIL_COMPTA_CDE_REG,
                    }) }}

                    {{ inputAdvance('SWITCH', {
                        titre: 'Facture en litige ?' | trad,
                        name: 'FA_ENVOI_MAIL_COMPTA_FAC_LITIGE',
                        value: appParam.FA_ENVOI_MAIL_COMPTA_FAC_LITIGE,
                    }) }}

                    {{ inputAdvance('SWITCH', {
                        titre: 'Facture en pré-affectation ?' | trad,
                        name: 'FA_ENVOI_MAIL_COMPTA_FAC_PREAFF',
                        value: appParam.FA_ENVOI_MAIL_COMPTA_FAC_PREAFF,
                    }) }}

                    {{ inputAdvance('TEXT',{
                        titre: 'Adresse mail générique' | trad,
                        name: 'FA_MAIL_COMPTA',
                        value: appParam.FA_MAIL_COMPTA,
                    }) }}
                    
                </fieldset>
            </div>
            
{#____________________________________________________________________________#}
            
            <div class="bs-col-full text-right">
                <button type="submit" class="button principal mt-base">
                    {{- 'Enregistrer' | trad -}}
                </button>
            </div>

        </form>
    </div>
</section>

{#____________________________________________________________________________#}
<section style="display: none">
    <div id="popupSuccess">
        <p class="modal-body">
            {{- 'Certains des nouveaux paramètres ne seront pris en compte par les autres utilisateurs que lors de leur prochaine connexion à l’application' | trad -}}
        </p>
        <div class="modal-footer text-right">
            <button onclick="desactivePopup()" class="button principal" data-dismiss="modal">
                {{- 'Ok' | trad -}}
            </button>
        </div>
    </div>
</section>

{#____________________________________________________________________________#}

<script>
function updateInputSignatureBAP() {
    let inputPreaff = document.querySelector('input[name="ACTIVE_PREAFFFAC"]');
    let inputSignBap = document.querySelector('select[name="sign_bap"]');
    
    inputSignBap.disabled = ! inputPreaff.checked;
}
document.addEventListener('change', function(event) {
    if(event.target.name != 'ACTIVE_PREAFFFAC') return;

    updateInputSignatureBAP();
})
// Init
updateInputSignatureBAP();



// TODO : factorize with updateInputSignatureBAP
function updateDefaultProfilTva() {
    let inputPreaff = document.querySelector('input[name="PROFIL_TVA_ACTIF"]');
    let inputSignBap = document.querySelector('input[name="DEFAULT_PROFIL_TVA"]');
    
    inputSignBap.disabled = ! inputPreaff.checked;
}
document.addEventListener('change', function(event) {
    if(event.target.name != 'PROFIL_TVA_ACTIF') return;

    updateDefaultProfilTva();
})
// Init
updateDefaultProfilTva();


window.action.paramFactureSuccess = function() {
    activePopup(
        {{ 'Attention' | trad | json }},
        document.getElementById('popupSuccess').outerHTML,
        'modal_small'
    );
    desactiveLoader();
};

</script>
    
{% endblock %}
