templates/admin/expensives.html.twig line 1

Open in your IDE?
  1. {% extends 'dashboard_layout.html.twig' %}
  2.     
  3.     {% block title %} {{ parent() }} | {{ boutique.nom }}{% endblock %}
  4.     
  5. {% block real_content  %}
  6.  <div class="main-card mb-3 card">
  7.     <div class="card-body">
  8. <div>
  9.     <h3>{{ 'admin.expensives.label' | trans }}</h3>
  10.     
  11.         <form id="formFilter" method="POST" action="{{ path('admin.expensives', {'slug': boutique.slug}) }}">
  12.                 <div class="row">
  13.                     <div class="col-md-1 position-relative">
  14.                         <label for="">{{ 'admin.period' | trans }}</label>
  15.                     </div>
  16.                     <div class="col-md-3 position-relative">
  17.                         <select class="form-select" id="selPeriode">
  18.                             <option value="{{ 'now' | date('Y-m-d') }}@{{ 'now' | date('Y-m-d') }}">{{ 'admin.today' | trans }}</option>
  19.                             <option value="{{ dateDebut | date('Y-m-d') }}@{{ dateFin | date('Y-m-d') }}" selected>{{ 'admin.this_week' | trans }}</option>
  20.                             <option value="{{ startMonth | date('Y-m-d') }}@{{ endMonth | date('Y-m-d') }}">{{ 'admin.this_month' | trans }}</option>
  21.                             <option value="{{ startYear | date('Y-m-d') }}@{{ endYear | date('Y-m-d') }}">{{ 'admin.this_year' | trans }}</option>
  22.                             <option value="p@p">{{ 'admin.customized' | trans }}</option>
  23.                         </select>
  24.                     </div>
  25.                     <div class="col-md-2 blocDate">
  26.                         <div class="form-group position-relative">
  27.                             <input value="{{ dateDebut | date('Y-m-d') }}" class="form-control" type="date" id="dateDebut" name="dateDebut" />
  28.                         </div>
  29.                     </div>
  30.                     <div class="col-md-2 blocDate">
  31.                         <div class="form-group position-relative">
  32.                             <input value="{{ dateFin | date('Y-m-d') }}" class="form-control" type="date" id="dateFin" name="dateFin" />
  33.                         </div>
  34.                     </div>
  35.                     <div class="col-md-3 position-relative">
  36.                         <button id="btnActualiserTable" class="btn btn-primary">{{ 'admin.actualiser' | trans }}</button>
  37.                     </div>
  38.                 </div>
  39.             </form>
  40.             <br/>
  41.             {% if userBoutique.droits[4].valeurDroit.ajout == true %}
  42.             <a type="button" href="{{ path('admin.new_expensive', {'slug': boutique.slug}) }}" class=" item-menu-travail btn btn-secondary pull-right btn-icon">
  43.                 {{ 'admin.new' | trans }} <i class="bi bi-plus"></i>
  44.             </a>
  45.             {% endif %}
  46.             {% if userBoutique.droits[4].valeurDroit.lecture == true %}
  47.             <a type="button" href="{{ path('admin_categorie_depenses', {'slug': boutique.slug}) }}" class=" item-menu-travail btn btn-primary pull-right btn-icon">
  48.                 {{ 'admin.categorie_depense.categorie_depense' | trans }}
  49.             </a>
  50.             {% endif %}
  51.             
  52. </div><br/>
  53.     <div class="table-responsive">
  54.   <table class="table table-hover" id="factureAVoirTable">
  55.     <thead class="thead-dark">
  56.       <tr>
  57.         <th>{{ 'admin.categorie_depense.categorie_depense' | trans }}</th>
  58.         <th>{{ 'admin.date' | trans }}</th>
  59.         <th>{{ 'admin.expensives.piece_2' | trans }}</th>
  60.         <th>{{ 'admin.third.label' | trans }}</th>
  61.         <th>{{ 'admin.amount' | trans }}</th>
  62.         <th>{{ 'admin.detail' | trans }}</th>
  63.         <th>{{ 'admin.actions' | trans }}</th>
  64.       </tr>
  65.     </thead>
  66.     <tbody id="contenuListeCommande">
  67.             {{ include('admin/expensives_table_content.html.twig') }}
  68.     </tbody>
  69.     
  70.   </table>
  71. </div>
  72.     </div>
  73. </div>
  74. {% endblock real_content  %}
  75. {% block javascripts  %}
  76.     {{ parent() }}
  77.     <script type="text/javascript">
  78.         $(function(){
  79.             var $deleteItem = $('.delete-item');
  80.             
  81.             var $btnActualiserTable = $('#btnActualiserTable');
  82.             var $contenuListeCommande = $('#contenuListeCommande'), $formFilter = $('#formFilter');
  83.             var $selPeriode = $('#selPeriode');
  84.             var $dateDebut = $('#dateDebut'), $dateFin = $('#dateFin');
  85.             $('.blocDate').css('display', 'none');
  86.             $('#invoiceTable').DataTable();
  87.             
  88.             $selPeriode.change(function(){
  89.                 var per = $(this).val().split('@');
  90.                 if($(this).val() == 'p@p'){
  91.                     $('.blocDate').css('display', 'inline-block');
  92.                 } else{
  93.                     $('.blocDate').css('display', 'none');
  94.                 }
  95.                 
  96.                 $dateDebut.val(per[0]);
  97.                 $dateFin.val(per[1]);
  98.                 
  99.             });
  100.             
  101.             
  102.             $btnActualiserTable.click(function(e){
  103.                 e.preventDefault();
  104.                  toggleLoading();
  105.                   $.ajax({
  106.                     url: $formFilter.attr('action'),
  107.                     method: 'POST',
  108.                     data: $formFilter.serialize(),
  109.                     //processData: false,
  110.                     //contentType: false,
  111.                     success: function (data, textStatus, jqXHR) {
  112.                         toggleLoading();
  113.                         $contenuListeCommande.html(data);
  114.                         
  115.                         var $deleteItem = $('.delete-item');
  116.                         $deleteItem.click(function(e){
  117.                             e.preventDefault();
  118.                             var lien = $(this).attr('href');
  119.                             var $theRow = $(this).parent().parent();
  120.                             swal({
  121.                                   title: 'Voulez-vous supprimer ?',
  122.                                   inputAttributes: {
  123.                                     autocapitalize: 'off'
  124.                                   },
  125.                                   buttons:{
  126.                                         cancel: 'Annuler',
  127.                                         submit: {
  128.                                             text: 'Supprimer',
  129.                                             value: 'submit'
  130.                                         }
  131.                                     }
  132.                                 
  133.                                 }
  134.                                  ).then((value) =>{
  135.                                     switch(value){
  136.                                         case 'submit':
  137.                                             toggleLoading();
  138.                                             $.ajax({
  139.                                                 url: lien,
  140.                                                 method: 'GET',
  141.                                                 //processData: false,
  142.                                                 //contentType: false,
  143.                                                 success: function (data, textStatus, jqXHR) {
  144.                                                     toggleLoading();
  145.                                                     toggleMessage("success", "Ligne supprimée");
  146.                                                     $theRow.remove();
  147.                                                 },
  148.                                                 error: function(jqXHR, textStatus, errorThrown ){
  149.                                                     toggleLoading();
  150.                                                     toggleMessage("error", "Une erreur s'est produite");
  151.                                                 }
  152.                                             });
  153.                                             break;
  154.                                             
  155.                                             default:
  156.                                               swal(
  157.                                                 {
  158.                                                     title: "Annulé!",
  159.                                                     timer: 500
  160.                                                  }
  161.                                               );
  162.                                     }
  163.                                  }
  164.                                     
  165.                                  );
  166.                         });    
  167.                     },
  168.                     error: function(jqXHR, textStatus, errorThrown ){
  169.                         toggleLoading();
  170.                         toggleMessage('error', 'Erreur survenue');
  171.                     }
  172.                 });
  173.             });
  174.             
  175.             $deleteItem.click(function(e){
  176.                 e.preventDefault();                    
  177.                 var lien = $(this).attr('href');
  178.                 var $theRow = $(this).parent().parent();
  179.                 swal({
  180.                       title: 'Voulez-vous supprimer ?',
  181.                       inputAttributes: {
  182.                         autocapitalize: 'off'
  183.                       },
  184.                       buttons:{
  185.                             cancel: 'Annuler',
  186.                             submit: {
  187.                                 text: 'Supprimer',
  188.                                 value: 'submit'
  189.                             }
  190.                         }
  191.                     
  192.                     }
  193.                      ).then((value) =>{
  194.                         switch(value){
  195.                             case 'submit':
  196.                                 toggleLoading();
  197.                                 $.ajax({
  198.                                     url: lien,
  199.                                     method: 'GET',
  200.                                     //processData: false,
  201.                                     //contentType: false,
  202.                                     success: function (data, textStatus, jqXHR) {
  203.                                         toggleMessage("success", "Ligne supprimée");
  204.                                         $theRow.remove();
  205.                                         toggleLoading();
  206.                                     },
  207.                                     error: function(jqXHR, textStatus, errorThrown ){
  208.                                         toggleLoading();
  209.                                         toggleMessage("error", "Une erreur s'est produite");
  210.                                     }
  211.                                 });
  212.                                 break;
  213.                                 
  214.                                 default:
  215.                                   swal(
  216.                                     {
  217.                                         title: "Annulé!",
  218.                                         timer: 500
  219.                                      }
  220.                                   );
  221.                         }
  222.                      }
  223.                         
  224.                      );
  225.                 
  226.             });    
  227.             
  228.             $('#factureAVoirTable').DataTable(); 
  229.         });
  230.     </script>
  231. {% endblock javascripts  %}