
{% extends 'layout.twig' %}

{% block body %}
<script type="text/javascript" src="{{ baseUrl('js/Modules/Facture/Facture.js') }}"></script>
    <div class="contenu clearfix"  id="factures">
        <h1>
            <span>
                {{ 'Factures, avoirs et factures d\'acompte' | trad }}
            </span>
        	{% if nombreResultat > 0 %}
                {% if type == '' %}
                    {% set typeExport = 'All' %}
                {% else %}
                    {% set typeExport = type %}
                {% endif %}
                {#{{ Button('Export' | trad, false, '', "exportCSV('"~ path('Facture.GestionFacture.exportAll', {'type' : typeExport })~"', 'filtre_facture');", {}, false, 'export') }}#}
        	    {{ Button('Export', false, '', 'ajaxPopup(\''~path('Facture.GestionFacture.popupExport', {'type' : typeExport })~'\',  \'' ~'Export Facture' | trad ~'\', \'\', \'\', \'\', \'modal_export \')', '') }}
            {% endif %}

            {{ Button('Nouvelle Facture' | trad, true, path('Facture.CreationFacture.nouvelleFacture'), '', {'HA_FA_CMOD':'HA_FA_CMOD'}, false, 'ajout') }}
        </h1>
        <ul class="nav nav-tabs">
            {% for item in [
                {key: '', label: 'Gestion' | trad, badge: gestionCount ?? 0},
                {key: 'Litige', label: 'En litige' | trad, badge: litigeCount ?? 0},
                {key: 'Compta', label: 'A transférer en compta' | trad, badge: comptaCount ?? 0},
                {key: 'Rappro', label: 'Attente de rapprochement' | trad, badge: rapproCount ?? 0},
                {key: 'Preaff', label: 'En pré-affectation' | trad, badge: preafCount ?? 0},
                {key: 'AttVal', label: 'En attente de validation' | trad, badge: attvalCount ?? 0},
                {key: 'Attsign', label: 'En attente de signature' | trad, badge: attsignCount ?? 0},
                {key: 'Refuse', label: 'BAP Refusés' | trad, badge: refuseCount ?? 0},
                {key: 'Rejet', label: 'Rejetées' | trad, badge: rejetCount ?? 0},
            ] %}
        	<li class="{{ type == item.key ? 'active' }}" 
                onclick="addFiltre('input_type', '{{ item.key }}', 'filtre_facture')"
            >
                {% if item.key == '' or item.badge > 0 %}
                <a>
                    {{- item.label -}}
                    <span class="nb_affectation">
                        {{ type == item.key ? (nombreResultat ?? 0) : item.badge }}
                    </span>
                </a>
                {% endif %}
            </li>
            {% endfor %}
        </ul>

        <div class="tab-content">
            <form method="post" name="filtre_facture" id="filtre_facture">
                    <div class="tab-content">
        	            <div id="gestion-facture" class="tab-pane fade in active">
                            <div>
                                <ul class="nav nav-tabs sous_onglet sous_onglet_filter" id="filterTab"> 
                                    <li class="active" id="tab_filter"><a data-toggle="tab" href="#filtre">{{ 'Filtres' | trad }}</a></li>  
                                    <li id="tab_favoris"><a data-toggle="tab" href="#favoris">{{ 'Recherches favorites' | trad }}</a></li>
                                </ul>
                            </div>
                            <div class="tab-content">
                                <div class="box-form tab-pane fade in active clearfix filtre_facture" id="filtre">
                                    <div class="filtre">
                                        <div class="row">
                                            <input type="hidden" name="type" id="input_type" value="{{ type }}"/>
                                            <span id="loginUtilisateur" style="display:none;" >{{ login }}</span>			
                                            {{ labelCreateur({
                                                'name' : 'creerPar',
                                                'code' : login,
                                                'libelle' : login | utilisateurTad,
                                                'titre' : 'Créée par' | trad,
                                                'textTooltip' : 'Filtrer sur mes factures' | trad,
                                                'orientation' : 'top-left',
                                                'form' : 'filtre_facture',
                                            }) }}
                                            {{ inputZoomAdvance("", "creerPar", path('Ajax.liste.utilisateur'), "", 
                                            post.creerPar, 'utilisateurTad', 
                                            path('Ajax.validator.zoom'), "{'entity' : 'Hastutil','nomChamp' : '"~ 'Créée par' | trad ~"', 'null' : true}" , "" , "",
                                            path('Ajax.outil.convertLibelle'), "HASTUTIL","CODE", "NOM", '', '', '', 'Liste des utilisateurs' | trad) }}
                                        </div>
                                    </div>
                                    {% if userMonoSociete %}
                                        <input type="hidden" name="societe" id="input_societe" value="{{ post.societe }}" />
                                    {% else %}
                                        <div class="filtre">
                                            <div class="row">
                                                {{ inputAdvance('ZOOMADVANCE', {
                                                    'titre': 'Société' | trad,
                                                    'name' : 'societe',
                                                    'value' : post.societe,
                                                    'pahtZoom' : path('Ajax.liste.societe'),
                                                    'paramZoom' : "{}",
                                                    'entity' : 'Societe',
                                                    'titleZoom' : 'Liste des sociétés' | trad,
                                                    'pathConvert' : path('Ajax.outil.convertLibelle'),
                                                    'convertLibelle' : 'convertLibelleGlobal',
                                                    'pathValidator' : path('Ajax.validator.zoom'),
                                                    'paramsValidator' : "{'entity' : 'Societe', 'nomChamp' : '"~ 'Société' | trad ~"', 'null' : true}",
                                                    'myFunction' : 'visibiliteAxeImputation',
                                                    'myParams' : '["'~ params.SISECTOR ~'", "'~ params.CDCSECTO ~'", "'~ params.SCASECTO ~'"]',
                                                    'bulle' :  'true',
                                                }) }}
                                            </div>
                                        </div>
                                    {% endif %}
                                    <div class="filtre">
                                        <div class="row">
                                            {{ inputSelect('', 'selectOptionSietDirection', listeSiDirection, post.selectOptionSietDirection, params.CODE_SI_LOCK ? 'DISABLED' : '', '', '', false, 'switchSIetDirectionOptionSelect', '[]', '', false) }}
                                            <span class="filtreRow" id="spanSi" {% if post.selectOptionSietDirection is not null and post.selectOptionSietDirection != 'si' %}style="display:none"{% endif %}>
                                                {{ inputAdvance('ZOOMADVANCE', {
                                                    'name' : 'CODE_SI',
                                                    'value' : post.CODE_SI,
                                                    'pahtZoom' : path('Ajax.liste.si'),
                                                    'paramZoom' : "{'si_valide': 'on', 'CODE_STE' : document.getElementById('input_societe').value}",
                                                    'entity' : 'Sectimpu',
                                                    'codeSte' : post.societe,
                                                    'faceAttr' : {
                                                        'data-stelink' : 'input_societe',
                                                    },
                                                    'titleZoom' : 'Liste des sections d\'imputation' | trad,
                                                    'pathConvert' : path('Ajax.outil.convertLibelle'),
                                                    'pathValidator' : path('Ajax.validator.sectionImputation'),
                                                    'paramsValidator' : "{'nomChamp' : '"~ 'Section d\'imputation' | trad |e('js')|raw ~"', 'null' : true, 'filter_egal_CODE_STE' : document.getElementById('input_societe').value}",
                                                    'myFunction' : 'affichageCG',
                                                    'myParams' : '["'~path('Facture.ajax.setCG')~'", "input_CODE_SI", "divCG", "", "input_societe"]',
                                                    'codeBDD' : 'CODE_SI',
                                                    'libelleBDD' : 'LIBELLE',
                                                    'widthPopup' : 'modal_large',
                                                    'option' : params.CODE_SI_LOCK ? 'DISABLED' : '',
                                                    'valueTexteZoom' : post.CODE_SI_LIBELLE,
                                                    'paramConvertLibelle' : "{'filter_egal_CODE_STE' : document.getElementById('input_societe').value}",
                                                }) }}
                                            </span>
                                            <span class="filtreRow" id="spanDirection" {% if post.selectOptionSietDirection != 'direction' %}style="display:none"{% endif %}>
                                                {{ inputAdvance('ZOOMADVANCE', {
                                                    'name' : 'CODE_DIR',
                                                    'value' : post.CODE_DIR,
                                                    'pahtZoom' : path('Ajax.liste.directio'),
                                                    'paramZoom' : "{'si_valide': 'on', 'CODE_STE' : document.getElementById('input_societe').value}",
                                                    'entity' : 'Directio',
                                                    'titleZoom' : 'Liste des directions' | trad,
                                                    'pathConvert' : path('Ajax.outil.convertLibelle'),
                                                    'pathValidator' : path('Ajax.validator.direction'),
                                                    'paramsValidator' : "{'nomChamp' : '"~ 'Direction' | trad ~"', 'null' : true, 'filter_egal_CODE_STE' : document.getElementById('input_societe').value}",
                                                    'codeBDD' : 'CODE_DIR',
                                                    'libelleBDD' : 'LIBELLE',
                                                    'option' : params.CODE_SI_LOCK ? 'DISABLED' : '',
                                                    'valueTexteZoom' : post.CODE_DIR_LIBELLE,
                                                    'paramConvertLibelle' : "{'filter_egal_CODE_STE' : document.getElementById('input_societe').value}",
                                                }) }}
                                            </span>
                                        </div>
                                    </div>
                                    {% if params.IS_CG_ACTIVE %}
                                    <div class="filtre" id="divCG" {% if affichageCodeGestion == 0 %} style="display:none;" {% endif %}>
                                        <div class="row">
                                            {{ inputAdvance('TREEVIEW', {
                                                'titre': 'CG' | trad,
                                                'name' : 'ID_CG',
                                                'value' : post.ID_CG,
                                                'valueTexteTreeview' : post.CodeGestion_LIBELLE,
                                                'pathTreeview' : path('Ajax.Treeview.codeGestion'),
                                                'paramsTreeview' : "{'CODE_STE': document.getElementById('input_societe').value, 'CODE_SI': document.getElementById('input_CODE_SI').value, 'NUM_LOT': '"~numLot~"', 'AUTHACHAT' : '1', 'cg_valide': 'on', 'inputCG' : 'ID_CG', 'affichageLibelle' : 1}",
                                                'titleTreeview' : 'Liste des codes gestion' | trad,
                                                'entity' : 'Codgest',                                                        
                                                'myFunction' : 'convertLibelleCodeGestion',
                                                'myParams' : '["'~path('Ajax.outil.convertLibelleCodeGestion')~'", this, "CODE_GES", "CODE_AFF", "input_ID_CG", "text_ID_CG", null, "'~numLot~'", "", "input_CODE_SI", 1]',
                                                'pathValidator' : path('Ajax.validator.codeGestion'),
                                                'paramsValidator' : "{'nomChamp' : '"~ 'Code gestion' | trad ~"', 'null' : true, 'CODE_STE' : document.getElementById('input_societe').value, 'CODE_SI':  document.getElementById('input_CODE_SI').value, 'NUM_LOT': '"~numLot~"', 'AUTHACHAT' : '1'}",
                                                'codeBDD' : 'CODE_GES',
                                                'libelleBDD' : 'CODE_AFF',
                                                'addStyle' : 'champs_recherche',
                                                'bulle' :  'true',
                                            }) }}         
                                        </div>
                                    </div>
                                    {% endif %}
                                    <div class="filtre">
                                        <div class="row">
                                            {{ inputSelect('', 'SELECT_CDC_NA', listeCdcNa, post.SELECT_CDC_NA, params.CODE_CDC_LOCK ? 'DISABLED' : '', '', '', false, 'switchCDCetNAOptionSelect', '[]', '', false) }}
                                            <span class="filtreRow" id="spanCdc" {% if post.SELECT_CDC_NA is not null and post.SELECT_CDC_NA != 'cdc' %}style="display:none"{% endif %}>
                                                {{ inputAdvance('ZOOMADVANCE', {
                                                    'name' : 'CODE_CDC',
                                                    'value' : post.CODE_CDC,
                                                    'pahtZoom' : path('Ajax.liste.cdc'),
                                                    'paramZoom' : "{'cdc_valide': 'on', 'CODE_STE' : document.getElementById('input_societe').value}",
                                                    'entity' : 'Codecomp',
                                                    'titleZoom' : 'Liste des codes complémentaires' | trad,
                                                    'pathConvert' : path('Ajax.outil.convertLibelle'),
                                                    'pathValidator' : path('Ajax.validator.codeComplementaire'),
                                                    'paramsValidator' : "{'nomChamp' : '"~ 'Code complémentaire' | trad ~"', 'null' : true, 'filter_egal_CODE_STE' : document.getElementById('input_societe').value}",
                                                    'codeBDD' : 'CODE_CDC',
                                                    'libelleBDD' : 'LIBELLE',
                                                    'widthPopup' : 'modal_large',
                                                    'option' : params.CODE_CDC_LOCK ? 'DISABLED' : '',
                                                    'valueTexteZoom' : post.CODE_CDC_LIBELLE,
                                                    'paramConvertLibelle' : "{'filter_egal_CODE_STE' : document.getElementById('input_societe').value}",
                                                    'codeSte' : post.societe,
                                                    'faceAttr' : {
                                                        'data-stelink' : 'input_societe',
                                                    },
                                                }) }}
                                            </span>
                                            <span class="filtreRow" id="spanNa" {% if post.SELECT_CDC_NA != 'na' %}style="display:none"{% endif %}>
                                                {{ inputAdvance('ZOOMADVANCE', {
                                                    'name' : 'CODNAN',
                                                    'value' : post.CODNAN,
                                                    'pahtZoom' : path('Ajax.liste.natana'),
                                                    'paramZoom' : "{'si_valide': 'on', 'CODE_STE' : document.getElementById('input_societe').value}",
                                                    'entity' : 'Natana',
                                                    'titleZoom' : 'Liste des natures analytiques' | trad,
                                                    'pathConvert' : path('Ajax.outil.convertLibelle'),
                                                    'pathValidator' : path('Ajax.validator.natureAnalytique'),
                                                    'paramsValidator' : "{'nomChamp' : '"~ 'Nature analytique' | trad ~"', 'null' : true, 'filter_egal_CODE_STE' : document.getElementById('input_societe').value}",
                                                    'codeBDD' : 'CODNAN',
                                                    'libelleBDD' : 'LIBELLE',
                                                    'option' : params.CODE_CDC_LOCK ? 'DISABLED' : '',
                                                    'valueTexteZoom' : post.CODNAN_LIBELLE,
                                                    'paramConvertLibelle' : "{'filter_egal_CODE_STE' : document.getElementById('input_societe').value}",
                                                }) }}
                                            </span>
                                        </div>
                                    </div>
                                    <div class="filtre">
                                        <div class="row">
                                            {{ inputSelect('', 'selectOptionSCAetCA', listeScaCa, post.selectOptionSCAetCA, params.CODE_SCA_LOCK ? 'DISABLED' : '', '', '', false, 'switchSCAetCAOptionSelect', '[]', '', false) }}
                                            <span class="filtreRow" id="spanSca" {% if post.selectOptionSCAetCA is not null and post.selectOptionSCAetCA != 'sca' %}style="display:none"{% endif %}>
                                                {{ inputAdvance('ZOOMADVANCE', {
                                                    'name' : 'CODE_SCA',
                                                    'value' : post.CODE_SCA,
                                                    'pahtZoom' : path('Ajax.liste.sca'),
                                                    'paramZoom' : "{'sca_valide': 'on', 'CODE_STE' : document.getElementById('input_societe').value}",
                                                    'entity' : 'Sscptana',
                                                    'titleZoom' : 'Liste des sous comptes d\'analyse' | trad,
                                                    'pathConvert' : path('Ajax.outil.convertLibelle'),
                                                    'pathValidator' : path('Ajax.validator.sousCompteAnalyse'),
                                                    'paramsValidator' : "{'nomChamp' : '"~ 'Sous-compte d\'analyse' | trad |e('js')|raw ~"', 'null' : true, 'filter_egal_CODE_STE' : document.getElementById('input_societe').value}",
                                                    'codeBDD' : 'CODE_SCA',
                                                    'libelleBDD' : 'LIBELLE',
                                                    'widthPopup' : 'modal_large',
                                                    'option' : params.CODE_SCA_LOCK ? 'DISABLED' : '',
                                                    'valueTexteZoom' : post.CODE_SCA_LIBELLE,
                                                    'paramConvertLibelle' : "{'filter_egal_CODE_STE' : document.getElementById('input_societe').value}",
                                                    'codeSte' : post.societe,
                                                    'faceAttr' : {
                                                        'data-stelink' : 'input_societe',
                                                    },
                                                }) }}
                                            </span>
                                            <span class="filtreRow" id="spanCa" {% if post.selectOptionSCAetCA != 'ca' %}style="display:none"{% endif %}>
                                                {{ inputAdvance('ZOOMADVANCE', {
                                                    'name' : 'CODE_CTA',
                                                    'value' : post.CODE_CTA,
                                                    'pahtZoom' : path('Ajax.liste.centrana'),
                                                    'paramZoom' : "{'si_valide': 'on', 'CODE_STE' : document.getElementById('input_societe').value}",
                                                    'entity' : 'Centrana',
                                                    'titleZoom' : 'Liste des  centres d\'analyse' | trad,
                                                    'pathConvert' : path('Ajax.outil.convertLibelle'),
                                                    'pathValidator' : path('Ajax.validator.centreAnalyse'),
                                                    'paramsValidator' : "{'nomChamp' : '"~ 'Centre d\'analyse' | trad |e('js')|raw ~"', 'null' : true, 'filter_egal_CODE_STE' : document.getElementById('input_societe').value}",
                                                    'codeBDD' : 'CODE_CTA',
                                                    'libelleBDD' : 'LIBELLE',
                                                    'option' : params.CODE_SCA_LOCK ? 'DISABLED' : '',
                                                    'valueTexteZoom' : post.CODE_CTA_LIBELLE,
                                                    'paramConvertLibelle' : "{'filter_egal_CODE_STE' : document.getElementById('input_societe').value}",
                                                }) }}
                                            </span>
                                        </div>
                                    </div>
                                    
                                    <div class="filtre">
                                        <div class="row">
                                            {{ inputAdvance('SELECT',{
                                                name: 'statut',
                                                titre: 'Statut' | trad,
                                                listeValue: listeFiltreStatut,
                                                value: post.statut,
                                                bulle: true,
                                                optionVide: true,
                                            }) }}
                                        </div>
                                    </div>
                                
                                    <div class="filtre">
                                        <div class="row">
                                            {{ inputText('Num CDE' | trad, 'NUM_CDE', post.NUM_CDE, '', path('Ajax.validator.integer'), "{}",'','','','','','','','','','true') }}
                                        </div>
                                    </div>
                                    <div class="filtre">
                                        <div class="row">
                                            {{ inputText('Num BR' | trad, 'NUM_BR', post.NUM_BR, '', path('Ajax.validator.integer'), "{}",'','','','','','','','','','true') }}
                                        </div>
                                    </div>
                                    {{ specifique('GestionFacture', 'inputSelectCde', arraySepecifiqueClient112) }}    
                                    <div class="filtre">
                                        <div class="row">
                                            {{ inputText('Mots Clés' | trad, 'motCle', post.motCle, '', path('Ajax.validator.isStringAvecEspace'), "{}",'','','','','','','','','','true') }}
                                        </div>
                                    </div>
                                    <div class="filtre">
                                        <div class="row">
                                            {{ inputSelect('Archivées ?' | trad, 'archive', listeArchive, post.archive, '', '', '', false, '', '', '', false,'','','true') }}
                                        </div>
                                    </div>
                                    <div class="filtre">
                                        <div class="row">
                                            {{ inputAdvance('ZOOMADVANCE', {
                                                'name' : 'INCF_USER',
                                                'titre': 'Responsable du litige' | trad,
                                                'pahtZoom' : path('Ajax.liste.utilisateur'),
                                                'entity' : 'Hastutil',
                                                'titleZoom' : 'Liste des utilisateurs' | trad,
                                                'pathConvert' : path('Ajax.outil.convertLibelle'),
                                                'convertLibelle' : 'convertLibelleGlobal',
                                                'pathValidator' : path('Ajax.validator.zoom'),
                                                'paramsValidator' : "{'entity' : 'Hastutil','nomChamp' : 'utilisateur', 'null' : true}",
                                                'value' : post.INCF_USER,
                                                'bulle' : true,
                                            }) }}
                                        </div>
                                    </div>
                                    <div class="filtreBtn">
                                        <button type="submit" class="principal button btn_filtre last button_right">{{ 'Filtrer' | trad }}</button>
                                        <button class="secondaire button ajout button_right" id="buttonCollapseFA"  id="buttonCollapseFA"  data-toggle="collapse" href="#filtre_avances" >
                                            {{  'Filtres avancés' | trad }}
                                        </button>
                                        <input type="hidden" id="retract" value="{{'Retracter' | trad}}">
                                        <input type="hidden" id="advancedFilters" value="{{ 'Filtres avancés' | trad }}">
                                    </div>
                                </div> 
                                <div id="favoris" class="tab-pane fade clearfix box-form">
                                    {% include '@suivi/Global/_favoris.twig' with {'module' : 'FAC'} %}
                                </div>
                            </div>
                        </div>  
                    </div>

                    <div id="filtre_avances" class="collapse clearfix">
           				{{ filtreAvance(post, filtreAvance, initFiltreAvance) }}  
                    </div>
					<div class="resultat_filtre">
                        {{ bullFiltre(post, 'filtre_facture') }}
                    </div>
                   	<div id='refreshTable'>
                        <table class="table table-hover">
                            <thead class="thead-dark">
                                <tr>
                                    <th scope="col">{{ triTable('TYPE',  infoPagination.filter.tri_TYPE, 'Type' | trad, '', '', 'filtre_facture') }}</th>
                                    <th scope="col">{{ triTable('NUM_FACT',  infoPagination.filter.tri_NUM_FACT, 'N° Enreg.' | trad, '', '', 'filtre_facture') }}</th>
                                    <th scope="col" width="110px">{{ triTable('FACT_FOU',  infoPagination.filter.tri_FACT_FOU, 'Réf. Frs' | trad, '', '', 'filtre_facture') }}</th>
                                    <th scope="col">{{ triTable('CODE_STE',  infoPagination.filter.tri_CODE_STE, 'Société' | trad, '', '', 'filtre_facture') }}</th>
                                    <th scope="col">{{ triTable('CODE_FOUR',  infoPagination.filter.tri_CODE_FOUR, 'Fournisseur' | trad, '', '', 'filtre_facture') }}</th>
                                    <th scope="col">{{ triTable('LIB_COMPT', infoPagination.filter.tri_LIB_COMPT, 'Libellé comptable' | trad, '', '', 'filtre_facture') }}</th>
                                    <th scope="col">{{ triTable('DATE_ENR',  infoPagination.filter.tri_DATE_ENR, 'Enreg. le' | trad, '', '', 'filtre_facture') }}</th>
                                    <th scope="col">{{ triTable('DATE_FAFO',  infoPagination.filter.tri_DATE_FAFO, 'Emise le' | trad, '', '', 'filtre_facture') }}</th>
                                    <th scope="col">{{ triTable('DTAE_ECH',  infoPagination.filter.tri_DTAE_ECH, 'Echéance' | trad, '', '', 'filtre_facture') }}</th>
                                    <th scope="col">{{ triTable('TOTAL_HT',  infoPagination.filter.tri_TOTAL_HT, 'Total HT' | trad, '', '', 'filtre_facture') }}</th>
                                    <th scope="col">{{ triTable('TOTAL_TTC',  infoPagination.filter.tri_TOTAL_TTC, 'Total TTC' | trad, '', '', 'filtre_facture') }}</th>
                                    {# {{ specifique('GestionFacture', 'triTableFacture', arraySepecifiqueClient112) }} #}
                                    
                                    <th scope="col" width="130px">{{ 'Infos' | trad }}</th>
                                    <th scope="col" width="40px">{{ 'Actions' | trad }}</th>
                                </tr>
                            </thead>
                            <tbody>
                                <tr class="recherche">
                                    <td>{{ filterSelect('TYPE', post.TYPE, listeType, 'filtre_facture','','','',true, 'Type' | trad) }}</td>
                                    <td>{{ filterTable('egal_NUMFACTURE', infoPagination.filter.filter_egal_NUMFACTURE, '', '', '', 'filtre_facture','', 'N° Enreg.' | trad) }}</td>
                                    <td>{{ filterTable('FACT_FOU', infoPagination.filter.filter_FACT_FOU, '', '', '', 'filtre_facture','', 'Réf. Frs' | trad) }}</td>
                                    <td>{{ zoomFilter('egal_SOCIETE'~spliter()~'RAIS_SOC', infoPagination.filter['filter_egal_SOCIETE'~spliter()~'RAIS_SOC'], '', 'filtre_facture', path('Ajax.liste.societe'), 'Liste des sociétés' | trad, '','', 'Société' | trad,'','', 'libelle_Societe') }}</td>
                                    <td>{{ zoomFilter('egal_CODE_FOUR'~spliter()~'RS', infoPagination.filter['filter_egal_CODE_FOUR'~spliter()~'RS'], '', 'filtre_facture', path('Ajax.liste.fournisseur'),'Liste des fournisseurs' | trad, '','', 'Fournisseur' | trad,'','','libelle_Fourniss') }}</td>
                                    <td>{{ filterTable('LIB_COMPT', infoPagination.filter.filter_LIB_COMPT, '','', '','filtre_facture','','Libellé comptable' | trad) }}</td>
                                    <td>{{ filterTable('date_DATE_ENR', infoPagination.filter.filter_date_DATE_ENR, '', '', '','filtre_facture', 'datepicker', 'Enreg. le' | trad) }}</td>
                                    <td>{{ filterTable('date_DATE_FAFO', infoPagination.filter.filter_date_DATE_FAFO, '', '', '','filtre_facture', 'datepicker', 'Emise le' | trad) }}</td>
                                    <td>{{ filterTable('date_DTAE_ECH', infoPagination.filter.filter_date_DTAE_ECH, '', '', '','filtre_facture', 'datepicker', 'Echéance' | trad) }}</td>
                                    <td>{{ filterTable('montant_TOTAL_HT', infoPagination.filter.filter_montant_TOTAL_HT, '', '', '', 'filtre_facture','', 'Total HT' | trad) }}</td>
                                    <td>{{ filterTable('montant_TOTAL_TTC', infoPagination.filter.filter_montant_TOTAL_TTC, '', '', '', 'filtre_facture','', 'Total TTC' | trad) }}</td>
                                    {# {{ specifique('GestionFacture', 'filterTableFacture', arraySepecifiqueClient112) }} #}
                                    <td></td>
                                    <td></td>
                                </tr>

                                {% for facture in factures %}
                                <tr id="facture{{ facture.NUM_FACT }}" class="{% if loop.index is divisible by(2) %}even{% else %}odd{% endif %}">
                                    <td >{{ listeType[((facture.TYPE == 'F' and facture.ACOMPTE | boolSql) ? 'C' : facture.TYPE)] }}</td>
                                    <td class="code montant toggleSlide" onclick="toggleSlide('{{ path('Facture.ajax.ligneFacture', {numFact: facture.NUM_FACT}) }}' , 'facture{{ facture.NUM_FACT }}detail', {id : {{ facture.NUM_FACT }} } );">{{ facture.NUM_FACT }}</td>
                                    <td>{{ facture.FACT_FOU }}</td>
                                    <td>{{ facture.RAIS_SOC }} {% if facture.CODE_STE!='' %} ({{ facture.CODE_STE }}){% endif %}</td>
                                    <td>{{ facture.RS | convert_encoding('UTF-8', 'ISO-8859-1') }}{% if facture.CODE_FOUR!='' %} ({{ facture.CODE_FOUR }}){% endif %}</td>
                                    <td>{{ shortLibelle(facture.LIB_COMPT, 20, 'top-right', false, false) }}</td>
                                    <td>{{ facture.DATE_ENR | dateTrad }}</td>
                                    <td>{{ facture.DATE_FAFO | dateTrad }}</td>
                                    <td>{{ facture.DTAE_ECH | dateTrad }}</td>
                                    <td class="montant">{{ facture.TOTAL_HT | prix }} {{ facture.DEVISE }}</td>
                                    <td class="montant">{{ facture.TOTAL_TTC | prix }} {{ facture.DEVISE }}</td>
                                
                                    <td>
                                        <div class="tdIcone">
                                            {% if facture.ENT_VALID|boolSql == '1' %}
                                            <span class="white-tooltip facture-valide">
                                                <span class="infos_tooltip top-left">
                                                        {{ 'Entête validée' | trad }}
                                                </span>
                                                
                                            </span>
                                            {% endif %}
                                        
                                            {% if facture.AFF_VALID|boolSql == '1'  %} 
                                            <span class="white-tooltip facture-affect-val"> 
                                                <span class="infos_tooltip top-left">
                                                    {{ 'Affectation validée' | trad }}
                                                </span>
                                            
                                            </span>
                                            {% endif %}

                                            {# TODO factorize #}
                                            {% if facture.AFF_TMP|boolSql == '1' %}
                                                {% if typePreaffectationMail == 'L' %}
                                                <a onclick="ajaxPopup('{{ path('Facture.popup.interrogationPreaffectationMail') }}', '{{ 'Préaffectation : Mail ach./dem.' | trad }}', '', '', {'numFact' : {{ facture.NUM_FACT }}, 'type' : 'L' })" 
                                                class="pre_affectation white-tooltip">
                                                    <span class="infos_tooltip top-left">
                                                        {{ 'Pré-affectation de factures. Cliquer ici pour envoyer un mail aux acheteurs et demandeurs.' | trad }}
                                                    </span>
                                                </a>
                                                {% elseif typePreaffectationMail == 'D' %}
                                                <a onclick="ajaxPopup('{{ path('Facture.popup.interrogationPreaffectationMail') }}', '{{ 'Préaffectation : Mail demandeurs' | trad }}', '', '', {'numFact' : {{ facture.NUM_FACT }}, 'type' : 'D'  })" 
                                                class="pre_affectation white-tooltip">
                                                    <span class="infos_tooltip top-left">
                                                        {{ 'Pré-affectation de factures. Cliquer ici pour envoyer un mail aux demandeurs.' | trad }}
                                                    </span>
                                                </a>
                                                {% else %}
                                                <a onclick="ajaxPopup('{{ path('Facture.popup.interrogationPreaffectationMail') }}', '{{ 'Préaffectation : Mail acheteurs' | trad }}', '', '', {'numFact' : {{ facture.NUM_FACT }}, 'type' : ''  })" 
                                                class="pre_affectation white-tooltip">
                                                    <span class="infos_tooltip top-left">
                                                        {{ 'Pré-affectation de factures. Cliquer ici pour envoyer un mail aux acheteurs.' | trad }}
                                                    </span>
                                                </a>
                                                {% endif %}
                                            {% endif %}
                                        
                                            {% if WF_FACTURE_ACTIF and facture.ATT_SIG |boolSql == '1' and facture.REFUSEE |boolSql == '0'  %} 
                                            <span class="white-tooltip facture-a-payer"> 
                                                <span class="infos_tooltip top-left">
                                                    {{ 'Bon à payer en attente de signature' | trad }}
                                                </span>
                                            </span> 
                                            {% elseif facture.BON_A_PAY|boolSql == '1'   %} 
                                            <span class="white-tooltip facture-to-be-paid"> 
                                                <span class="infos_tooltip top-left">
                                                    {{ ('Bon à payer le' | trad)~(' ')~(facture.DATE_BAP | dateTrad) }}
                                                </span>
                                                
                                            </span> 
                                            {% endif %}
                                            
                                            
                                            {% if facture.MT_TOTREG not in ['', '0', '0.0'] %} 
                                            <span class="white-tooltip reglementFac"> 
                                                <span class="infos_tooltip top-left">
                                                    {{ ('Date du dernier règlement :' | trad)~' '~(facture.DTE_DERNREG | dateTrad) }}
                                                    <br>
                                                    {{ ('Montant du dernier règlement :' | trad)~' '~ facture.MT_TOTREG | number_format(2, '.', ' ') }}
                                                </span>
                                                
                                            </span> 
                                            {% endif %}
                                            
                                            {% if facture.REJET_COMPTA |boolSql == '1'   %} 
                                            <span class="white-tooltip facture-rejected"> 
                                                <span class="infos_tooltip top-left">
                                                    {{ 'Facture rejetée en comptabilité' | trad }}
                                                </span>
                                                
                                            </span> 
                                            {% endif %}                                      

                                            {% if facture.docRattExist %}

                                                <a href="{{path('Facture.DocumentsRattaches.docRattache', {'numFact' : facture.NUM_FACT|trim })}}" class="documents_attaches white-tooltip">
                                                    <span class="infos_tooltip top-left">{{ 'Présence de documents rattachés pour cette facture. Cliquer pour les visualiser' | trad }}
                                                    </span>
                                                </a>
                                            {% endif %}
                                            {% if facture.nbPJ > 0 %}
                                            <a href="{{ path('Facture.PiecesJointes.piecesJointes', {'numFact' : facture.NUM_FACT }) }}" class="pieces_jointes white-tooltip">
                                            <span class="infos_tooltip top-left">
                                                    {{ 'Présence de pièces jointes pour cette facture. Cliquer pour les visualiser.' | trad }}
                                                </span> 
                                            </a>
                                            {#<span class="pieces_jointes white-tooltip">
                                            <span class="infos_tooltip top-left">
                                                    {{ 'Présence de pièces jointes pour cette facture.' | trad }}
                                                </span> 
                                            </span>#}
                                            {% endif %}
                                            
                                            {% if facture.ligneAnomalie > 0 and facture.AFF_ENREG |boolSql == '0'  %}
                                            <span class="alert_ecart white-tooltip">
                                            <span class="infos_tooltip top-left">
                                                    {{ 'Lignes d\'affectation en anomalies.' | trad }}
                                                </span> 
                                            </span>
                                            {% endif %}
                                            
                                            {% if droits.HA_FA_LIS == '1' and (facture.FIC_LAD |trim) != '' %}
                                                <a href="{{ facture.TYPE_URL_LAD == 'E' ? facture.FIC_LAD : facture.urlImageFacture }}" target="_blank" class="pdf white-tooltip">    
                                                <span class="infos_tooltip top-left">
                                                        {{ 'Image facture.' | trad }}
                                                    </span>
                                                </a> 
                                            {% endif %}
                                            
                                            {% set EFlowStatus = enum('Entity\\Model\\Enum\\EFacDematFlowStatus') %}
                                            {% if facture.REFUSEE_FE | boolSql %}
                                                <span class="white-tooltip">
                                                    <i class="icosq-doc-canceled"></i>
                                                    <span class="infos_tooltip top-left">
                                                        {{- 'Facture refusée' | trad -}}
                                                    </span>
                                                </span>
                                            {% elseif facture.flow_STATUS == EFlowStatus.PaieTrans.value %}
                                                <span class="white-tooltip">
                                                    <i class="icosq-doc-payment-sent"></i>
                                                    <span class="infos_tooltip top-left">
                                                        {{- 'Paiement transmis' | trad -}}
                                                    </span> 
                                                </span>
                                            {% elseif facture.flow_STATUS == EFlowStatus.Encaisse.value %}
                                                <span class="white-tooltip">
                                                    <i class="icosq-doc-payment"></i>
                                                    <span class="infos_tooltip top-left">
                                                        {{- 'Encaissée' | trad -}}
                                                    </span> 
                                                </span>
                                            {% endif %}

                                            {% if facture.LITIGE|boolSql == 1 %}
                                                {% if facture.Litige_IDUNIQUE != 0 %}    
                                                    <a class="incidents white-tooltip" href="{{ path(
                                                        'GlobalApplication.Incidents.detail',
                                                        {id: facture.Litige_IDUNIQUE}
                                                    ) }}">
                                                        <span class="infos_tooltip top-left">
                                                            {{ 'Facture en litige. Cliquer ici pour gérer le litige.' | trad }}
                                                        </span>
                                                    </a>
                                                {% else %}
                                                    <a class="incidents white-tooltip" href="{{ path(
                                                        'Facture.GestionFacture.incidentsMail',
                                                        {numFact: facture.NUM_FACT}
                                                    ) }}">
                                                        <span class="infos_tooltip top-left">
                                                            {{ 'Facture en litige. Cliquer ici pour envoyer un mail aux acheteurs.' | trad }}
                                                        </span>
                                                    </a>
                                                {% endif %}
                                            {% endif %}
                                            
                                            {% if facture.hasBlocNote %}
                                                <a onclick="ajaxPopup ('{{ path('Facture.popup.blocNote', {'numFact' : facture.NUM_FACT }) }}', '{{ 'Bloc-note' | trad }}', '', '')" 
                                                    class="blocNote white-tooltip">
                                                    <span class="infos_tooltip top-left">
                                                        {{ facture.blocNote }}
                                                    </span>
                                                </a>
                                            {% endif %}
                                            {% if facture.EVNT is not null and facture.EVNT>0  %}
                                                {{ specifique('GestionFacture', 'infoBull', arraySepecifiqueClient112) }}
                                            {% endif %}
                                        </div>
                                    </td>
                                    <td class="parametrage" >
                                        {{ menuContextuel('facture'~facture.NUM_FACT, false, facture.menuContextuel, 6) }}
                                    </td>
                                </tr>
                                <tr class="detail_ligne hide_detail" id="facture{{ facture.NUM_FACT }}detail" ></tr>
                                {% endfor %}
                            </tbody>
                        </table>
                        {{ paginations(path('Facture.GestionFacture.index'),infoPagination.nombreDePage, infoPagination.page, infoPagination.post) }}
                    </div>
            </form>
        </div>
    </div>
    <script>
      // Script to set "Créee par" input value and submit directly (without clicking outside)
        $('#text_creerPar').change(function() {
            var input_value = $('#text_creerPar').val();
            if (input_value === '') {
                $('#input_creerPar').val(''); 
                $('#input_creerPar').attr('data-original-title', input_value); 
            } 
        });
    </script>  
{% endblock %}