templates/Admin/ProductUpload/index.html.twig line 1

Open in your IDE?
  1. {% extends 'Admin/layout.html.twig' %}
  2. {% block title %}Utilisateurs{% endblock %}
  3. {% block breadcrumb %}Utilisateurs{% endblock %}
  4. {% block head %}
  5. <link href='{{ translate.params.urlcdn }}css/select/select2.css' rel="stylesheet" type="text/css" />
  6. <link href='{{ translate.params.urlcdn }}css/multi-select.css' rel="stylesheet" type="text/css" />
  7. {% endblock %}
  8. {% block body %}
  9. <div class="row alignRight filter">
  10.     <div class="col-lg-8">
  11.         <div class="custom-select">
  12.             <select id="search_status">
  13.                 <option value="0">Tous</option>
  14.                 <option value="1">Nouveau</option>
  15.                 <option value="2" selected>Actifs</option>
  16.                 <option value="3">Terminé</option>
  17.                 <option value="5">Supprimé</option>
  18.             </select>
  19.         </div>
  20.     </div>
  21.     <div class="col-lg-4">{% include 'Admin/Includes/filter-limit.html.twig' with {} %}</div>
  22. </div>
  23. <div id="list"></div>
  24. {% if is_admin==2 %}
  25. <div class="add"></div>
  26. {% endif %}
  27. {% endblock %}
  28. {% block footer %}
  29. <script src="{{ translate.params.urlcdn }}js/jquery.multi-select.js"></script>
  30. <script src="{{ translate.params.urlcdn }}js/jquery-ui.min.js"></script>
  31. <script src="{{ translate.params.urlcdn }}js/jquery.ui.widget.js"></script>
  32. <script src="{{ translate.params.urlcdn }}js/jquery.fileupload.js"></script>
  33. <script src="{{ translate.params.urlcdn }}js/jquery.dropdown.js"></script>
  34. <script src="{{ translate.params.urlcdn }}js/select2.min.js"></script>
  35. <script>
  36. var uploadCode="";
  37. var pageEnCours=1;
  38. function list() {
  39.     $.get("{{ path('admin_prestashop_updater_list') }}", { q:$('#search').val(), is_admin:$('#search_is_admin').val(), status:$('#search_status').val(), limit:$('#limit').val(), page:pageEnCours }, function(data) {
  40.         $("#list").html(data);
  41.         initiateSelect();
  42.         {% if is_admin==2 %}
  43.             $(".edit").click(function() {
  44.                 link=$(this).attr('data');
  45.                 $.get(link, function(data) {
  46.                     showPopinWithAnimation(data);
  47.                     initDatepicker();
  48.                     $(".btn").click(function() {
  49.                         maskErrors();
  50.                         $.post(link, { name:$('#popin #name').val(), start_date:$('#popin #start_date').val(), end_date:$('#popin #end_date').val(), ok:1 }, function(data) {
  51.                             if(data.s==1) {
  52.                                 list();
  53.                                 exitPopin();
  54.                             }
  55.                             else showErrors(data);
  56.                         });
  57.                     });
  58.                 });
  59.             });
  60.             moreItem();
  61.             deleteItem();
  62.             statusChangeItem();
  63.         {% endif %}
  64.         $(".send-prestashop").click(function() {
  65.             link=$(this).attr('data');
  66.             $.get(link, function(data) {
  67.                 console.log(data);
  68.                 list();
  69.             });
  70.         });
  71.         $(".upload-csv").click(function() {
  72.             uploadCode="";
  73.             link=$(this).attr('data');
  74.             $.get(link, function(data) {
  75.                 showPopinWithAnimation(data);
  76.                 sendCSV();
  77.                 initDatepicker();
  78.                 $(".btn").click(function() {
  79.                     maskErrors();
  80.                     if(uploadCode) {
  81.                         $.post(link, { uploadCode:uploadCode, company_id:$('#popin #company_id').val(), ok:1 }, function(data) {
  82.                             if(data.s==1) {
  83.                                 list();
  84.                                 exitPopin();
  85.                             }
  86.                             else showErrors(data);
  87.                         });
  88.                     }
  89.                     else $('#popin .error').html("Vous n'avez pas transmis de fichier");
  90.                 });
  91.             });
  92.         });
  93.         getPagination();
  94.     });
  95. }
  96. $("#search").keyup(function() {
  97.     pageEnCours=1;
  98.     list();
  99. });
  100. $("#search_status, #limit").change(function() {
  101.     pageEnCours=1;
  102.     list();
  103. });
  104. {% if is_admin==2 %}
  105. $(".add").click(function() {
  106.     $.get('{{ path('admin_prestashop_updater_add') }}', function(data) {
  107.         showPopinWithAnimation(data);
  108.         initDatepicker();
  109.         $(".btn").click(function() {
  110.             maskErrors();
  111.             $.post('{{ path('admin_prestashop_updater_add') }}', { name:$('#popin #name').val(), start_date:$('#popin #start_date').val(), end_date:$('#popin #end_date').val(), ok:1 }, function(data) {
  112.                 if(data.s==1) {
  113.                     list();
  114.                     exitPopin();
  115.                 }
  116.                 else showErrors(data);
  117.             });
  118.         });
  119.     });
  120. });
  121. {% endif %}
  122. function sendCSV() {
  123.     $('#csvFile').fileupload({
  124.         dataType: 'json',
  125.         autoUpload: false,
  126.         paramName: 'files',
  127.         replaceFileInput: false,
  128.         dropZone: $('#drop-zone'),
  129.         acceptFileTypes: /(\.|\/)(csv)$/i,
  130.         maxFileSize: 100000000, // 100MB
  131.         disableImageResize: /Android(?!.*Chrome)|Opera/
  132.                 .test(window.navigator.userAgent),
  133.         previewMaxWidth: 100,
  134.         previewMaxHeight: 100,
  135.         previewCrop: true,
  136.         add: function(e, data){ data.submit();}
  137.     }).on('fileuploadadd', function (e, data) {
  138.         uploadCode="";
  139.         $('#popin .success').html("");
  140.         $('#popin .error').html("Téléchargement en cours, veuillez patienter !")
  141.     }).on('fileuploadprocessalways', function (e, data) {
  142.         var index = data.index,
  143.                 file = data.files[index],
  144.                 node = $(data.context.children()[index]);
  145.         if (file.preview) {
  146.             node.prepend('<br>').prepend(file.preview);
  147.         }
  148.         if (file.error) {
  149.             node.append('<br>').append($('<span class="text-danger"/>').text(file.error));
  150.         }
  151.         if (index + 1 === data.files.length) {
  152.             data.context.find('button').text('Upload').prop('disabled', !!data.files.error);
  153.         }
  154.     }).on('fileuploadprogressall', function (e, data) {
  155.         $('#progress .progress-bar').removeClass('progress-error');
  156.         var progress = parseInt(data.loaded / data.total * 100, 10);
  157.         $('#progress .progress-bar').css('width', progress + '%');
  158.     }).on('fileuploaddone', function (e, data) {
  159.         $('#progress .progress-bar').css('width', '0%');
  160.         file=data.result;
  161.         if (file.error) { alert(file.error); }
  162.         else {
  163.             //if(file.s==0) $('#popin .error').html(showCSVErrors(file.e));
  164.             //else {
  165.                 $('#popin .error').html("");
  166.                 $('#popin .success').html("Le fichier a été téléchargé sans erreurs, vous pouvez sauvegarder pour confirmer !");
  167.                 uploadCode=file.id;
  168.             //}
  169.         }
  170.     });
  171. }
  172. function showCSVErrors(errors) {
  173.     var countError=errors.length;
  174.     if(countError>10) countError=10;
  175.     var message='';
  176.     for(i=0; i<countError; i++) {
  177.         message+='Erreur "'+errors[i].c+'" à la ligne '+errors[i].l+'<br />';
  178.     }
  179.     return message;
  180. }
  181. list();
  182. </script>
  183. {% endblock %}