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.     .couleurInterfaceSimplifie{
  213.         background : linear-gradient(45deg,#fff,#cececedb) !important
  214.     }
  215.     {{parametrage.css|raw}}
  216. </style>
  217. <script>
  218.     function modal(message, titre, couleur = '') {
  219.         //alert("TEST "+couleur);
  220.         var modal = $("#blocModal");
  221.         $("#modal-titre").html(titre);
  222.         var contenu = ' <div class="modal-body ' + couleur + '">' +
  223.             ' ' + message + ' ' +
  224.             '</div>' +
  225.             '<div class="modal-footer">' +
  226.             '    <button type="button" class="btn btn-default" data-dismiss="modal">Fermer</button>' +
  227.             '</div>'
  228.         ;
  229.         $("#conteneur-modal").html(contenu);
  230.         $('#blocModal').children(".modal-dialog").children(".modal-content").removeClass("modal_rouge");
  231.         $('#blocModal').children(".modal-dialog").children(".modal-content").addClass(couleur);
  232.         $('#blocModal').modal('show');
  233.     }
  234.     $(document).ready(function () {
  235.         /*
  236.         $('body').on('click', 'button[value="valider"]', function(e){
  237.             e.preventDefault();
  238.             var checkbox = $('table tbody input.checkboxArticleCommande');
  239.             var checked = $('table tbody input.checkboxArticleCommande:checked');
  240.             var message = 'Il reste des lignes à contrôler!';
  241.             console.log(checkbox.length + '/' + checked.length );
  242.             if(checkbox.length != checked.length){
  243.                 modal(message , 'Attention');
  244.             } else {
  245.                 //return true;
  246.                 var form = $(this).closest('form');
  247.                 var input = $("<input>")
  248.                .attr("type", "hidden")
  249.                .attr("name", "action").val("valider");
  250.                 form.append($(input));
  251.                 form.submit();
  252.             }
  253.         });
  254.         */
  255.         $('body').on('click', '.creerMvtStock', function (e) {
  256.             var checkbox = $('table tbody input.checkboxCommentaire');
  257.             var checked = $('table tbody input.checkboxCommentaire:checked');
  258.             var message = 'Il reste des commentaires à contrôler!';
  259.             if (checkbox.length != checked.length) {
  260.                 modal(message, 'Attention');
  261.                 e.stopImmediatePropagation();
  262.                 return false;
  263.             } else {
  264.                 return true;
  265.             }
  266.         });
  267.         $('body').on('click', '.right-scroll', function (event) {
  268.             var plage_scroll = $(this).parent().parent().children(".dataTables_wrapper").scrollLeft() + 100;
  269.             $(this).parent().parent().children(".dataTables_wrapper").scrollLeft(plage_scroll);
  270.             $(this).parent().children(".left-scroll").removeClass("off");
  271.             var bloc = $(this).parent().parent().children(".dataTables_wrapper");
  272.             var maxScrollLeft = bloc.prop('scrollWidth') - bloc.prop('clientWidth');
  273.             var ScrollLeftActuel = $(this).parent().parent().children(".dataTables_wrapper").scrollLeft();
  274.             if (ScrollLeftActuel >= maxScrollLeft) {
  275.                 $(this).addClass("off");
  276.             }
  277.         })
  278.         $('body').on('click', '.left-scroll', function (event) {
  279.             var plage_scroll = $(this).parent().parent().children(".dataTables_wrapper").scrollLeft() - 100;
  280.             $(this).parent().parent().children(".dataTables_wrapper").scrollLeft(plage_scroll);
  281.             $(this).parent().children(".right-scroll").removeClass("off");
  282.             if ($(this).parent().parent().children(".dataTables_wrapper").scrollLeft() == 0) {
  283.                 $(this).addClass("off");
  284.             }
  285.         })
  286.     })
  287.     $(function () {
  288.         $('[data-toggle="tooltip"]').tooltip({html: true});
  289.         $('[data-tooltip="tooltip"]').tooltip({html: true});
  290.     })
  291.     function isInteger(x) {
  292.         return x % 1 === 0;
  293.     }
  294.     function supprimer_ligne_tableau() {
  295.         $('#liste-articles').children('tbody').children('tr.selected').children('td.position-12').children('.supprimer-row-article').click();
  296.         return false;
  297.     }
  298.     $.fn.modal.Constructor.prototype.enforceFocus = function () {
  299.     };
  300.     var isG = true;
  301.     $(document).keydown(function (e) {
  302.         if (e.which == 71 || e.keyCode == 71) {
  303.             isG = true; // si la touche G a été pressée
  304.         }
  305.     }).keyup(function (e) {
  306.         if ($('input:focus').length > 0 || $('textarea:focus').length > 0 || isG != true) {
  307.             //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
  308.             return false;
  309.         }
  310.         if (e.keyCode == true) {
  311.             var key = e.keyCode;
  312.         } else {
  313.             var key = e.which;
  314.         }
  315.         //console.log("TOUCHE "+key);
  316.         switch (key) // On regarde la deuxième touche pressée par l'utilisateur
  317.         {
  318.             case 46: // Touche delete
  319.                 supprimer_ligne_tableau();
  320.                 return false;
  321.                 break;
  322.             case 83: // Touche s
  323.                 supprimer_ligne_tableau();
  324.                 return false;
  325.                 break;
  326.             case 40: // Fleche bas
  327.                 $("#dtc_commande_article_select2").select2('open');
  328.                 break;
  329.         }
  330.         //isG = true; // On réinitialise le booléen
  331.     });
  332.     $(function () {
  333.         $('.contneur-form-ajax form').on('submit', function (e) {
  334.             //alert("TEST");
  335.             var $form = $(this);
  336.             /*$.ajax({
  337.                 type: $form.attr('method'),
  338.                 url: $form.attr('action'),
  339.                 data: $form.serialize(),
  340.                 dataType: "json",
  341.                 success: function(data, status) {
  342.                     if(data.valide==1) {
  343.                         var url = window.location.href;
  344.                         var arr = url.split("/");
  345.                         var result = arr[0] + "//" + arr[2]
  346.                         if(window.location.href == result+data.url) {
  347.                             location.reload();
  348.                         }
  349.                         else {
  350.                             window.location.href = data.url;
  351.                         }
  352.                     }
  353.                     else {
  354.                         $target.html(data.rendu);
  355.                     }
  356.                 }
  357.             });
  358.             */
  359.             e.preventDefault();
  360.             return false;
  361.         });
  362.     });
  363.     $(function () {
  364.         var totalDevisHT = $('#dtc_gestioncomercialebundle_devis_prixHT');
  365.         var totalDevisTTC = $('#dtc_gestioncomercialebundle_devis_prixTTC');
  366.         var totalDevisNbPieces = $('#dtc_gestioncomercialebundle_devis_nbPieces');
  367.         $('body').on('click focus', '.input_datatable', function (event) {
  368.             $(this).next('i').css("display", "none");
  369.             $(this).removeClass("alert-danger");
  370.             //$(this).prop("readonly", false);
  371.             $(this).unbind();
  372.             $(this).donetyping(function () {
  373.                 $a = $(this);
  374.                 $a.prop("readonly", false);
  375.                 var id = $a.attr('data-id');
  376.                 var objet = $a.attr('data-objet');
  377.                 var champ = $a.attr('data-champ');
  378.                 var valeur = null;
  379.                 if ($a.val() !== '') valeur = $a.val();
  380.                 var url = "{{ path('dtcfo_changer_donnes_ajax') }}";
  381.                 $.ajax({
  382.                     type: 'GET',
  383.                     url: url,
  384.                     data: "id=" + id + "&objet=" + objet + "&champ=" + champ + "&valeur=" + encodeURIComponent(valeur),
  385.                     dataType: "json",
  386.                     success: function (data, status) {
  387.                         if (data.valide == 1) {
  388.                             $a.next('i').css("display", "block");
  389.                             $a.removeClass("alert-danger-input");
  390.                             var totalHt = $a.closest('tr').find('td .totalHt');
  391.                             var prixRemise = $a.closest('tr').find('td .prixRemise');
  392.                             var margeAffichage = $a.closest('tr').find('td span.marge');
  393.                             var margeActuelleAffichage = $a.closest('tr').find('td span.margeActuelle');
  394.                             totalHt.html(data.totalHT);
  395.                             prixRemise.html(data.prixRemise);
  396.                             totalDevisHT.val(data.totalHTDevis);
  397.                             totalDevisTTC.val(data.totalTTCDevis);
  398.                             totalDevisNbPieces.val(data.totalNbPiecesDevis);
  399.                             margeAffichage.html(data.marge);
  400.                             margeActuelleAffichage.html(data.margeActuelle);
  401.                             //console.log('data.marge : '+data.marge);
  402.                         } else {
  403.                             $a.next('i').css("display", "none");
  404.                             $a.addClass("alert-danger-input");
  405.                             $a.val($a.val() + " " + data.erreurs);
  406.                         }
  407.                     }
  408.                 });
  409.             })
  410.             return false;
  411.         });
  412.         $('body').on('change', '.caracteristiques', function (event) {
  413.             var valeur = $(this).val();
  414.             var dataArticle = $(this).data("article");
  415.             var dataAnnonce = $(this).data("annonce");
  416.             var idCarac = $(this).attr("name");
  417.             idCarac = idCarac.replace("carac_", "");
  418.             //alert("VAL["+valeur+"]dataArticle["+dataArticle+"]dataAnnonce["+dataAnnonce+"]idCarac["+idCarac+"]");
  419.             var url = Routing.generate('dtc_article_associer_caracteristiques_ajax', {dataArticle: dataArticle, dataAnnonce: dataAnnonce, idCarac: idCarac, valeur: valeur});
  420.             $.ajax({
  421.                 type: 'GET',
  422.                 url: url,
  423.                 dataType: "json",
  424.                 success: function (data, status) {
  425.                     //alert("OKOKOKOK");
  426.                 }
  427.             });
  428.             return false;
  429.         });
  430.         $('body').on('change', '.editStatutBon', function (event) {
  431.             var id = $(this).data('id');
  432.             var select = $(this);
  433.             var confirm = $(this).next('.confirm-change-select');
  434.             confirm.css("display", "none");
  435.             var url = Routing.generate('dtcfo_statut_commande_changer_ajax', {id: id, statutCommande: $(this).val()});
  436.             $.ajax({
  437.                 type: 'GET',
  438.                 url: url,
  439.                 dataType: "json",
  440.                 success: function (data, status) {
  441.                     confirm.css("display", "block");
  442.                     if (data.readonly == "1") {
  443.                         select.attr("readonly", "readonly");
  444.                         select.attr("disabled", true);
  445.                     }
  446.                 }
  447.             });
  448.             return false;
  449.         });
  450.         $('body').on('click', '.edit-modal', function (event) {
  451.             var $a = $(this);
  452.             var $target = $($a.attr('data-target'));
  453.             var $width = $a.attr('data-width');
  454.             if ($.isNumeric($width)) {
  455.                 $('.modal-dialog').css('width', $width + 'px');
  456.             }
  457.             $.ajax({
  458.                 type: 'GET',
  459.                 url: $a.attr('href'),
  460.                 dataType: "json",
  461.                 success: function (data, status) {
  462.                     $target.html(data.rendu);
  463.                     var form = $target.parent('form');
  464.                     form.attr("action", $a.attr("href"));
  465.                     $('#modal-titre').html(data.titre);
  466.                     $('#blocModal').modal('show');
  467.                     for (var i = 0, l = document.getElementsByTagName('input').length; i < l; i++) {
  468.                         if (document.getElementsByTagName('input').item(i).type == 'text' || document.getElementsByTagName('input').item(i).type == 'email' || document.getElementsByTagName('input').item(i).type == 'number') {
  469.                             document.getElementsByTagName('input').item(i).setAttribute('autocomplete', 'off');
  470.                         }
  471.                         ;
  472.                     }
  473.                     ;
  474.                     //alert($('form.formModal:input:first').attr("id"));
  475.                     $('#conteneur-modal :input:first').focus();
  476.                 }
  477.             });
  478.             return false;
  479.         });
  480.         $('body').on('click', '.open-modal-form', function (event) {
  481.             $('#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'>");
  482.             event.preventDefault();
  483.             var $a = $(this);
  484.             var link = $a.attr('data-link');
  485.             var idFormulaire = $a.attr('data-idFormulaire');
  486.             var $a = $(this);
  487.             var $target = $($a.attr('data-target'));
  488.             var $width = $a.attr('data-width');
  489.             //console.log($width);
  490.             if ($(window).width() < $width) $width = $(window).width() - 25;
  491.             if ($.isNumeric($width)) {
  492.                 $('.modal-dialog').css('width', $width + 'px');
  493.                 $('.modal-dialog').width($width);
  494.             } else {
  495.                 $('.modal-dialog').css('width', '600px');
  496.             }
  497.             $.ajax({
  498.                 type: 'GET',
  499.                 url: link,
  500.                 dataType: "json",
  501.                 success: function (data, status) {
  502.                     if (typeof (data.width) != 'undefined') $('.modal-dialog').width(data.width);
  503.                     $('#modal-titre').html(data.titre);
  504.                     $('#modal-titre').parent(".modal-header").css("backgroundColor", "whitesmoke");
  505.                     $('#conteneur-modal').html(data.rendu);
  506.                     var form = $('#conteneur-modal').parent('form');
  507.                     form.attr("action", link);
  508.                     form.attr("id", idFormulaire);
  509.                     $('#modal-titre').html(data.titre);
  510.                     $('#blocModal').modal('show');
  511.                     if (data.link !== undefined) {
  512.                         //alert("baba");
  513.                         form.attr("action", data.link);
  514.                     }
  515.                     for (var i = 0, l = document.getElementsByTagName('input').length; i < l; i++) {
  516.                         if (document.getElementsByTagName('input').item(i).type == 'text' || document.getElementsByTagName('input').item(i).type == 'email' || document.getElementsByTagName('input').item(i).type == 'number') {
  517.                             document.getElementsByTagName('input').item(i).setAttribute('autocomplete', 'off');
  518.                         }
  519.                         ;
  520.                     }
  521.                     ;
  522.                     var isMobile = false;
  523.                     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)
  524.                         || /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))) {
  525.                         isMobile = true;
  526.                     }
  527.                     if (isMobile) {
  528.                     } else {
  529.                         $('#conteneur-modal :input:first').focus();
  530.                     }
  531.                     //onglet_p
  532.                 }
  533.             });
  534.             if (!$(this).hasClass("divers")) {
  535.                 event.stopImmediatePropagation();
  536.             }
  537.         });
  538.     });
  539.     $(document).ready(function () {
  540.         /*
  541.         $('body').on('click', '#conteneurCategorieMultipleModif .folder', function(){
  542.             //alert("HELLO");
  543.             var folder = $(this);
  544.             var tr = folder.closest('tr');
  545.             var articleId = tr.attr('data-id');
  546.             if (folder.hasClass('glyphicon-folder-close')){
  547.                 folder.removeClass('glyphicon-folder-close').addClass('glyphicon-folder-open');
  548.                 tr.addClass('open');
  549.                 //Afficher les sous-composants
  550.                 $('.parent_'+articleId).each(function(){
  551.                     var parent = $(this).attr('data-parent');
  552.                     //console.log('parent : '+parent);
  553.                     if($('tr[data-id="'+parent+'"]').hasClass('open')){
  554.                         //console.log('parent open : '+parent);
  555.                         $(this).show();
  556.                     } else {
  557.                         //console.log('test non verifié')
  558.                     }
  559.                 });
  560.             } else {
  561.                 folder.addClass('glyphicon-folder-close').removeClass('glyphicon-folder-open');
  562.                 tr.removeClass('open');
  563.                 //Masquer les sous-composants
  564.                 $('.parent_'+articleId).hide();
  565.             }
  566.         });
  567.             */
  568.         $('body').on('click', '.folder', function () {
  569.             var folder = $(this);
  570.             var tr = folder.closest('tr');
  571.             var articleId = tr.attr('data-id');
  572.             //folder.removeClass('glyphicon-folder-close');
  573.             if (folder.hasClass('glyphicon-folder-close')) {
  574.                 folder.removeClass('glyphicon-folder-close').addClass('glyphicon-folder-open');
  575.                 //console.log("addClass('glyphicon-folder-open')");
  576.                 tr.addClass('open');
  577.                 //Afficher les sous-composants
  578.                 $('.parent_' + articleId).each(function () {
  579.                     var parent = $(this).attr('data-parent');
  580.                     //console.log('parent : '+parent);
  581.                     if ($('tr[data-id="' + parent + '"]').hasClass('open')) {
  582.                         //console.log('parent open : '+parent);
  583.                         $(this).show();
  584.                     } else {
  585.                         //console.log('test non verifié')
  586.                     }
  587.                 });
  588.             } else {
  589.                 folder.addClass('glyphicon-folder-close').removeClass('glyphicon-folder-open');
  590.                 tr.removeClass('open');
  591.                 //Masquer les sous-composants
  592.                 $('.parent_' + articleId).hide();
  593.             }
  594.         });
  595.         /*
  596.         $('body').on('click', '#conteneurCategorieMultipleModif .arboReplier', function(e){
  597.             e.preventDefault();
  598.             $('.glyphicon-folder-open').trigger('click');
  599.         });
  600.         $('body').on('click', '#conteneurCategorieMultipleModif .arboDeplier', function(e){
  601.             e.preventDefault();
  602.             $('.glyphicon-folder-close').trigger('click');
  603.         });
  604.             */
  605.         $('body').on('click', '.arboReplier', function (e) {
  606.             e.preventDefault();
  607.             var table = $(this).attr('href');
  608.             $('#' + table + ' .glyphicon-folder-open').trigger('click');
  609.         });
  610.         $('body').on('click', '.arboDeplier', function (e) {
  611.             e.preventDefault();
  612.             var table = $(this).attr('href');
  613.             $('#' + table + ' .glyphicon-folder-close').trigger('click');
  614.         });
  615.         $('body').on('click', '#validerModalBl', function (event) {
  616.             var typeModal = $("#conteneur-modal").children("#typeModal").val();
  617.             //alert("XXHELLO WORLD "+typeModal)
  618.             if (typeModal == "modalBl" || typeModal == "modalBp" || typeModal == "modalFactureOr") {
  619.                 var erreur = false;
  620.                 $(".article_emplacement").each(function () {
  621.                     var article_emplacement = $(this);
  622.                     var nbEmplacement = $(this).children("td").children(".nbEmplacement").val();
  623.                     //console.log(nbEmplacement);
  624.                     //alert("nbEmplacementGGG "+nbEmplacement);
  625.                     if (parseInt(nbEmplacement) > 1) {
  626.                         var id = $(this).attr("id");
  627.                         id = id.replace("article_emplacement_", "");
  628.                         var quantite_max = $(this).children("td").children(".quantiteMax").val();
  629.                         //alert(quantite_max);
  630.                         var quantite_totale = 0;
  631.                         //article_emplacement.next('.emplacement').children(".sans_changement_couleur").children(".table").find(".ligne_emplacements").children(".td_emplacement").children(".val_emplacement").each(function() {
  632.                         article_emplacement.next('.emplacement').children(".testTd").children(".table").find(".ligne_emplacements").children(".td_emplacement").children(".val_emplacement_doc").each(function () {
  633.                             //$(".valeur_emplacement_"+id).each(function() {
  634.                             //alert("GGG");
  635.                             if ($(this).val() == "") $(this).val("0");
  636.                             var id_emplacement = $(this).attr("id");
  637.                             id_emplacement = id_emplacement.replace("emplacement_", "");
  638.                             //$("#valeur_emplacement_"+id_emplacement).val($(this).val());
  639.                             quantite_totale = parseFloat(quantite_totale) + parseFloat($(this).val());
  640.                         })
  641.                         if (quantite_max != quantite_totale) {
  642.                             erreur = true;
  643.                         }
  644.                         //alert("MAXBIS : "+quantite_max+" TOTALE "+quantite_totale);
  645.                     }
  646.                 })
  647.                 //event.stopImmediatePropagation();
  648.                 //return false;
  649.                 /*$(".article_emplacement").each(function() {
  650.                     var nbEmplacement = $(this).children("td").children(".nbEmplacement").val();
  651.                     //alert("nbEmplacementGGG "+nbEmplacement);
  652.                     if(parseInt(nbEmplacement) > 1) {
  653.                         var id = $(this).attr("id");
  654.                         id = id.replace("article_emplacement_","");
  655.                         var quantite_max = $(this).children("td").children(".quantiteMax").val();
  656.                         //alert(quantite_max);
  657.                         var quantite_totale = 0;
  658.                         $(".valeur_emplacement_"+id).each(function() {
  659.                             if($(this).val() == "") $(this).val("0");
  660.                             var id_emplacement = $(this).attr("id");
  661.                             id_emplacement = id_emplacement.replace("emplacement_","");
  662.                             //$("#valeur_emplacement_"+id_emplacement).val($(this).val());
  663.                             quantite_totale = parseFloat(quantite_totale)+parseFloat($(this).val());
  664.                         })
  665.                         if(quantite_max != quantite_totale) {
  666.                             erreur = true;
  667.                         }
  668.                         //alert("MAX : "+quantite_max+" TOTALE "+quantite_totale);
  669.                     }
  670.                 })
  671.                 */
  672.                 if (erreur) {
  673.                     //alert(erreur);
  674.                     $("#conteneur_erreur_quantite_emplacement_bl").removeClass("off");
  675.                     $("#validerModalBl").prop("disabled", false);
  676.                     event.stopImmediatePropagation();
  677.                     return false;
  678.                 } else {
  679.                     $("#conteneur_erreur_quantite_emplacement_bl").addClass("off");
  680.                     //return false;
  681.                 }
  682.                 //event.stopImmediatePropagation();
  683.                 //return false;
  684.             }
  685.         });
  686.         $('body').on('click', '.formModal input[type="submit"], .formModal button[type="submit"]', function (e) {
  687.             var actionForm = $(".formModal").attr("action");
  688.             if (actionForm == "{{ path('dtc_article_multi_modif') }}") {
  689.                 if (!confirm("Etes-vous sur ?")) {
  690.                     return false;
  691.                 } else {
  692.                     $("#conteneur_message").removeClass("off");
  693.                     $("#attente").removeClass("off");
  694.                 }
  695.             }
  696.             e.preventDefault();
  697.             $(this).prop('disabled', true);
  698.             $('.processing').removeClass("off");
  699.             $(this).closest('form').submit();
  700.         });
  701.         $('body').on('click', '#afficherValorisation', function (e) {
  702.             $(this).prop('disabled', false);
  703.         });
  704.         $('#blocModal').on('hide.bs.modal', function () {
  705.             /*
  706.             var typeModal = $("#conteneur-modal").children("#typeModal").val();
  707.             if(typeModal == "emplacement") {
  708.                 //alert("TOTO");
  709.                 var erreur = false;
  710.                 $(".article_emplacement").each(function() {
  711.                     var id = $(this).attr("id");
  712.                     id = id.replace("article_emplacement_","");
  713.                     var quantite_max = $(this).children(".quantiteMax").html();
  714.                     //alert(quantite_max);
  715.                     var quantite_totale = 0;
  716.                     $(".valeur_emplacement_"+id).each(function() {
  717.                         var id_emplacement = $(this).attr("id");
  718.                         id_emplacement = id_emplacement.replace("emplacement_","");
  719.                         $("#valeur_emplacement_"+id_emplacement).val($(this).val());
  720.                         quantite_totale = parseFloat(quantite_totale)+parseFloat($(this).val());
  721.                     })
  722.                     if(quantite_max != quantite_totale) {
  723.                         erreur = true;
  724.                     }
  725.                     //alert("MAX : "+quantite_max+" TOTALE "+quantite_totale);
  726.                 })
  727.                 if(erreur) {
  728.                     $("#conteneur_erreur_quantite_emplacement").removeClass("off");
  729.                     return false;
  730.                 }
  731.                 else {
  732.                     $("#conteneur_erreur_quantite_emplacement").addClass("off");
  733.                     //return false;
  734.                 }
  735.                 //
  736.             }
  737.             */
  738.         });
  739.         $('#blocModal').on('hidden.bs.modal', function () {
  740.             $('.modal-dialog').css('width', '600px');
  741.             $('#conteneur-modal').html('');
  742.             $('#blocModal').children(".modal-dialog").children(".modal-content").removeClass("modal_rouge");
  743.         })
  744.         $(function () {
  745.             // Javascript to enable link to tab
  746.             var url = document.location.toString();
  747.             if (url.match('tab=')) {
  748.                 $('.nav-tabs a[href=#' + url.split('tab=')[1] + ']').tab('show');
  749.             }
  750.             if (url.match('#')) {
  751.                 $('.nav-tabs a[href=#' + url.split('#')[1] + ']').tab('show');
  752.             }
  753.             // Change hash for page-reload
  754.             $('a[data-toggle="tab"]').on('show.bs.tab', function (e) {
  755.                 //window.location.hash = e.target.hash;
  756.             });
  757.         });
  758.         $('body').on('click', '.liste-categorie li span.fa', function (event) {
  759.             var bouton = $(this);
  760.             var c = $(this).parent('li');
  761.             if (c.children('.enfants').html() != '') {
  762.                 var enfants = c.children('.enfants');
  763.                 if (enfants.css("display") == "block") {
  764.                     enfants.css("display", "none");
  765.                     bouton.removeClass("fa-minus-circle");
  766.                     bouton.addClass("fa-plus-circle");
  767.                 } else {
  768.                     enfants.css("display", "block");
  769.                     bouton.removeClass("fa-plus-circle");
  770.                     bouton.addClass("fa-minus-circle");
  771.                 }
  772.             } else {
  773.                 var id = c.attr("id").replace("li-", "");
  774.                 var id_article = c.parent("ul").attr("id").replace("art-", "");
  775.                 //var url = "{{ path('dtc_categorie_checkbox') }}";
  776.                 var url = bouton.data("target");
  777.                 var objet = bouton.data("objet");
  778.                 $.ajax({
  779.                     type: "GET",
  780.                     url: url,
  781.                     data: 'id=' + id + '&' + objet + '=' + id_article,
  782.                     dataType: "json",
  783.                     error: function (request, status, errorThrown) {
  784.                         //console.log('Une erreur est survenue');
  785.                     },
  786.                     success: function (data) {
  787.                         c.children('.enfants').append(data.rendu);
  788.                         bouton.removeClass("fa-plus-circle");
  789.                         bouton.addClass("fa-minus-circle");
  790.                     }
  791.                 });
  792.             }
  793.         });
  794.         $('body').on('click', '.liste-categorie-client li span.fa', function (event) {
  795.             var bouton = $(this);
  796.             var c = $(this).parent('li');
  797.             if (c.children('.enfants').html() != '') {
  798.                 var enfants = c.children('.enfants');
  799.                 if (enfants.css("display") == "block") {
  800.                     enfants.css("display", "none");
  801.                     bouton.removeClass("fa-minus-circle");
  802.                     bouton.addClass("fa-plus-circle");
  803.                 } else {
  804.                     enfants.css("display", "block");
  805.                     bouton.removeClass("fa-plus-circle");
  806.                     bouton.addClass("fa-minus-circle");
  807.                 }
  808.             } else {
  809.                 var id = c.attr("id").replace("li-", "");
  810.                 var id_article = c.parent("ul").attr("id").replace("art-", "");
  811.                 //var url = "{{ path('dtc_client_categorie_checkbox') }}";
  812.                 var url = bouton.data("target");
  813.                 var objet = bouton.data("objet");
  814.                 $.ajax({
  815.                     type: "GET",
  816.                     url: url,
  817.                     data: 'id=' + id + '&' + objet + '=' + id_article,
  818.                     dataType: "json",
  819.                     error: function (request, status, errorThrown) {
  820.                         //console.log('Une erreur est survenue');
  821.                     },
  822.                     success: function (data) {
  823.                         c.children('.enfants').append(data.rendu);
  824.                         bouton.removeClass("fa-plus-circle");
  825.                         bouton.addClass("fa-minus-circle");
  826.                     }
  827.                 });
  828.             }
  829.         });
  830.         $('body').on('click', '.edit-statut-objet', function (event) {
  831.             var url = $(this).attr("href");
  832.             var c = $(this);
  833.             $.ajax({
  834.                 type: "GET",
  835.                 url: url,
  836.                 //data: 'id='+id,
  837.                 dataType: "json",
  838.                 error: function (request, status, errorThrown) {
  839.                     //console.log('Une erreur est survenue');
  840.                 },
  841.                 success: function (data) {
  842.                     var classSauvegarde = c.hasClass("fa-check");
  843.                     if (data.multiple == 1) {
  844.                         var check = c.closest('tbody').find('.fa-check');
  845.                         check.each(function () {
  846.                             $(this).removeClass("fa-check")
  847.                                 .removeClass("text-success")
  848.                                 .addClass("fa-times")
  849.                                 .addClass("text-danger");
  850.                         });
  851.                     }
  852.                     if (classSauvegarde) {
  853.                         c.removeClass("fa-check");
  854.                         c.removeClass("text-success");
  855.                         c.addClass("fa-times");
  856.                         c.addClass("text-danger");
  857.                     } else {
  858.                         c.addClass("fa-check");
  859.                         c.addClass("text-success");
  860.                         c.removeClass("fa-times");
  861.                         c.removeClass("text-danger");
  862.                     }
  863.                 }
  864.             });
  865.             return false;
  866.         });
  867.         $('body').on('click', '.nav', function () {
  868.             $(document).resize();
  869.         });
  870.         $('body').on('click', '.statut_remise_marque span', function (event) {
  871.             var c = $(this);
  872.             var idRemise = c.attr('data-remise');
  873.             var idMarque = c.attr('data-marque');
  874.             var url = Routing.generate('dtc_remise_marque_article_edit', {remise: idRemise, marque: idMarque});
  875.             $.ajax({
  876.                 type: "GET",
  877.                 url: url,
  878.                 dataType: "json",
  879.                 error: function (request, status, errorThrown) {
  880.                     //console.log('Une erreur est survenue');
  881.                 },
  882.                 success: function (data) {
  883.                     if (c.hasClass("fa-check")) {
  884.                         c.removeClass("fa-check");
  885.                         c.removeClass("text-success");
  886.                         c.addClass("fa-times");
  887.                         c.addClass("text-danger");
  888.                     } else {
  889.                         c.addClass("fa-check");
  890.                         c.addClass("text-success");
  891.                         c.removeClass("fa-times");
  892.                         c.removeClass("text-danger");
  893.                     }
  894.                 }
  895.             });
  896.             return false;
  897.         });
  898.     })
  899.     function couleurActvite(row, data, index) {
  900.         var etatActivite = $("td:last-child", row).children(".etatActivite").val();
  901.         if (etatActivite == "0") {
  902.             $(row).addClass("danger");
  903.         }
  904.     }
  905.     function couleurCondAchat(row, data, index) {
  906.         var typePrixNet = $("td:last-child", row).children(".typePrixNet").val();
  907.         if (typePrixNet == "1") {
  908.             $(row).addClass("info");
  909.         }
  910.     }
  911.     function couleurCommandeAchatSimplifie(row, data, index) {
  912.         var couleur = $("td:first-child", row).children(".couleurSimplifie").val();
  913.         if (couleur != "") {
  914.             $(row).css("background", couleur);
  915.         }
  916.     }
  917.     function couleurCommandeAchat2(row, data, index) {
  918.         var retard = $("td:last-child", row).children(".retard").val();
  919.         if (retard == 0) {
  920.             $(row).addClass("ligne_vert");
  921.         } else if (retard == 1) {
  922.             $(row).addClass("ligne_jaune");
  923.         } else if (retard > 1) {
  924.             $(row).addClass("ligne_rouge");
  925.         }
  926.     }
  927.     function couleurCommandeAchat(row, data, index) {
  928.         var couleur = $("td:last-child", row).children(".couleur").val();
  929.         if (couleur != "") {
  930.             $(row).css("background", couleur);
  931.         }
  932.     }
  933.     function couleurACommander(row, data, index) {
  934.         var couleur = $("td", row).children(".couleur").val();
  935.         if (couleur != "") {
  936.             $(row).css("background", couleur);
  937.         }
  938.     }
  939.     function couleurBL(row, data, index) {
  940.         var facturer = $("td:last-child", row).children(".facturer").val();
  941.         if (facturer == "1") {
  942.             $(row).addClass("success");
  943.         } else {
  944.             $(row).addClass("warning ");
  945.         }
  946.     }
  947.     function couleurFacture(row, data, index) {
  948.         var facturer = $("td:last-child", row).children(".facturer").val();
  949.         if (facturer == "1") {
  950.             $(row).addClass("success");
  951.         } else {
  952.             $(row).addClass("warning ");
  953.         }
  954.     }
  955.     function couleurOfStatut(row, data, index) {
  956.         if($(row).find('input[name="statutOf"]').length) {
  957.             if($(row).find('input[name="statutOf"]').val()=="9") {
  958.                 $(row).addClass("success");
  959.                 $(row).find('input[name="dataTables[actions][]"]').addClass("off");
  960.                 $(row).find('input[name="dataTables[actions][]"]').prop('checked', true);
  961.             }
  962.         }
  963.     }
  964.     function couleurCommandeBloque(row, data, index) {
  965.         if($(row).find('input[name="aBloquer"]').length) {
  966.             if($(row).find('input[name="aBloquer"]').val()=="1") {
  967.                 $(row).addClass("danger ");
  968.                 $(row).find('input[name="dataTables[actions][]"]').addClass("off");
  969.             }
  970.         }
  971.     }
  972.     function couleurRelance(row, data, index) {
  973.         var delaiRelance = $("td:last-child", row).children(".delaiRelance").val();
  974.         // Délai dépassé
  975.         if (delaiRelance == "0") {
  976.             $(row).addClass("ligne_noir");
  977.         }
  978.         // Ce jour
  979.         else if (delaiRelance == "1") {
  980.             $(row).addClass("ligne_rouge");
  981.         }
  982.         // Demain
  983.         else if (delaiRelance == "2") {
  984.             $(row).addClass("ligne_orange");
  985.         }
  986.         // Dans la semaine
  987.         else if (delaiRelance == "3") {
  988.             $(row).addClass("ligne_jaune");
  989.         }
  990.         // Dans deux semaines
  991.         else if (delaiRelance == "4") {
  992.             $(row).addClass("ligne_vert");
  993.         }
  994.     }
  995.     function couleurAnomalie(row, data, index) {
  996.         var couleur = $("td:last-child", row).children(".couleur_anomalie").val();
  997.         if (couleur != "") {
  998.             $(row).css("backgroundColor", couleur);
  999.         }
  1000.     }
  1001.     function couleurCommande(row, data, index) {
  1002.         var estPayee = $("td:last-child", row).children(".estPayee").val();
  1003.         var encadre = $("td:last-child", row).children(".encadre").val();
  1004.         var etatCommande = $("td:last-child", row).children(".etatCommande").val();
  1005.         if (etatCommande == "-2") {
  1006.             $(row).addClass("devis_gagne");
  1007.         } else if (etatCommande == "-1") {
  1008.             $(row).addClass("devis_perdu");
  1009.         } else if (etatCommande == "2") {
  1010.             if (estPayee == "1")
  1011.                 $(row).addClass("success");
  1012.             else
  1013.                 $(row).addClass("success-strip");
  1014.         } else if (etatCommande == "1") {
  1015.             if (estPayee == "1")
  1016.                 $(row).addClass("warning");
  1017.             else
  1018.                 $(row).addClass("warning-strip");
  1019.         } else if (etatCommande == "0") {
  1020.             if (estPayee == "1")
  1021.                 $(row).addClass("danger");
  1022.             else
  1023.                 $(row).addClass("danger-strip");
  1024.         }
  1025.         if (encadre == 1) {
  1026.             $(row).addClass("encadre_rouge");
  1027.         }
  1028.     }
  1029.     function couleurFabrication(row, data, index) {
  1030.         //alert("HELLO");
  1031.         //console.log(row);
  1032.         var fabricable = $("td:last-child", row).children(".fabriquable").val();
  1033.         var statut = $("td:last-child", row).children(".statut").val();
  1034.         //alert("STATUT:"+statut);
  1035.         //alert("FABRICABLE:"+fabricable);
  1036.         if (statut == 1 || statut == 2 || statut == 3)
  1037.             if (fabricable == 2) {
  1038.                 $(row).addClass("success");
  1039.             } else if (fabricable == 1) {
  1040.                 $(row).addClass("warning");
  1041.             } else {
  1042.                 $(row).addClass("danger");
  1043.             }
  1044.     }
  1045.     function navigationFleche(api) {
  1046.         $(".dataTables_filter").children("label").children("input").filter(':visible:first').focus();
  1047.         //console.log(api);
  1048.         //console.log(api.selector);
  1049.         var sel = $(api.selector);
  1050.         var bloc = sel.parent().parent();
  1051.         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>';
  1052.         bloc.prepend(sticky);
  1053.         //alert(sel.parent().parent().html());
  1054.         var blocScroll = $("#dta-contacts_wrapper");
  1055.         var blocScroll = sel.parent();
  1056.         blocScroll.scrollLeft(0);
  1057.         //alert(blocScroll.attr("id"));
  1058.         var scrollWidth = blocScroll.prop('scrollWidth');
  1059.         var clientWidth = blocScroll.prop('clientWidth');
  1060.         var activerBoutons = true;
  1061.         if (blocScroll.prop('scrollWidth') > blocScroll.prop('clientWidth')) {
  1062.             //alert("SCROLL");
  1063.             bloc.children(".sticky").css("display", "block");
  1064.         } else {
  1065.             //alert("PAS SCROLL "+blocScroll.prop('scrollWidth')+" "+blocScroll.prop('clientWidth'));
  1066.             //alert(blocScroll.html());
  1067.             activerBoutons = false;
  1068.             bloc.children(".sticky").css("display", "none");
  1069.         }
  1070.         bloc.children(".sticky").css("display", "block");
  1071.         //var activerBoutons = true;
  1072.         bloc.hover(
  1073.             function () {
  1074.                 if (activerBoutons) {
  1075.                     bloc.children(".sticky").css("display", "block");
  1076.                     var scrollWidth = blocScroll.prop('scrollWidth');
  1077.                     var clientWidth = blocScroll.prop('clientWidth');
  1078.                     var scrollActuel = blocScroll.scrollLeft();
  1079.                     //console.log("SCROLL "+scrollActuel);
  1080.                     //console.log("scrollWidth:"+scrollWidth);
  1081.                     //console.log("clientWidth:"+clientWidth);
  1082.                     if (scrollActuel > 0) bloc.children(".sticky").children(".left-scroll").removeClass("off");
  1083.                     bloc.children(".sticky").children(".right-scroll").removeClass("off");
  1084.                 }
  1085.             },
  1086.             function () {
  1087.                 if (activerBoutons) {
  1088.                     bloc.children(".sticky").children(".left-scroll").addClass("off");
  1089.                     bloc.children(".sticky").children(".right-scroll").addClass("off");
  1090.                 }
  1091.             }
  1092.         );
  1093.     }
  1094. </script>
  1095. <style>
  1096.     .dataTables_multiple {
  1097.         display: none;
  1098.     }
  1099. </style>