templates/commande/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}{% endblock %}
  3. {% block stylesheets %}
  4.     <link rel="stylesheet" href="{{ asset('/css/liste-commande.css') }}">
  5.  
  6.     {% endblock %}
  7. {% block body %}
  8. <main class="section-services">  </main>
  9. <div class="section-FAQ">
  10.     <div class="container">
  11.       <div class="row">
  12.         <div class="col-md-12 text-center">
  13.           <h5>{% trans %} details.commande.index.cart{% endtrans %}</h5>
  14.           <h2>{% trans %} details.commande.index.list{% endtrans %}</h2>
  15.           <p>Lorem ipsum dolor sit amet invidunt ut labore et sed diam voluptua. At vero eos et accusam et sed diam voluptua.</p>
  16.           <p id="sommeList" class="col-md-10"></p>
  17.           <form class="{{ app.request.locale == 'ar_TN' ? 'form_direction_rtl' : 'form_direction_ltr' }}" action="{{ path('make_command_confirm') }}" method="post">
  18.             <div class="d-inherit  justify-content-center">
  19.             {% if app.user %}
  20.               <div class="input-group mb-3">
  21.               <div class="input-group-prepend">
  22.                 <span class="input-group-text" id="basic-addon1">{% trans %} details.commande.index.adress{% endtrans %}:</span>
  23.               </div>
  24.               <input type="text" class="form-control" name="adresse" value="{% if app.user.adresses | length > 0 %}{{ app.user.adresses[0].adresse }} {% endif %}" aria-describedby="basic-addon1" required>
  25.             </div>
  26.             <div class="input-group mb-3">
  27.               <div class="input-group-prepend"  id="text-tele">
  28.                 <span class="input-group-text" id="basic-addon1">{% trans %} details.commande.index.tel{% endtrans %}:</span>
  29.               </div>
  30.               <input type="text" class="form-control" name="tel" value="{% if app.user.tel != null %} {{ app.user.tel }} {% endif %}" aria-describedby="basic-addon1" required>
  31.             </div>
  32.             <div class="input-group mb-3">
  33.               <div class="input-group-prepend"  id="text-tele">
  34.                 <span class="input-group-text" id="basic-addon1">{% trans %} details.commande.index.email{% endtrans %}:</span>
  35.               </div>
  36.               <input type="text" class="form-control" name="email" value="{% if app.user.email != null %} {{ app.user.email }} {% endif %}" aria-describedby="basic-addon1" required>
  37.             </div>
  38.                   <div class="input-group mb-4">
  39.               <div class="input-group-prepend"  id="text-tele">
  40.                 <span class="input-group-text" id="basic-addon1">{% trans %} details.commande.index.gov{% endtrans %} :</span>
  41.               </div>
  42.               <select type="text" class="form-control" name="gouvernourat" id="gouvernourat" required>
  43.              
  44.              
  45.               </select>
  46.             </div>
  47.               {% else %}
  48.               <div class="input-group mb-3">
  49.               <div class="input-group-prepend">
  50.                 <span class="input-group-text" id="basic-addon1">{% trans %} details.commande.index.adress{% endtrans %}:</span>
  51.               </div>
  52.               <input type="text" class="form-control" name="adresse" value="" aria-describedby="basic-addon1">
  53.             </div>
  54.             <div class="input-group mb-3">
  55.               <div class="input-group-prepend" id="text-tele">
  56.                 <span class="input-group-text" id="basic-addon1">{% trans %} details.commande.index.tel{% endtrans %}:</span>
  57.               </div>
  58.               <input type="text" class="form-control" name="tel" value="" aria-describedby="basic-addon1">
  59.             </div>
  60.             <div class="input-group mb-3">
  61.               <div class="input-group-prepend"  id="text-tele">
  62.                 <span class="input-group-text" id="basic-addon1">{% trans %} details.commande.index.email{% endtrans %}:</span>
  63.               </div>
  64.               <input type="text" class="form-control" name="tel" value="" aria-describedby="basic-addon1">
  65.             </div>
  66.               {% endif %}
  67.             </div>
  68.              <span class="btn-slider-text" id="somme">{{ somme }} {% trans %} details.commande.index.TND{% endtrans %} </span>
  69.              <a id="confirm" class="col-md-10" style="margin-top:10%; margin-bottom:10px;"><button id="confirmer" type="submit" class="btn-slider-text"> {% trans %} details.commande.index.confirm {% endtrans %}  </button></a>
  70.           </form>
  71.           {% for message in app.flashes('success') %}
  72.             <div class="alert alert-success">
  73.                 {{ message }}
  74.             </div>
  75.           {% endfor %}
  76.         </div>
  77.       </div>
  78.       <div class="row justify-content-center mt-5">
  79.         <div id="cardList" class="col-md-10">
  80.           <div class="col-md-12 ">
  81.             {% for elem in listCommand %}
  82.             <div class="d-flex mt-5 g-0" id="commande">
  83.                 <div class="card-img-top" style="background-image : url('{{asset('imagees/galery/')}}{{elem.article.image}}');height: 300px;background-size: cover;background-repeat: no-repeat;background-position: center;border-top-right-radius: 0 !important;border-bottom-right-radius: 0 !important;">
  84.                 </div>
  85.                 <div class="col-md-6">
  86.                   <div class="card-body text-left">
  87.                     <span>{{elem.article.prix}} {% trans %} details.commande.index.TND{% endtrans %}</span>
  88.                     <h6 class="card-title">{{ elem.article.titre }}</h6>
  89.                     <div class="col-md-6 col-lg-6 col-xl-6 d-flex" id="btn-number">
  90.                       <button class="btn btn-link px-2"
  91.                         onclick="this.parentNode.querySelector('input[type=number]').stepDown()">
  92.                         <i class="fas fa-minus"></i>
  93.                       </button>
  94.                       <input id="article_{{ elem.article.id }}" min="0" name="quantity" value="{{ elem.quantite }}" type="number"
  95.                         class="form-control form-control-sm quantity article_{{ elem.article.id }}" data-id="{{ elem.article.id }}" />
  96.                       <button class="btn btn-link px-2"
  97.                         onclick="this.parentNode.querySelector('input[type=number]').stepUp()">
  98.                         <i class="fas fa-plus"></i>
  99.                       </button>
  100.                   </div>
  101.                   <a id="href-modifier"><button class="btn-slider-text mt-5" onclick="addCommand({{ elem.article.id }})" id="modifier"> <i class="fa-solid fa-pen-to-square"></i> </button></a>
  102.                     <a id="href-supprimer" class="col-md-10" style="margin-top:10%; margin-bottom:10px;"><button id="supprimer" onclick="supprimerCommand({{ elem.article.id }})" class="btn-slider-text"> <i id="add-adresss" name="deleteAdresse" onclick="deleteAdresses(0)" class="fa-sharp fa-solid fa-trash"></i> </button></a>`
  103.                   </div>
  104.                 </div>
  105.               </div>
  106.             {% endfor %}
  107.         </div>
  108.       </div>
  109.     </div>
  110.   </div>
  111. {% endblock %}
  112. {% block javascripts %}
  113. {{ parent() }}
  114. <script>
  115.    
  116.   function supprimerCommand(a){
  117.     Swal.fire({
  118.   title: 'Êtes-vous sûr?',
  119.   text: "Vous ne pourrez pas revenir en arrière !",
  120.   icon: 'warning',
  121.   showCancelButton: true,
  122.   confirmButtonColor: '#3085d6',
  123.   cancelButtonColor: '#d33',
  124.   confirmButtonText: 'Oui, supprimez-le!'
  125. }).then((result) => {
  126.   if (result.isConfirmed) {
  127.     window.location.href = "/make/command/delete/"+a;
  128.   }
  129. })
  130.   }
  131.     function addCommand(a){
  132.       let quantity = $('.article_'+a).val();
  133.       let item ={id:a, quantity: quantity}
  134.       console.log(item);
  135.       $.ajax({
  136.       type: "POST",
  137.       url: "{{ path('make_command') }}",
  138.       data: JSON.stringify(item),
  139.       dataType:"json",
  140.       success: function(response){
  141.       console.log(response);
  142.         location.reload()
  143.         }
  144.       });
  145.     }
  146.             jQuery.ajax({
  147.                 dataType: 'json',
  148.                 url: "/admin/get-gouvernorats",
  149.                 type: "GET",
  150.                 success: function (response) {
  151.                     var list = JSON.parse(response);
  152.                     var options = '';
  153.                     if (list.length > 0) {
  154.                         for (var i = 0; i < list.length; i++) {
  155.                             options += '<option value="' + list[i]['id'] + '">' + list[i]['libelle'] + '</option>';
  156.                         }
  157.                     }
  158.                     $(`#gouvernourat`).append(options)
  159.                 }
  160.             });
  161.         
  162. </script>
  163. {% endblock %}