templates/head.html.twig line 1

Open in your IDE?
  1. <meta charset="UTF-8"/>
  2. {% block stylesheets %}{% endblock %}
  3. <style>
  4.     .detail_commande tr td.prix {
  5.         text-align: right;
  6.         padding-right: 5px;
  7.     }
  8.     .detail_commande tr td.prix::after {
  9.         content: ' €'
  10.     }
  11.     .success-strip {
  12.         background: repeating-linear-gradient(-90deg, #D0E9C6, #D0E9C6 10px, #ffffff 10px, #ffffff 12px);
  13.     }
  14.     .warning-strip {
  15.         background: repeating-linear-gradient(-90deg, #FAF2CC, #FAF2CC 10px, #ffffff 10px, #ffffff 12px);
  16.     }
  17.     .danger-strip {
  18.         background: repeating-linear-gradient(-90deg, #f2dede, #f2dede 10px, #ffffff 10px, #ffffff 12px);
  19.     }
  20.     .devis_gagne {
  21.         background: white !important;
  22.     }
  23.     .devis_perdu {
  24.         background: #D5D8DA !important;
  25.     }
  26.     .ligne_orange {
  27.         background: #ff9404 !important;
  28.     }
  29.     .ligne_noir {
  30.         background: #827c7c !important;
  31.     }
  32.     .ligne_jaune {
  33.         background: #FAF2CC !important;
  34.     }
  35.     .ligne_vert {
  36.         background: #D0E9C6 !important;
  37.     }
  38.     .ligne_rouge {
  39.         background: #EBCCCC !important;
  40.     }
  41.     .encadre_rouge {
  42.         border: 2px solid red !important;
  43.     }
  44. </style>
  45. <link rel="icon" type="image/x-icon" href="{{ asset('images/favicon.ico') }}"/>
  46. <link href="{{ asset('bootstrap/bower_components/bootstrap/dist/css/bootstrap.css') }}" rel="stylesheet">
  47. <link href="{{ asset('bootstrap/bower_components/metisMenu/dist/metisMenu.min.css') }}" rel="stylesheet">
  48. <link href="{{ asset('bootstrap/dist/css/timeline.css') }}" rel="stylesheet">
  49. <link href="{{ asset('bootstrap/dist/css/sb-admin-2.css') }}" rel="stylesheet">
  50. <link href="{{ asset('bootstrap/bower_components/morrisjs/morris.css') }}" rel="stylesheet">
  51. <link href="{{ asset('bootstrap/bower_components/font-awesome/css/font-awesome.min.css') }}" rel="stylesheet">
  52. <link href="{{ asset('bootstrap/bower_components/datatables-responsive/css/dataTables.responsive.css') }}" rel="stylesheet">
  53. {# <link href="{{ asset('https://cdn.datatables.net/buttons/1.1.0/css/buttons.dataTables.min.css') }}" rel="stylesheet"> #}
  54. <link href="{{ asset('Tokenize-2.5.2/jquery.tokenize.css') }}" rel="stylesheet">
  55. <link href="{{ asset('bootstrap/bower_components/datatables-responsive/css/dataTables.responsive.css') }}" rel="stylesheet">
  56. <link href="{{ asset('css/style.css') }}" rel="stylesheet">
  57. <link href="{{ asset('css/select2.min.css') }}" rel="stylesheet">
  58. <link href="{{ asset('css/theme-erp.css') }}" rel="stylesheet">
  59. {# <link href="{{ asset('css/theme-1.css') }}" rel="stylesheet"> #}{# a supprimer pour repasser sur lbdp #}
  60. {# <link href="{{ asset('css/theme-2.css') }}" rel="stylesheet"> #}{# a supprimer pour repasser sur lbdp #}
  61. <link href="{{ asset('css/theme-lbdp.css') }}" rel="stylesheet">
  62. <script src="{{ asset('bootstrap/bower_components/jquery/dist/jquery.min.js') }}"></script>
  63. <script src="{{ asset('bootstrap/bower_components/bootstrap/dist/js/bootstrap.min.js') }}"></script>
  64. <script src="{{ asset('js/bootstrap-image-gallery.min.js') }}"></script>
  65. <link href="{{ asset('css/bootstrap-image-gallery.css') }}" rel="stylesheet">
  66. <script src="{{ asset('js/bootstrap-datepicker.js') }}"></script>
  67. <script src="{{ asset('bootstrap/bower_components/metisMenu/dist/metisMenu.min.js') }}"></script>
  68. <script src="{{ asset('bootstrap/bower_components/raphael/raphael-min.js') }}"></script>
  69. <script src="{{ asset('bootstrap/bower_components/morrisjs/morris.min.js') }}"></script>
  70. {# <script src="{{ asset('bootstrap/bower_components/datatables/media/js/jquery.dataTables.min.js') }}"></script> #}
  71. {# <script src="{{ asset('bootstrap/bower_components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.min.js') }}"></script> #}
  72. {# <script src="{{ asset('https://cdn.datatables.net/buttons/1.1.2/js/dataTables.buttons.min.js') }}"></script> #}
  73. {# <script src="{{ asset('js/dataTables.tableTools.js') }}"></script> #}
  74. {# laisser en comm <script src="{{ asset('http://datatables.net/release-datatables/extensions/TableTools/js/dataTables.tableTools.js') }}"></script> #}
  75. {# <script src="{{ asset('http://datatables.net/release-datatables/extensions/TableTools/js/dataTables.tableTools.js') }}"></script> #}
  76. <script src="{{ asset('Tokenize-2.5.2/jquery.tokenize.js') }}"></script>
  77. <script src="{{ asset('js/datatable/jquery.dataTables.min.js') }}"></script>
  78. <script src="{{ asset('js/datatable/dataTables.bootstrap.min.js') }}"></script>
  79. <script src="{{ asset('js/datatable/dataTables.buttons.min.js') }}"></script>
  80. <script src="{{ asset('js/datatable/buttons.flash.min.js') }}"></script>
  81. <script src="{{ asset('js/datatable/jszip.min.js') }}"></script>
  82. <script src="{{ asset('js/datatable/pdfmake.min.js') }}"></script>
  83. <script src="{{ asset('js/datatable/vfs_fonts.js') }}"></script>
  84. <script src="{{ asset('js/datatable/buttons.html5.min.js') }}"></script>
  85. <script src="{{ asset('js/datatable/buttons.print.min.js') }}"></script>
  86. {% if app.request.attributes.get('_route') == "dtc_kanban_afficher" %}
  87.     <script src="{{ asset('Kanban/kanban/jqwidgets/jqxcore.js') }}"></script>
  88. {% endif %}
  89. <script src="{{ asset('js/underscore-min.js') }}"></script>
  90. {# <link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/css/select2.min.css" rel="stylesheet" /> #}
  91. <script src="{{ asset('js/select2.full.js') }}"></script>
  92. {# <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/js/select2.full.js"></script> #}
  93. {# <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> #}
  94. <script src="{{ asset('jquery-ui-1.11.4.custom/jquery-ui.js') }}"></script>
  95. {# {% javascripts #}
  96. {#    '@PunkAveFileUploaderBundle/Resources/public/js/jquery.fileupload.js' #}
  97. {#    '@PunkAveFileUploaderBundle/Resources/public/js/jquery.iframe-transport.js' #}
  98. {#    '@PunkAveFileUploaderBundle/Resources/public/js/FileUploader.js' %} #}
  99. {#    <script src="{{ asset_url }}"></script> #}
  100. {# {% endjavascripts %} #}
  101. <script src="{{ asset('js/bootstrap-multiselect.js') }}"></script>
  102. {# <script src="{{ asset('js/dhtmlxScheduler_v4.4.0/codebase/ext/dhtmlxscheduler_key_nav.js') }}"></script> #}
  103. {#
  104. <script charset="utf-8" src="{{ asset('js/dhtmlxScheduler_v4.4.0/codebase/dhtmlxscheduler.js') }}"></script>
  105. <script charset="utf-8" src="{{ asset('js/dhtmlxScheduler_v4.4.0/codebase/locale/locale_fr.js') }}"></script>
  106. <script charset="utf-8" src="{{ asset('js/dhtmlxScheduler_v4.4.0/codebase/ext/dhtmlxscheduler_recurring.js') }}"></script>
  107. <link href="{{ asset('js/dhtmlxScheduler_v4.4.0/codebase/dhtmlxscheduler.css') }}" rel="stylesheet">
  108. #}
  109. <script src="{{ asset('js/dhtmlxScheduler_v5.3.13/dhtmlxscheduler.js?v=5.3.13') }}" type="text/javascript" charset="utf-8"></script>
  110. <script src="{{ asset('js/dhtmlxScheduler_v5.3.13/dhtmlxscheduler_multisection.js?v=5.3.13') }}" type="text/javascript" charset="utf-8"></script>
  111. <link rel="stylesheet" href="{{ asset('js/dhtmlxScheduler_v5.3.13/dhtmlxscheduler_material.css?v=5.3.13') }}" type="text/css" charset="utf-8">
  112. <script src="{{ asset('js/dhtmlxScheduler_v5.3.13/dhtmlxscheduler_recurring.js?v=5.3.13') }}" type="text/javascript" charset="utf-8"></script>
  113. <script src='{{ asset('js/dhtmlxScheduler_v5.3.13/dhtmlxscheduler_timeline.js?v=5.3.13') }}' type="text/javascript" charset="utf-8"></script>
  114. <script src="{{ asset('js/dhtmlxScheduler_v5.3.13/dhtmlxscheduler_units.js?v=5.3.13') }}" type="text/javascript" charset="utf-8"></script>
  115. <script src="{{ asset('js/dhtmlxScheduler_v5.3.13/dhtmlxscheduler_multiselect.js?v=5.3.13') }}" type="text/javascript" charset="utf-8"></script>
  116. {% if is_granted('ROLE_USER') %}
  117. <script src="{{ asset('bundles/fosjsrouting/js/router.min.js') }}"></script>
  118. <script type="text/javascript">
  119.     const routes = {{ source('@var_directory/fosjsrouter/fos_js_routes.json') }};
  120.     Routing.setRoutingData(routes);
  121. </script>
  122. {% endif %}
  123. {# <script src="{{ asset('bootstrap/js/morris-data.js') }}"></script> #}
  124. <script src="{{ asset('bootstrap/dist/js/sb-admin-2.js') }}"></script>
  125. {# <script src="{{ asset('bootstrap/dist/js/sb-admin-2-simplifie.js') }}"></script> #}
  126. <script src="{{ asset('bootstrap/bower_components/bootstrap/js/tooltip.js') }}"></script>
  127. <script src="{{ asset('js/trunk8.js') }}"></script>
  128. <link href="{{ asset('css/bootstrap-datepicker3.css') }}" rel="stylesheet">
  129. <link href="{{ asset('css/onglet.css') }}" rel="stylesheet">
  130. <script src="{{ asset('js/onglet.js') }}"></script>
  131. <script src="{{ asset('js/activite.js') }}"></script>
  132. <script src="{{ asset('Uploader/js/jquery.fileupload.js') }}"></script>
  133. <script src="{{ asset('Uploader/js/jquery.iframe-transport.js') }}"></script>
  134. <script src="{{ asset('Uploader/js/FileUploader.js') }}"></script>
  135. <script src="{{ asset('js/stl/stl_viewer.min.js') }}"></script>
  136. {% set parametrage = dtc_societe.getParametrage() %}
  137. <script>
  138.     $(document).ready(function(){
  139.         $('body').on('click', '.visualiser_stl', function(e){
  140.             var id = $(this).data("id");
  141.             $('#but_details_users_telechargement_visualisation_'+id).prop('disabled', false);
  142.             $('#but_details_users_telechargement_visualisation_'+id).removeAttr("disabled");
  143.             var date = new Date(); //Get the current date
  144.             var texte = "<div>{% if app.user.reference is defined %}{{ app.user.reference }}{% endif %} le "+date.toLocaleDateString("fr-FR")+" à "+date.toLocaleTimeString("fr-FR")+"</div>";
  145.             $("#list_users_visualisation_"+id).append(texte);
  146.             return false;
  147.         });
  148.     });
  149.     POPIN_PRIX = "{{ parametrage.popinPrix }}";
  150.     POPIN_SOLDE = "{{ parametrage.popinSolde }}";
  151.     POPIN_FP = "{{ parametrage.popinFraisPort }}";
  152.     SEUIL_FF = "0";
  153.     MONTANT_FF = 0;
  154.     SEUIL_FF_CLIENT = "";
  155.     MONTANT_FF_CLIENT = "";
  156. </script>
  157. <style>
  158.     .navbar-static-top {
  159.         background: {{parametrage.couleur}};
  160.     }
  161.     a {
  162.         color: {{parametrage.couleurLien}};
  163.     }
  164.     #side-menu, #sidebar, #wrapper {
  165.         background: #333333;
  166.     }
  167.     #side-menu-mini .nav-second-level {
  168.         background: {{parametrage.couleur}};
  169.     }
  170.     .sidebar ul li {
  171.         border: {{parametrage.couleur}};
  172.     }
  173.     .nav .open > a, .nav .open > a:focus, .nav .open > a:hover {
  174.         background: {{parametrage.couleur}};
  175.     }
  176.     .nav > li > a:focus, .nav > li > a:hover {
  177.         background: {{parametrage.couleur}};
  178.     }
  179.     .couleurLienPoubelle {
  180.         color: {{parametrage.couleurLien}};
  181.     }
  182.     .couleurLienPlus {
  183.         color: {{parametrage.couleurLien}};
  184.     }
  185.     .but_more_onglet {
  186.         background: {{parametrage.couleur}};
  187.     }
  188.     .tabss .-secondary {
  189.         border-color: {{parametrage.couleur}};
  190.     }
  191.     .couleurInterfaceSimplifie {
  192.         background: {{parametrage.couleur}};
  193.     }
  194.     .-secondary li:hover {
  195.         background: {{parametrage.couleur}};
  196.     }
  197.     .fa-eye fa-fw {
  198.         color: {{parametrage.couleurLien}};
  199.     }
  200.     .deplier_litige_plus {
  201.         color: {{parametrage.couleurLien}};
  202.     }
  203.     .confirmationCouleur {
  204.         background: {{parametrage.couleur}};
  205.     }
  206.     .pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover {
  207.         background: {{parametrage.couleur}};
  208.     }
  209.     .pagination > li:first-child > a, .pagination > li:first-child > span, .pagination > li:last-child > a, .pagination > li:last-child > span, .pagination > li > a, .pagination > li > span {
  210.         color: {{parametrage.couleur}};
  211.     }
  212. </style>
  213. <script>
  214.     function modal(message, titre, couleur = '') {
  215.         //alert("TEST "+couleur);
  216.         var modal = $("#blocModal");
  217.         $("#modal-titre").html(titre);
  218.         var contenu = ' <div class="modal-body ' + couleur + '">' +
  219.             ' ' + message + ' ' +
  220.             '</div>' +
  221.             '<div class="modal-footer">' +
  222.             '    <button type="button" class="btn btn-default" data-dismiss="modal">Fermer</button>' +
  223.             '</div>'
  224.         ;
  225.         $("#conteneur-modal").html(contenu);
  226.         $('#blocModal').children(".modal-dialog").children(".modal-content").removeClass("modal_rouge");
  227.         $('#blocModal').children(".modal-dialog").children(".modal-content").addClass(couleur);
  228.         $('#blocModal').modal('show');
  229.     }
  230.     $(document).ready(function () {
  231.         /*
  232.         $('body').on('click', 'button[value="valider"]', function(e){
  233.             e.preventDefault();
  234.             var checkbox = $('table tbody input.checkboxArticleCommande');
  235.             var checked = $('table tbody input.checkboxArticleCommande:checked');
  236.             var message = 'Il reste des lignes à contrôler!';
  237.             console.log(checkbox.length + '/' + checked.length );
  238.             if(checkbox.length != checked.length){
  239.                 modal(message , 'Attention');
  240.             } else {
  241.                 //return true;
  242.                 var form = $(this).closest('form');
  243.                 var input = $("<input>")
  244.                .attr("type", "hidden")
  245.                .attr("name", "action").val("valider");
  246.                 form.append($(input));
  247.                 form.submit();
  248.             }
  249.         });
  250.         */
  251.         $('body').on('click', '.creerMvtStock', function (e) {
  252.             var checkbox = $('table tbody input.checkboxCommentaire');
  253.             var checked = $('table tbody input.checkboxCommentaire:checked');
  254.             var message = 'Il reste des commentaires à contrôler!';
  255.             if (checkbox.length != checked.length) {
  256.                 modal(message, 'Attention');
  257.                 e.stopImmediatePropagation();
  258.                 return false;
  259.             } else {
  260.                 return true;
  261.             }
  262.         });
  263.         $('body').on('click', '.right-scroll', function (event) {
  264.             var plage_scroll = $(this).parent().parent().children(".dataTables_wrapper").scrollLeft() + 100;
  265.             $(this).parent().parent().children(".dataTables_wrapper").scrollLeft(plage_scroll);
  266.             $(this).parent().children(".left-scroll").removeClass("off");
  267.             var bloc = $(this).parent().parent().children(".dataTables_wrapper");
  268.             var maxScrollLeft = bloc.prop('scrollWidth') - bloc.prop('clientWidth');
  269.             var ScrollLeftActuel = $(this).parent().parent().children(".dataTables_wrapper").scrollLeft();
  270.             if (ScrollLeftActuel >= maxScrollLeft) {
  271.                 $(this).addClass("off");
  272.             }
  273.         })
  274.         $('body').on('click', '.left-scroll', function (event) {
  275.             var plage_scroll = $(this).parent().parent().children(".dataTables_wrapper").scrollLeft() - 100;
  276.             $(this).parent().parent().children(".dataTables_wrapper").scrollLeft(plage_scroll);
  277.             $(this).parent().children(".right-scroll").removeClass("off");
  278.             if ($(this).parent().parent().children(".dataTables_wrapper").scrollLeft() == 0) {
  279.                 $(this).addClass("off");
  280.             }
  281.         })
  282.     })
  283.     $(function () {
  284.         $('[data-toggle="tooltip"]').tooltip({html: true});
  285.         $('[data-tooltip="tooltip"]').tooltip({html: true});
  286.     })
  287.     function isInteger(x) {
  288.         return x % 1 === 0;
  289.     }
  290.     function supprimer_ligne_tableau() {
  291.         $('#liste-articles').children('tbody').children('tr.selected').children('td.position-12').children('.supprimer-row-article').click();
  292.         return false;
  293.     }
  294.     $.fn.modal.Constructor.prototype.enforceFocus = function () {
  295.     };
  296.     var isG = true;
  297.     $(document).keydown(function (e) {
  298.         if (e.which == 71 || e.keyCode == 71) {
  299.             isG = true; // si la touche G a été pressée
  300.         }
  301.     }).keyup(function (e) {
  302.         if ($('input:focus').length > 0 || $('textarea:focus').length > 0 || isG != true) {
  303.             //isG = false; // Si on se trouve dans un input, une textarea ou si on n'a pas pressé la touche G, on ne peut pas faire des raccourcis clavier
  304.             return false;
  305.         }
  306.         if (e.keyCode == true) {
  307.             var key = e.keyCode;
  308.         } else {
  309.             var key = e.which;
  310.         }
  311.         //console.log("TOUCHE "+key);
  312.         switch (key) // On regarde la deuxième touche pressée par l'utilisateur
  313.         {
  314.             case 46: // Touche delete
  315.                 supprimer_ligne_tableau();
  316.                 return false;
  317.                 break;
  318.             case 83: // Touche s
  319.                 supprimer_ligne_tableau();
  320.                 return false;
  321.                 break;
  322.             case 40: // Fleche bas
  323.                 $("#dtc_commande_article_select2").select2('open');
  324.                 break;
  325.         }
  326.         //isG = true; // On réinitialise le booléen
  327.     });
  328.     $(function () {
  329.         $('.contneur-form-ajax form').on('submit', function (e) {
  330.             //alert("TEST");
  331.             var $form = $(this);
  332.             /*$.ajax({
  333.                 type: $form.attr('method'),
  334.                 url: $form.attr('action'),
  335.                 data: $form.serialize(),
  336.                 dataType: "json",
  337.                 success: function(data, status) {
  338.                     if(data.valide==1) {
  339.                         var url = window.location.href;
  340.                         var arr = url.split("/");
  341.                         var result = arr[0] + "//" + arr[2]
  342.                         if(window.location.href == result+data.url) {
  343.                             location.reload();
  344.                         }
  345.                         else {
  346.                             window.location.href = data.url;
  347.                         }
  348.                     }
  349.                     else {
  350.                         $target.html(data.rendu);
  351.                     }
  352.                 }
  353.             });
  354.             */
  355.             e.preventDefault();
  356.             return false;
  357.         });
  358.     });
  359.     $(function () {
  360.         var totalDevisHT = $('#dtc_gestioncomercialebundle_devis_prixHT');
  361.         var totalDevisTTC = $('#dtc_gestioncomercialebundle_devis_prixTTC');
  362.         var totalDevisNbPieces = $('#dtc_gestioncomercialebundle_devis_nbPieces');
  363.         $('body').on('click focus', '.input_datatable', function (event) {
  364.             $(this).next('i').css("display", "none");
  365.             $(this).removeClass("alert-danger");
  366.             //$(this).prop("readonly", false);
  367.             $(this).unbind();
  368.             $(this).donetyping(function () {
  369.                 $a = $(this);
  370.                 $a.prop("readonly", false);
  371.                 var id = $a.attr('data-id');
  372.                 var objet = $a.attr('data-objet');
  373.                 var champ = $a.attr('data-champ');
  374.                 var valeur = null;
  375.                 var articleId = $a.closest('tr').find('input[name="ids[]"]').val();
  376.                 if ($a.val() !== '') valeur = $a.val();
  377.                 var url = "{{ path('dtcfo_changer_donnes_ajax') }}";
  378.                 $.ajax({
  379.                     type: 'GET',
  380.                     url: url,
  381.                     data: "id=" + id + "&objet=" + objet + "&champ=" + champ + "&valeur=" + encodeURIComponent(valeur),
  382.                     dataType: "json",
  383.                     success: function (data, status) {
  384.                         if (data.valide == 1) {
  385.                             $a.next('i').css("display", "block");
  386.                             $a.removeClass("alert-danger-input");
  387.                             var totalHt = $a.closest('tr').find('td .totalHt');
  388.                             var prixRemise = $a.closest('tr').find('td .prixRemise');
  389.                             var margeAffichage = $a.closest('tr').find('td span.marge');
  390.                             var margeActuelleAffichage = $a.closest('tr').find('td span.margeActuelle');
  391.                             totalHt.html(data.totalHT);
  392.                             prixRemise.html(data.prixRemise);
  393.                             totalDevisHT.val(data.totalHTDevis);
  394.                             totalDevisTTC.val(data.totalTTCDevis);
  395.                             totalDevisNbPieces.val(data.totalNbPiecesDevis);
  396.                             margeAffichage.html(data.marge);
  397.                             margeActuelleAffichage.html(data.margeActuelle);
  398.                             $('#liste-articles input[name="ids[]"][value="'+articleId+'"]').closest('tr').find('.td-reference input').val(valeur);
  399.                             //console.log('data.marge : '+data.marge);
  400.                         } else {
  401.                             $a.next('i').css("display", "none");
  402.                             $a.addClass("alert-danger-input");
  403.                             $a.val($a.val() + " " + data.erreurs);
  404.                         }
  405.                     }
  406.                 });
  407.             })
  408.             return false;
  409.         });
  410.         $('body').on('change', '.caracteristiques', function (event) {
  411.             var valeur = $(this).val();
  412.             var dataArticle = $(this).data("article");
  413.             var dataAnnonce = $(this).data("annonce");
  414.             var idCarac = $(this).attr("name");
  415.             idCarac = idCarac.replace("carac_", "");
  416.             //alert("VAL["+valeur+"]dataArticle["+dataArticle+"]dataAnnonce["+dataAnnonce+"]idCarac["+idCarac+"]");
  417.             var url = Routing.generate('dtc_article_associer_caracteristiques_ajax', {dataArticle: dataArticle, dataAnnonce: dataAnnonce, idCarac: idCarac, valeur: valeur});
  418.             $.ajax({
  419.                 type: 'GET',
  420.                 url: url,
  421.                 dataType: "json",
  422.                 success: function (data, status) {
  423.                     //alert("OKOKOKOK");
  424.                 }
  425.             });
  426.             return false;
  427.         });
  428.         $('body').on('change', '.editStatutBon', function (event) {
  429.             var id = $(this).data('id');
  430.             var select = $(this);
  431.             var confirm = $(this).next('.confirm-change-select');
  432.             confirm.css("display", "none");
  433.             var url = Routing.generate('dtcfo_statut_commande_changer_ajax', {id: id, statutCommande: $(this).val()});
  434.             $.ajax({
  435.                 type: 'GET',
  436.                 url: url,
  437.                 dataType: "json",
  438.                 success: function (data, status) {
  439.                     confirm.css("display", "block");
  440.                     if (data.readonly == "1") {
  441.                         select.attr("readonly", "readonly");
  442.                         select.attr("disabled", true);
  443.                     }
  444.                 }
  445.             });
  446.             return false;
  447.         });
  448.         $('body').on('click', '.edit-modal', function (event) {
  449.             var $a = $(this);
  450.             var $target = $($a.attr('data-target'));
  451.             var $width = $a.attr('data-width');
  452.             if ($.isNumeric($width)) {
  453.                 $('.modal-dialog').css('width', $width + 'px');
  454.             }
  455.             $.ajax({
  456.                 type: 'GET',
  457.                 url: $a.attr('href'),
  458.                 dataType: "json",
  459.                 success: function (data, status) {
  460.                     $target.html(data.rendu);
  461.                     var form = $target.parent('form');
  462.                     form.attr("action", $a.attr("href"));
  463.                     $('#modal-titre').html(data.titre);
  464.                     $('#blocModal').modal('show');
  465.                     for (var i = 0, l = document.getElementsByTagName('input').length; i < l; i++) {
  466.                         if (document.getElementsByTagName('input').item(i).type == 'text' || document.getElementsByTagName('input').item(i).type == 'email' || document.getElementsByTagName('input').item(i).type == 'number') {
  467.                             document.getElementsByTagName('input').item(i).setAttribute('autocomplete', 'off');
  468.                         }
  469.                         ;
  470.                     }
  471.                     ;
  472.                     //alert($('form.formModal:input:first').attr("id"));
  473.                     $('#conteneur-modal :input:first').focus();
  474.                 }
  475.             });
  476.             return false;
  477.         });
  478.         $('body').on('click', '.open-modal-form', function (event) {
  479.             $('#modal-titre').html("Chargement <img style='width:20px;' src='/images/balle.gif'><img style='width:20px;' src='/images/balle.gif'><img style='width:20px;' src='/images/balle.gif'>");
  480.             event.preventDefault();
  481.             var $a = $(this);
  482.             var link = $a.attr('data-link');
  483.             var idFormulaire = $a.attr('data-idFormulaire');
  484.             var $a = $(this);
  485.             var $target = $($a.attr('data-target'));
  486.             var $width = $a.attr('data-width');
  487.             //console.log($width);
  488.             if ($(window).width() < $width) $width = $(window).width() - 25;
  489.             if ($.isNumeric($width)) {
  490.                 $('.modal-dialog').css('width', $width + 'px');
  491.                 $('.modal-dialog').width($width);
  492.             } else {
  493.                 $('.modal-dialog').css('width', '600px');
  494.             }
  495.             $.ajax({
  496.                 type: 'GET',
  497.                 url: link,
  498.                 dataType: "json",
  499.                 success: function (data, status) {
  500.                     if (typeof (data.width) != 'undefined') $('.modal-dialog').width(data.width);
  501.                     $('#modal-titre').html(data.titre);
  502.                     $('#modal-titre').parent(".modal-header").css("backgroundColor", "whitesmoke");
  503.                     $('#conteneur-modal').html(data.rendu);
  504.                     var form = $('#conteneur-modal').parent('form');
  505.                     form.attr("action", link);
  506.                     form.attr("id", idFormulaire);
  507.                     $('#modal-titre').html(data.titre);
  508.                     $('#blocModal').modal('show');
  509.                     if (data.link !== undefined) {
  510.                         //alert("baba");
  511.                         form.attr("action", data.link);
  512.                     }
  513.                     for (var i = 0, l = document.getElementsByTagName('input').length; i < l; i++) {
  514.                         if (document.getElementsByTagName('input').item(i).type == 'text' || document.getElementsByTagName('input').item(i).type == 'email' || document.getElementsByTagName('input').item(i).type == 'number') {
  515.                             document.getElementsByTagName('input').item(i).setAttribute('autocomplete', 'off');
  516.                         }
  517.                         ;
  518.                     }
  519.                     ;
  520.                     var isMobile = false;
  521.                     if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
  522.                         || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0, 4))) {
  523.                         isMobile = true;
  524.                     }
  525.                     if (isMobile) {
  526.                     } else {
  527.                         $('#conteneur-modal :input:first').focus();
  528.                     }
  529.                     //onglet_p
  530.                 }
  531.             });
  532.             if (!$(this).hasClass("divers")) {
  533.                 event.stopImmediatePropagation();
  534.             }
  535.         });
  536.     });
  537.     $(document).ready(function () {
  538.         /*
  539.         $('body').on('click', '#conteneurCategorieMultipleModif .folder', function(){
  540.             //alert("HELLO");
  541.             var folder = $(this);
  542.             var tr = folder.closest('tr');
  543.             var articleId = tr.attr('data-id');
  544.             if (folder.hasClass('glyphicon-folder-close')){
  545.                 folder.removeClass('glyphicon-folder-close').addClass('glyphicon-folder-open');
  546.                 tr.addClass('open');
  547.                 //Afficher les sous-composants
  548.                 $('.parent_'+articleId).each(function(){
  549.                     var parent = $(this).attr('data-parent');
  550.                     //console.log('parent : '+parent);
  551.                     if($('tr[data-id="'+parent+'"]').hasClass('open')){
  552.                         //console.log('parent open : '+parent);
  553.                         $(this).show();
  554.                     } else {
  555.                         //console.log('test non verifié')
  556.                     }
  557.                 });
  558.             } else {
  559.                 folder.addClass('glyphicon-folder-close').removeClass('glyphicon-folder-open');
  560.                 tr.removeClass('open');
  561.                 //Masquer les sous-composants
  562.                 $('.parent_'+articleId).hide();
  563.             }
  564.         });
  565.             */
  566.         $('body').on('click', '.folder', function () {
  567.             var folder = $(this);
  568.             var tr = folder.closest('tr');
  569.             var articleId = tr.attr('data-id');
  570.             //folder.removeClass('glyphicon-folder-close');
  571.             if (folder.hasClass('glyphicon-folder-close')) {
  572.                 folder.removeClass('glyphicon-folder-close').addClass('glyphicon-folder-open');
  573.                 //console.log("addClass('glyphicon-folder-open')");
  574.                 tr.addClass('open');
  575.                 //Afficher les sous-composants
  576.                 $('.parent_' + articleId).each(function () {
  577.                     var parent = $(this).attr('data-parent');
  578.                     //console.log('parent : '+parent);
  579.                     if ($('tr[data-id="' + parent + '"]').hasClass('open')) {
  580.                         //console.log('parent open : '+parent);
  581.                         $(this).show();
  582.                     } else {
  583.                         //console.log('test non verifié')
  584.                     }
  585.                 });
  586.             } else {
  587.                 folder.addClass('glyphicon-folder-close').removeClass('glyphicon-folder-open');
  588.                 tr.removeClass('open');
  589.                 //Masquer les sous-composants
  590.                 $('.parent_' + articleId).hide();
  591.             }
  592.         });
  593.         /*
  594.         $('body').on('click', '#conteneurCategorieMultipleModif .arboReplier', function(e){
  595.             e.preventDefault();
  596.             $('.glyphicon-folder-open').trigger('click');
  597.         });
  598.         $('body').on('click', '#conteneurCategorieMultipleModif .arboDeplier', function(e){
  599.             e.preventDefault();
  600.             $('.glyphicon-folder-close').trigger('click');
  601.         });
  602.             */
  603.         $('body').on('click', '.arboReplier', function (e) {
  604.             e.preventDefault();
  605.             var table = $(this).attr('href');
  606.             $('#' + table + ' .glyphicon-folder-open').trigger('click');
  607.         });
  608.         $('body').on('click', '.arboDeplier', function (e) {
  609.             e.preventDefault();
  610.             var table = $(this).attr('href');
  611.             $('#' + table + ' .glyphicon-folder-close').trigger('click');
  612.         });
  613.         $('body').on('click', '#validerModalBl', function (event) {
  614.             var typeModal = $("#conteneur-modal").children("#typeModal").val();
  615.             //alert("XXHELLO WORLD "+typeModal)
  616.             if (typeModal == "modalBl" || typeModal == "modalBp" || typeModal == "modalFactureOr") {
  617.                 var erreur = false;
  618.                 $(".article_emplacement").each(function () {
  619.                     var article_emplacement = $(this);
  620.                     var nbEmplacement = $(this).children("td").children(".nbEmplacement").val();
  621.                     //console.log(nbEmplacement);
  622.                     //alert("nbEmplacementGGG "+nbEmplacement);
  623.                     if (parseInt(nbEmplacement) > 1) {
  624.                         var id = $(this).attr("id");
  625.                         id = id.replace("article_emplacement_", "");
  626.                         var quantite_max = $(this).children("td").children(".quantiteMax").val();
  627.                         //alert(quantite_max);
  628.                         var quantite_totale = 0;
  629.                         //article_emplacement.next('.emplacement').children(".sans_changement_couleur").children(".table").find(".ligne_emplacements").children(".td_emplacement").children(".val_emplacement").each(function() {
  630.                         article_emplacement.next('.emplacement').children(".testTd").children(".table").find(".ligne_emplacements").children(".td_emplacement").children(".val_emplacement_doc").each(function () {
  631.                             //$(".valeur_emplacement_"+id).each(function() {
  632.                             //alert("GGG");
  633.                             if ($(this).val() == "") $(this).val("0");
  634.                             var id_emplacement = $(this).attr("id");
  635.                             id_emplacement = id_emplacement.replace("emplacement_", "");
  636.                             //$("#valeur_emplacement_"+id_emplacement).val($(this).val());
  637.                             quantite_totale = parseFloat(quantite_totale) + parseFloat($(this).val());
  638.                         })
  639.                         if (quantite_max != quantite_totale) {
  640.                             erreur = true;
  641.                         }
  642.                         //alert("MAXBIS : "+quantite_max+" TOTALE "+quantite_totale);
  643.                     }
  644.                 })
  645.                 //event.stopImmediatePropagation();
  646.                 //return false;
  647.                 /*$(".article_emplacement").each(function() {
  648.                     var nbEmplacement = $(this).children("td").children(".nbEmplacement").val();
  649.                     //alert("nbEmplacementGGG "+nbEmplacement);
  650.                     if(parseInt(nbEmplacement) > 1) {
  651.                         var id = $(this).attr("id");
  652.                         id = id.replace("article_emplacement_","");
  653.                         var quantite_max = $(this).children("td").children(".quantiteMax").val();
  654.                         //alert(quantite_max);
  655.                         var quantite_totale = 0;
  656.                         $(".valeur_emplacement_"+id).each(function() {
  657.                             if($(this).val() == "") $(this).val("0");
  658.                             var id_emplacement = $(this).attr("id");
  659.                             id_emplacement = id_emplacement.replace("emplacement_","");
  660.                             //$("#valeur_emplacement_"+id_emplacement).val($(this).val());
  661.                             quantite_totale = parseFloat(quantite_totale)+parseFloat($(this).val());
  662.                         })
  663.                         if(quantite_max != quantite_totale) {
  664.                             erreur = true;
  665.                         }
  666.                         //alert("MAX : "+quantite_max+" TOTALE "+quantite_totale);
  667.                     }
  668.                 })
  669.                 */
  670.                 if (erreur) {
  671.                     //alert(erreur);
  672.                     $("#conteneur_erreur_quantite_emplacement_bl").removeClass("off");
  673.                     $("#validerModalBl").prop("disabled", false);
  674.                     event.stopImmediatePropagation();
  675.                     return false;
  676.                 } else {
  677.                     $("#conteneur_erreur_quantite_emplacement_bl").addClass("off");
  678.                     //return false;
  679.                 }
  680.                 //event.stopImmediatePropagation();
  681.                 //return false;
  682.             }
  683.         });
  684.         $('body').on('click', '.formModal input[type="submit"], .formModal button[type="submit"]', function (e) {
  685.             var actionForm = $(".formModal").attr("action");
  686.             if (actionForm == "{{ path('dtc_article_multi_modif') }}") {
  687.                 if (!confirm("Etes-vous sur ?")) {
  688.                     return false;
  689.                 } else {
  690.                     $("#conteneur_message").removeClass("off");
  691.                     $("#attente").removeClass("off");
  692.                 }
  693.             }
  694.             e.preventDefault();
  695.             $(this).prop('disabled', true);
  696.             $('.processing').removeClass("off");
  697.             $(this).closest('form').submit();
  698.         });
  699.         $('body').on('click', '#afficherValorisation', function (e) {
  700.             $(this).prop('disabled', false);
  701.         });
  702.         $('#blocModal').on('hide.bs.modal', function () {
  703.             /*
  704.             var typeModal = $("#conteneur-modal").children("#typeModal").val();
  705.             if(typeModal == "emplacement") {
  706.                 //alert("TOTO");
  707.                 var erreur = false;
  708.                 $(".article_emplacement").each(function() {
  709.                     var id = $(this).attr("id");
  710.                     id = id.replace("article_emplacement_","");
  711.                     var quantite_max = $(this).children(".quantiteMax").html();
  712.                     //alert(quantite_max);
  713.                     var quantite_totale = 0;
  714.                     $(".valeur_emplacement_"+id).each(function() {
  715.                         var id_emplacement = $(this).attr("id");
  716.                         id_emplacement = id_emplacement.replace("emplacement_","");
  717.                         $("#valeur_emplacement_"+id_emplacement).val($(this).val());
  718.                         quantite_totale = parseFloat(quantite_totale)+parseFloat($(this).val());
  719.                     })
  720.                     if(quantite_max != quantite_totale) {
  721.                         erreur = true;
  722.                     }
  723.                     //alert("MAX : "+quantite_max+" TOTALE "+quantite_totale);
  724.                 })
  725.                 if(erreur) {
  726.                     $("#conteneur_erreur_quantite_emplacement").removeClass("off");
  727.                     return false;
  728.                 }
  729.                 else {
  730.                     $("#conteneur_erreur_quantite_emplacement").addClass("off");
  731.                     //return false;
  732.                 }
  733.                 //
  734.             }
  735.             */
  736.         });
  737.         $('#blocModal').on('hidden.bs.modal', function () {
  738.             $('.modal-dialog').css('width', '600px');
  739.             $('#conteneur-modal').html('');
  740.             $('#blocModal').children(".modal-dialog").children(".modal-content").removeClass("modal_rouge");
  741.         })
  742.         $(function () {
  743.             // Javascript to enable link to tab
  744.             var url = document.location.toString();
  745.             if (url.match('tab=')) {
  746.                 $('.nav-tabs a[href=#' + url.split('tab=')[1] + ']').tab('show');
  747.             }
  748.             if (url.match('#')) {
  749.                 $('.nav-tabs a[href=#' + url.split('#')[1] + ']').tab('show');
  750.             }
  751.             // Change hash for page-reload
  752.             $('a[data-toggle="tab"]').on('show.bs.tab', function (e) {
  753.                 //window.location.hash = e.target.hash;
  754.             });
  755.         });
  756.         $('body').on('click', '.liste-categorie li span.fa', function (event) {
  757.             var bouton = $(this);
  758.             var c = $(this).parent('li');
  759.             if (c.children('.enfants').html() != '') {
  760.                 var enfants = c.children('.enfants');
  761.                 if (enfants.css("display") == "block") {
  762.                     enfants.css("display", "none");
  763.                     bouton.removeClass("fa-minus-circle");
  764.                     bouton.addClass("fa-plus-circle");
  765.                 } else {
  766.                     enfants.css("display", "block");
  767.                     bouton.removeClass("fa-plus-circle");
  768.                     bouton.addClass("fa-minus-circle");
  769.                 }
  770.             } else {
  771.                 var id = c.attr("id").replace("li-", "");
  772.                 var id_article = c.parent("ul").attr("id").replace("art-", "");
  773.                 //var url = "{{ path('dtc_categorie_checkbox') }}";
  774.                 var url = bouton.data("target");
  775.                 var objet = bouton.data("objet");
  776.                 $.ajax({
  777.                     type: "GET",
  778.                     url: url,
  779.                     data: 'id=' + id + '&' + objet + '=' + id_article,
  780.                     dataType: "json",
  781.                     error: function (request, status, errorThrown) {
  782.                         //console.log('Une erreur est survenue');
  783.                     },
  784.                     success: function (data) {
  785.                         c.children('.enfants').append(data.rendu);
  786.                         bouton.removeClass("fa-plus-circle");
  787.                         bouton.addClass("fa-minus-circle");
  788.                     }
  789.                 });
  790.             }
  791.         });
  792.         $('body').on('click', '.liste-categorie-client li span.fa', function (event) {
  793.             var bouton = $(this);
  794.             var c = $(this).parent('li');
  795.             if (c.children('.enfants').html() != '') {
  796.                 var enfants = c.children('.enfants');
  797.                 if (enfants.css("display") == "block") {
  798.                     enfants.css("display", "none");
  799.                     bouton.removeClass("fa-minus-circle");
  800.                     bouton.addClass("fa-plus-circle");
  801.                 } else {
  802.                     enfants.css("display", "block");
  803.                     bouton.removeClass("fa-plus-circle");
  804.                     bouton.addClass("fa-minus-circle");
  805.                 }
  806.             } else {
  807.                 var id = c.attr("id").replace("li-", "");
  808.                 var id_article = c.parent("ul").attr("id").replace("art-", "");
  809.                 //var url = "{{ path('dtc_client_categorie_checkbox') }}";
  810.                 var url = bouton.data("target");
  811.                 var objet = bouton.data("objet");
  812.                 $.ajax({
  813.                     type: "GET",
  814.                     url: url,
  815.                     data: 'id=' + id + '&' + objet + '=' + id_article,
  816.                     dataType: "json",
  817.                     error: function (request, status, errorThrown) {
  818.                         //console.log('Une erreur est survenue');
  819.                     },
  820.                     success: function (data) {
  821.                         c.children('.enfants').append(data.rendu);
  822.                         bouton.removeClass("fa-plus-circle");
  823.                         bouton.addClass("fa-minus-circle");
  824.                     }
  825.                 });
  826.             }
  827.         });
  828.         $('body').on('click', '.edit-statut-objet', function (event) {
  829.             var url = $(this).attr("href");
  830.             var c = $(this);
  831.             $.ajax({
  832.                 type: "GET",
  833.                 url: url,
  834.                 //data: 'id='+id,
  835.                 dataType: "json",
  836.                 error: function (request, status, errorThrown) {
  837.                     //console.log('Une erreur est survenue');
  838.                 },
  839.                 success: function (data) {
  840.                     var classSauvegarde = c.hasClass("fa-check");
  841.                     if (data.multiple == 1) {
  842.                         var check = c.closest('tbody').find('.fa-check');
  843.                         check.each(function () {
  844.                             $(this).removeClass("fa-check")
  845.                                 .removeClass("text-success")
  846.                                 .addClass("fa-times")
  847.                                 .addClass("text-danger");
  848.                         });
  849.                     }
  850.                     if (classSauvegarde) {
  851.                         c.removeClass("fa-check");
  852.                         c.removeClass("text-success");
  853.                         c.addClass("fa-times");
  854.                         c.addClass("text-danger");
  855.                     } else {
  856.                         c.addClass("fa-check");
  857.                         c.addClass("text-success");
  858.                         c.removeClass("fa-times");
  859.                         c.removeClass("text-danger");
  860.                     }
  861.                 }
  862.             });
  863.             return false;
  864.         });
  865.         $('body').on('click', '.nav', function () {
  866.             $(document).resize();
  867.         });
  868.         $('body').on('click', '.statut_remise_marque span', function (event) {
  869.             var c = $(this);
  870.             var idRemise = c.attr('data-remise');
  871.             var idMarque = c.attr('data-marque');
  872.             var url = Routing.generate('dtc_remise_marque_article_edit', {remise: idRemise, marque: idMarque});
  873.             $.ajax({
  874.                 type: "GET",
  875.                 url: url,
  876.                 dataType: "json",
  877.                 error: function (request, status, errorThrown) {
  878.                     //console.log('Une erreur est survenue');
  879.                 },
  880.                 success: function (data) {
  881.                     if (c.hasClass("fa-check")) {
  882.                         c.removeClass("fa-check");
  883.                         c.removeClass("text-success");
  884.                         c.addClass("fa-times");
  885.                         c.addClass("text-danger");
  886.                     } else {
  887.                         c.addClass("fa-check");
  888.                         c.addClass("text-success");
  889.                         c.removeClass("fa-times");
  890.                         c.removeClass("text-danger");
  891.                     }
  892.                 }
  893.             });
  894.             return false;
  895.         });
  896.     })
  897.     function couleurActvite(row, data, index) {
  898.         var etatActivite = $("td:last-child", row).children(".etatActivite").val();
  899.         if (etatActivite == "0") {
  900.             $(row).addClass("danger");
  901.         }
  902.     }
  903.     function couleurCondAchat(row, data, index) {
  904.         var typePrixNet = $("td:last-child", row).children(".typePrixNet").val();
  905.         if (typePrixNet == "1") {
  906.             $(row).addClass("info");
  907.         }
  908.     }
  909.     function couleurArticle(row, data, index) {
  910.         var reference = $("td.colonne_reference", row).html();
  911.         if (reference == '') {
  912.             $(row).addClass("danger");
  913.         }
  914.     }
  915.     function couleurCommandeAchatSimplifie(row, data, index) {
  916.         var couleur = $("td:first-child", row).children(".couleurSimplifie").val();
  917.         if (couleur != "") {
  918.             $(row).css("background", couleur);
  919.         }
  920.     }
  921.     function couleurCommandeAchat2(row, data, index) {
  922.         var retard = $("td:last-child", row).children(".retard").val();
  923.         if (retard == 0) {
  924.             $(row).addClass("ligne_vert");
  925.         } else if (retard == 1) {
  926.             $(row).addClass("ligne_jaune");
  927.         } else if (retard > 1) {
  928.             $(row).addClass("ligne_rouge");
  929.         }
  930.     }
  931.     function couleurCommandeAchat(row, data, index) {
  932.         var couleur = $("td:last-child", row).children(".couleur").val();
  933.         if (couleur != "") {
  934.             $(row).css("background", couleur);
  935.         }
  936.     }
  937.     function couleurACommander(row, data, index) {
  938.         var couleur = $("td", row).children(".couleur").val();
  939.         if (couleur != "") {
  940.             $(row).css("background", couleur);
  941.         }
  942.     }
  943.     function couleurBL(row, data, index) {
  944.         var facturer = $("td:last-child", row).children(".facturer").val();
  945.         if (facturer == "1") {
  946.             $(row).addClass("success");
  947.         } else {
  948.             $(row).addClass("warning ");
  949.         }
  950.     }
  951.     function couleurFacture(row, data, index) {
  952.         var facturer = $("td:last-child", row).children(".facturer").val();
  953.         if (facturer == "1") {
  954.             $(row).addClass("success");
  955.         } else {
  956.             $(row).addClass("warning ");
  957.         }
  958.     }
  959.     function couleurCommandeBloque(row, data, index) {
  960.         if($(row).find('input[name="aBloquer"]').length) {
  961.             if($(row).find('input[name="aBloquer"]').val()=="1") {
  962.                 $(row).addClass("danger ");
  963.                 $(row).find('input[name="dataTables[actions][]"]').addClass("off");
  964.             }
  965.         }
  966.     }
  967.     function couleurRelance(row, data, index) {
  968.         var delaiRelance = $("td:last-child", row).children(".delaiRelance").val();
  969.         // Délai dépassé
  970.         if (delaiRelance == "0") {
  971.             $(row).addClass("ligne_noir");
  972.         }
  973.         // Ce jour
  974.         else if (delaiRelance == "1") {
  975.             $(row).addClass("ligne_rouge");
  976.         }
  977.         // Demain
  978.         else if (delaiRelance == "2") {
  979.             $(row).addClass("ligne_orange");
  980.         }
  981.         // Dans la semaine
  982.         else if (delaiRelance == "3") {
  983.             $(row).addClass("ligne_jaune");
  984.         }
  985.         // Dans deux semaines
  986.         else if (delaiRelance == "4") {
  987.             $(row).addClass("ligne_vert");
  988.         }
  989.     }
  990.     function couleurAnomalie(row, data, index) {
  991.         var couleur = $("td:last-child", row).children(".couleur_anomalie").val();
  992.         if (couleur != "") {
  993.             $(row).css("backgroundColor", couleur);
  994.         }
  995.     }
  996.     function couleurCommande(row, data, index) {
  997.         var estPayee = $("td:last-child", row).children(".estPayee").val();
  998.         var encadre = $("td:last-child", row).children(".encadre").val();
  999.         var etatCommande = $("td:last-child", row).children(".etatCommande").val();
  1000.         if (etatCommande == "-2") {
  1001.             $(row).addClass("devis_gagne");
  1002.         } else if (etatCommande == "-1") {
  1003.             $(row).addClass("devis_perdu");
  1004.         } else if (etatCommande == "2") {
  1005.             if (estPayee == "1")
  1006.                 $(row).addClass("success");
  1007.             else
  1008.                 $(row).addClass("success-strip");
  1009.         } else if (etatCommande == "1") {
  1010.             if (estPayee == "1")
  1011.                 $(row).addClass("warning");
  1012.             else
  1013.                 $(row).addClass("warning-strip");
  1014.         } else if (etatCommande == "0") {
  1015.             if (estPayee == "1")
  1016.                 $(row).addClass("danger");
  1017.             else
  1018.                 $(row).addClass("danger-strip");
  1019.         }
  1020.         if (encadre == 1) {
  1021.             $(row).addClass("encadre_rouge");
  1022.         }
  1023.     }
  1024.     function couleurFabrication(row, data, index) {
  1025.         //alert("HELLO");
  1026.         //console.log(row);
  1027.         var fabricable = $("td:last-child", row).children(".fabriquable").val();
  1028.         var statut = $("td:last-child", row).children(".statut").val();
  1029.         //alert("STATUT:"+statut);
  1030.         //alert("FABRICABLE:"+fabricable);
  1031.         if (statut == 1 || statut == 2 || statut == 3)
  1032.             if (fabricable == 2) {
  1033.                 $(row).addClass("success");
  1034.             } else if (fabricable == 1) {
  1035.                 $(row).addClass("warning");
  1036.             } else {
  1037.                 $(row).addClass("danger");
  1038.             }
  1039.     }
  1040.     function navigationFleche(api) {
  1041.         $(".dataTables_filter").children("label").children("input").filter(':visible:first').focus();
  1042.         //console.log(api);
  1043.         //console.log(api.selector);
  1044.         var sel = $(api.selector);
  1045.         var bloc = sel.parent().parent();
  1046.         var sticky = '<div class="sticky"><span style="" class="off _fixed scroll left-scroll fa fa-arrow-circle-left"></span><span style="" class="off _fixed scroll right-scroll fa fa-arrow-circle-right droite"></span> </div>';
  1047.         bloc.prepend(sticky);
  1048.         //alert(sel.parent().parent().html());
  1049.         var blocScroll = $("#dta-contacts_wrapper");
  1050.         var blocScroll = sel.parent();
  1051.         blocScroll.scrollLeft(0);
  1052.         //alert(blocScroll.attr("id"));
  1053.         var scrollWidth = blocScroll.prop('scrollWidth');
  1054.         var clientWidth = blocScroll.prop('clientWidth');
  1055.         var activerBoutons = true;
  1056.         if (blocScroll.prop('scrollWidth') > blocScroll.prop('clientWidth')) {
  1057.             //alert("SCROLL");
  1058.             bloc.children(".sticky").css("display", "block");
  1059.         } else {
  1060.             //alert("PAS SCROLL "+blocScroll.prop('scrollWidth')+" "+blocScroll.prop('clientWidth'));
  1061.             //alert(blocScroll.html());
  1062.             activerBoutons = false;
  1063.             bloc.children(".sticky").css("display", "none");
  1064.         }
  1065.         bloc.children(".sticky").css("display", "block");
  1066.         //var activerBoutons = true;
  1067.         bloc.hover(
  1068.             function () {
  1069.                 if (activerBoutons) {
  1070.                     bloc.children(".sticky").css("display", "block");
  1071.                     var scrollWidth = blocScroll.prop('scrollWidth');
  1072.                     var clientWidth = blocScroll.prop('clientWidth');
  1073.                     var scrollActuel = blocScroll.scrollLeft();
  1074.                     //console.log("SCROLL "+scrollActuel);
  1075.                     //console.log("scrollWidth:"+scrollWidth);
  1076.                     //console.log("clientWidth:"+clientWidth);
  1077.                     if (scrollActuel > 0) bloc.children(".sticky").children(".left-scroll").removeClass("off");
  1078.                     bloc.children(".sticky").children(".right-scroll").removeClass("off");
  1079.                 }
  1080.             },
  1081.             function () {
  1082.                 if (activerBoutons) {
  1083.                     bloc.children(".sticky").children(".left-scroll").addClass("off");
  1084.                     bloc.children(".sticky").children(".right-scroll").addClass("off");
  1085.                 }
  1086.             }
  1087.         );
  1088.     }
  1089. </script>
  1090. <style>
  1091.     .dataTables_multiple {
  1092.         display: none;
  1093.     }
  1094. </style>