templates/admin/new_expensive.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.  <p>
  7.     <nav>
  8.         <ol class="breadcrumb">
  9.             <li class="breadcrumb-item"><a href="{{ path('admin.expensives', {'slug': boutique.slug}) }}">{{ 'admin.expensives.label' | trans }}</a></li>
  10.             <li class="breadcrumb-item active">{{ 'admin.expensives.new_expensive' | trans }}</li>
  11.             </ol>
  12.     </nav>
  13. </p>
  14. <div class="main-card mb-3 card">
  15.     <div class="card-body">
  16.         <h3>{{ 'admin.expensives.new_expensive' | trans }}</h3>
  17.         <hr/>
  18.         <form id="formExpensive" class="forms-sample" method="POST" action="{{ path('admin.new_expensive', {'slug': boutique.slug}) }}">
  19.             <div class="form-group">
  20.                 {{ form_label(form.piece) }}
  21.                 {{ form_widget(form.piece) }}
  22.             </div>
  23.             <br/>
  24.             <div class="form-group">
  25.                 {{ form_label(form.categorieDepense) }}
  26.                 {{ form_widget(form.categorieDepense) }}
  27.             </div>
  28.             <br/>
  29.             <div class="form-group">
  30.                 {{ form_label(form.laDate) }}
  31.                 {{ form_widget(form.laDate) }}
  32.             </div>
  33.             <br/>
  34.             <div class="form-group">
  35.                 {{ form_label(form.montant) }}
  36.                 {{ form_widget(form.montant) }}
  37.             </div>
  38.             <div class="form-group">
  39.                 <label for="moyenDePaiement">{{ 'admin.payment_method.label' | trans }} </label>
  40.                 <select class="form-select" id="moyenDePaiement" name="moyenDePaiement" required="required" />
  41.                     <option value="">Faites un choix</option>
  42.                     <option value="cash">Espèce</option>
  43.                     <option value="card">Carte bancaire</option>
  44.                     <option value="check">Chèque</option>
  45.                     <option value="mobile-money">Mobile money</option>
  46.                     <option value="transfer">Virement</option>
  47.                                     
  48.                 </select>
  49.             </div>
  50.             
  51.             <br/>
  52.             <div class="form-group">
  53.                 {{ form_label(form.tiers) }}
  54.                 {{ form_widget(form.tiers) }}
  55.             </div>
  56.             <br/>
  57.             <div class="form-group">
  58.                 {{ form_label(form.detail) }}
  59.                 {{ form_widget(form.detail) }}
  60.             </div>
  61.             <br/>
  62.             <div class="form-group">
  63.                 <input id="btnEnregistrerExpensive" class="btn btn-primary float-right" type="submit" value="{{ 'admin.save' | trans }}" />
  64.             </div>
  65.             
  66.             {{ form_rest(form) }}
  67.         </form>
  68.     </div>
  69. </div>
  70. {% endblock real_content  %}
  71. {% block javascripts  %}
  72.     {{ parent() }}
  73.     
  74.     <script type="text/javascript">
  75.         $(function(){
  76.             var $formExpensive = $('#formExpensive');
  77.             var $btnEnregistrerExpensive = $('#btnEnregistrerExpensive');
  78.             var $expensiveMontant = $('#expensive_montant');
  79.             var $expensiveTVA = $('#expensive_tva');
  80.             var $expensiveTTC = $('#expensive_ttc');
  81.             $expensiveMontant.keyup(function(){
  82.                 calculerMontantTTC();
  83.             });
  84.             $expensiveTVA.keyup(function(){
  85.                 calculerMontantTTC();
  86.             });
  87.             function calculerMontantTTC()
  88.             {
  89.                 let ttc = parseFloat($expensiveMontant.val()) + parseFloat($expensiveTVA.val());
  90.                 $expensiveTTC.val(ttc);
  91.             }
  92.             
  93.             $btnEnregistrerExpensive.click(function(e){
  94.                 e.preventDefault();
  95.                 if(parseFloat($expensiveMontant.val()) <= 0 || $expensiveMontant.val() == ''){
  96.                     toggleMessage('error', 'Veuillez remplir les champs');
  97.                     $expensiveMontant.focus()
  98.                 } else{
  99.                     $(this).attr('disabled', true);
  100.                     enregistrerElement();
  101.                 }
  102.         });
  103.         
  104.         function enregistrerElement()
  105.         {
  106.             toggleLoading();
  107.               $.ajax({
  108.                 url: $formExpensive.attr('action'),
  109.                 method: 'POST',
  110.                 data: $formExpensive.serialize(),
  111.                 //processData: false,
  112.                 //contentType: false,
  113.                 success: function (data, textStatus, jqXHR) {
  114.                     toggleMessage('success', 'Enregistrement effectué');
  115.                     $formExpensive.trigger('reset');
  116.                     $btnEnregistrerExpensive.attr('disabled', false);
  117.                     toggleLoading();
  118.                 },
  119.                 error: function(jqXHR, textStatus, errorThrown ){
  120.                     toggleLoading();
  121.                     toggleMessage('error', 'Erreur survenue');
  122.                     $btnEnregistrerExpensive.attr('disabled', false);
  123.                 }
  124.             });
  125.         }
  126.         
  127.         });
  128.     </script>
  129. {% endblock javascripts  %}