src/Flexy/FrontBundle/Themes/IlaveU/templates/admin/shopadmin/order/orderDetail.html.twig line 1

  1. {# @var ea \EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext #}
  2. {# @var entity \EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto #}
  3. {% extends ea.templatePath('layout') %}
  4. {% trans_default_domain ea.i18n.translationDomain %}
  5. {% block head_stylesheets %}
  6. <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAhcdR3-y-tILC8ZJT-e_TOwd0Mk9uEUZM&libraries=places"></script>
  7.     {{ parent() }}
  8.     <style>
  9.         #invoice{
  10.     padding: 0;
  11. }
  12. p {
  13.     margin-bottom: 0.4rem;
  14.     font-size:14px;
  15.     margin-top: 0;
  16. }
  17. .invoice {
  18.     position: relative;
  19.     background-color: #FFF;
  20.     min-height: 680px;
  21.     padding: 15px
  22. }
  23. .invoice header {
  24.     padding: 10px 0;
  25.     margin-bottom: 20px;
  26.     border-bottom: 1px solid #585858
  27. }
  28. .invoice .company-details {
  29.     text-align: right
  30. }
  31. .invoice .company-details .name {
  32.     margin-top: 0;
  33.     margin-bottom: 0
  34. }
  35. .invoice .contacts {
  36.     margin-bottom: 20px
  37. }
  38. .invoice .invoice-to {
  39.     text-align: left
  40. }
  41. .invoice .invoice-to .to {
  42.     margin-top: 0;
  43.     margin-bottom: 0
  44. }
  45. .invoice .invoice-details {
  46.     text-align: right
  47. }
  48. .invoice .invoice-details .invoice-id {
  49.     margin-top: 0;
  50.     color: #585858
  51. }
  52. .invoice main {
  53.     padding-bottom: 50px
  54. }
  55. .invoice main .thanks {
  56.     margin-top: -100px;
  57.     font-size: 2em;
  58.     margin-bottom: 50px
  59. }
  60. .invoice main .notices {
  61.     margin-top: 120px;
  62.     padding-left: 6px;
  63.     border-left: 6px solid #585858
  64. }
  65. .invoice main .notices .notice {
  66.     font-size: 1.2em
  67. }
  68. .invoice table {
  69.     width: 100%;
  70.     border-collapse: collapse;
  71.     border-spacing: 0;
  72.     margin-bottom: 20px
  73. }
  74. .invoice table td,.invoice table th {
  75.     padding: 15px;
  76.     background: #eee;
  77.     border-bottom: 1px solid #fff
  78. }
  79. .invoice table th {
  80.     white-space: nowrap;
  81.     font-weight: 400;
  82.     font-size: 16px
  83. }
  84. .invoice table td h3 {
  85.     margin: 0;
  86.     font-weight: 400;
  87.     color: #585858;
  88.     font-size: 1.2em
  89. }
  90. .invoice table .qty,.invoice table .total,.invoice table .unit {
  91.     text-align: right;
  92.     font-size: 1.2em
  93. }
  94. .invoice table .no {
  95.     color: #fff;
  96.     font-size: 1em;
  97.     background: #585858
  98. }
  99. .invoice table .unit {
  100.     background: #ddd 
  101. }
  102. .invoice table .total {
  103.     background: #585858;
  104.     color: #fff
  105. }
  106. .invoice table tbody tr:last-child td {
  107.     border: none
  108. }
  109. .invoice table tfoot td {
  110.     background: 0 0;
  111.     border-bottom: none;
  112.     white-space: nowrap;
  113.     text-align: right;
  114.     padding: 10px 20px;
  115.     font-size: 1.2em;
  116.     border-top: 1px solid #aaa
  117. }
  118. .invoice table tfoot tr:first-child td {
  119.     border-top: none
  120. }
  121. .invoice table tfoot tr:last-child td {
  122.     color: #585858;
  123.     font-size: 1.4em;
  124.     border-top: 1px solid #585858
  125. }
  126. .invoice table tfoot tr td:first-child {
  127.     border: none
  128. }
  129. .invoice footer {
  130.     width: 100%;
  131.     text-align: center;
  132.     color: #777;
  133.     border-top: 1px solid #aaa;
  134.     padding: 8px 0
  135. }
  136.     header {  }
  137.     footer { display:none; }
  138. @media only screen and (max-width: 600px) {
  139.   .hide-for-small {
  140.     display: none;
  141.   }
  142. }
  143. @media print {
  144.     .invoice {
  145.         font-size: 11px!important;
  146.         overflow: hidden!important
  147.     }
  148.     .invoice footer {
  149.         position: absolute;
  150.         bottom: 10px;
  151.         page-break-after: always
  152.     }
  153.     .invoice>div:last-child {
  154.         page-break-before: always
  155.     }
  156. }
  157.     </style>
  158. {% endblock %}
  159. {% block main %}
  160. {% set order = entity.instance %}
  161.     <div class="container" >
  162.         <div class="toolbar hidden-print">
  163.         <div class="">
  164.             
  165.             {% if is_granted("ROLE_SHIPPING_AGENT") == false %}
  166.                 <a class="btn btn-info mb-1" target="_blank" href="{{path("order_pdf",{id:order.id})}}"><i class="fa fa-file-pdf-o"></i> Exporter en PDF</a>
  167.             {% endif %}
  168.     {# {% set urlEditStatusPayment = ea_url().setController("App\\Flexy\\FrontBundle\\Themes\\IlaveU\\Controller\\ShopAdmin\\Order\\ChangeStatusOrderPaymentCrudController")
  169.     .setAction("edit")
  170.     .setEntityId(order.id)
  171.     %}
  172.     <a class="btn btn-info mb-1" href="{{urlEditStatusPayment}}" >
  173.     Changer l'etat de paiement
  174.     </a>
  175.     {% set urlEditStatusShipping = ea_url().setController("App\\Flexy\\FrontBundle\\Themes\\IlaveU\\Controller\\ShopAdmin\\Order\\ChangeStatusOrderShippingCrudController")
  176.     .setAction("edit")
  177.     .setEntityId(order.id)
  178.     %}
  179.     <a class="btn btn-info mb-1" href="{{urlEditStatusShipping}}" >
  180.     Changer l'etat de livraison
  181.     </a> #}
  182.         {% set urlEditOrder = ea_url()
  183.     .setRoute("admin_pos_ilaveu",{"orderId":order.id})
  184.     %}
  185.     <a class="btn btn-success mb-1" href="{{urlEditOrder}}" >
  186.     <i class="fa fa-edit"></i>
  187.     Editer la commande
  188.     </a>
  189.      
  190.     {% if is_granted("ROLE_AGENT") == false %}
  191.     {% set urlPrintTicketOrder = ea_url()
  192.     .setRoute("order_ticket",{"id":order.id})
  193.     %}
  194.     <a class="btn mb-1" href="{{urlPrintTicketOrder}}" >
  195. <i class="fa fa-print"></i>
  196.     Imprimer ticket
  197.     </a>
  198.     {% endif %}
  199.       {% set urlLogHistoryOrder = ea_url().setController("App\\Flexy\\FrontBundle\\Themes\\IlaveU\\Controller\\ShopAdmin\\Order\\LogHistoryOrderCrudController")
  200.     .setAction("index").setEntityId(null)
  201.     %}
  202.     <!--
  203.     <a class="btn btn-info mb-1" href="{{urlLogHistoryOrder}}&orderId={{order.id}}" >
  204.     Voir Historique
  205.     </a>
  206.     -->
  207.     
  208.         </div>
  209.         <hr>
  210.     </div>
  211.     <h5>Commande : <b>{{order.orderNumber}}</b></h5>
  212.     <ul>
  213.                 <li>Client : <b>{{order.customer}}</b></li>
  214.                 <li>Statut de la CMD : 
  215.                     
  216.                     {% if getOrderStatus(order) == "canceled" %}
  217.                         <span class="badge badge-danger" title="Annulé"><i class="fa-solid fa-ban"></i> Annulé</span>
  218.                     {% elseif (entity.instance.status == "paid" and entity.instance.fullRestAmount <= 0) or
  219.     (entity.instance.fullRestAmount <= 0 and entity.instance.fullTotalAmount > 0)
  220.  %}
  221.                         <span class="badge badge-success" title="Aucun"><i class="fa-solid fa-circle-check"></i> Réglé</span>
  222.                     {% elseif (entity.instance.status == "partially-paid" or entity.instance.status == "paid") and entity.instance.fullRestAmount > 0 %}
  223.                         <span class="badge badge-success" title="Aucun"><i class="fa-solid fa-circle-check"></i> Réglé partiellement</span>
  224.                     {% else %}
  225.                         <span class="badge badge-danger" title="Aucun"><i class="fa-solid fa-clock-rotate-left"></i> Non réglé</span>
  226.                     {% endif %}
  227.                 </li>
  228.                 {% set currentStep = order.shipment.currentStep %}
  229.                 <li>Statut de livraison : <span class="mt-1 badge badge-info text-dark" style="
  230.                 {{currentStep ? "background:" ~ currentStep.color}}
  231.                 " ><i class="fa-solid fa-circle-check"></i> {{ order.shipment.currentStep ? order.shipment.currentStep:"À collecter"}}</span></li>
  232.                  <li>Adresse de collecte : <b>{{order.collectAddress}}</b> 
  233.                  
  234.                     
  235.                         <a  class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#collectMapModal" href="#" data-lng="{{order.collectLng}}" data-lat="{{order.collectLat}}" class="btn show-map"> <i class="fa-solid fa-location-dot"></i></a>
  236.                         <!-- Modal -->
  237. <div class="modal fade" id="collectMapModal" tabindex="-1" aria-labelledby="collectMapModalLabel" aria-hidden="true">
  238.   <div class="modal-dialog">
  239.     <div class="modal-content">
  240.       <div class="modal-header">
  241.         <h5 class="modal-title" id="collectMapModalLabel">Adresse de collecte</h5>
  242.         <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  243.       </div>
  244.       <div class="modal-body">
  245.       {% if order.collectLng and order.collectLat %}
  246.         <div {{ react_component('Admin/Pos/Map', { 
  247.                             lng: order.collectLng,
  248.                             lat: order.collectLat,
  249.                             styles:{ height: '350px', maxWidth: '800px' }
  250.                          }) }}>
  251.                                 Loading... <i class="fas fa-cog fa-spin fa-3x"></i>
  252.                             </div>
  253.     {% else %}
  254.         
  255.         <div {{ react_component('Admin/Pos/GeocodeAddress', { 
  256.                             address: order.collectAddress ~ " ,Maroc",
  257.                             apiKey: "AIzaSyAhcdR3-y-tILC8ZJT-e_TOwd0Mk9uEUZM",
  258.                             styles:{ height: '350px', maxWidth: '800px' }
  259.                          }) }}>
  260.                                 Loading... <i class="fas fa-cog fa-spin fa-3x"></i>
  261.                             </div>
  262.     {% endif %}
  263.       </div>
  264.       <div class="modal-footer">
  265.         <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
  266.       </div>
  267.     </div>
  268.   </div>
  269. </div>
  270.                         
  271.                     
  272.                  </li>
  273.                 
  274.                   <li class="mt-1">Adresse de livraison : <b>{{order.shippingAddress}}</b>  
  275.                    
  276.                   
  277.                     <a data-bs-toggle="modal" data-bs-target="#shippingMapModal" href="#" data-lng="{{order.shippingLng}}" data-lat="{{order.shippingLat}}" class="btn show-map"> <i class="fa-solid fa-location-dot"></i></a>
  278.                         <!-- Modal -->
  279. <div class="modal fade" id="shippingMapModal" tabindex="-1" aria-labelledby="shippingMapModalLabel" aria-hidden="true">
  280.   <div class="modal-dialog">
  281.     <div class="modal-content">
  282.       <div class="modal-header">
  283.         <h5 class="modal-title" id="shippingMapModalLabel">Adresse de livraison</h5>
  284.         <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  285.       </div>
  286.       
  287.       <div class="modal-body">
  288.       {% if order.shippingLng and order.shippingLat %}
  289.         <div {{ react_component('Admin/Pos/Map', { 
  290.                         lng: order.shippingLng,
  291.                         lat: order.shippingLat,
  292.                         styles:{ height: '350px', maxWidth: '800px' }
  293.                          }) }}>
  294.                                 Loading... <i class="fas fa-cog fa-spin fa-3x"></i>
  295.                             </div>
  296.     {% else %}
  297.          <div {{ react_component('Admin/Pos/GeocodeAddress', { 
  298.                             address: order.shippingAddress ~ " ,Maroc",
  299.                             apiKey: "AIzaSyAhcdR3-y-tILC8ZJT-e_TOwd0Mk9uEUZM",
  300.                             styles:{ height: '350px', maxWidth: '800px' }
  301.                          }) }}>
  302.                                 Loading... <i class="fas fa-cog fa-spin fa-3x"></i>
  303.                             </div>
  304.     {% endif %}
  305.     </div>
  306.       <div class="modal-footer">
  307.         <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
  308.       </div>
  309.     </div>
  310.   </div>
  311. </div>
  312.                     
  313.                  
  314.                     
  315.                  
  316.             <ul>
  317.     </div>
  318.     
  319.  {% include "@Flexy/FrontBundle/Themes/IlaveU/templates/admin/shopadmin/order/_orderTemplate.html.twig" with { order : order } %}
  320.     
  321. {% endblock %}