templates/admin/show/admin-formations.html.twig line 1

Open in your IDE?
  1. {% extends 'admin.html.twig' %}
  2. {% block title %}Administration | Nos Formations{% endblock %}
  3. {% block stylesheets %}
  4. <style>
  5.     .table td {
  6.     max-width: 200px;
  7.     white-space: nowrap;
  8.     overflow: hidden;
  9.     text-overflow: ellipsis;
  10. }
  11. </style>
  12. <!-- DataTables -->
  13. <link href="{{ asset('public/admin/libs/datatables.net-bs4/css/dataTables.bootstrap4.min.css') }}" rel="stylesheet" type="text/css" />
  14. <link href="{{ asset('public/admin/libs/datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css') }}" rel="stylesheet" type="text/css" />
  15. <!-- Responsive datatable examples -->
  16. <link href="{{ asset('public/admin/libs/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css') }}" rel="stylesheet" type="text/css" />  
  17. <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
  18. {% endblock %}
  19. {% block body %}
  20. <div class="row">
  21.     <div class="col-12">
  22.         <div class="page-title-box d-sm-flex align-items-center justify-content-between">
  23.             <h4 class="mb-sm-0 text-uppercase">Nos séminaires</h4>
  24.             <div class="page-title-right">
  25.                 <ol class="breadcrumb m-0">
  26.                     <li class="breadcrumb-item active">
  27.                         <button type="button" class="btn btn-primary btn-sm waves-effect waves-light" data-bs-toggle="offcanvas" data-bs-target="#offcanvasRight">Ajouter un séminaire</button>      
  28.                     </li>
  29.                 </ol>
  30.             </div>
  31.         </div>
  32.     </div>
  33. </div>
  34. <!-- right offcanvas -->
  35. <div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasRight"
  36.     aria-labelledby="offcanvasRightLabel">
  37.     <div class="offcanvas-header">
  38.         <h5 id="offcanvasRightLabel">Ajouter un nouveau séminaire</h5>
  39.         <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas"
  40.             aria-label="Close"></button>
  41.     </div>
  42.     <hr>
  43.     <div class="offcanvas-body">
  44.         {{ form_start(addformationForm) }}
  45.         <div class="modal-body">
  46.             <div class="col-md-12">
  47.                 <div class="form-group">
  48.                     {{ form_row(addformationForm.theme) }}
  49.                 </div>
  50.             </div>
  51.             <div class="col-md-12">
  52.                 <div class="form-group">
  53.                     {{ form_row(addformationForm.ville) }}
  54.                 </div>
  55.             </div>
  56.             <div class="col-md-12">
  57.                 <div class="form-group">
  58.                     {{ form_row(addformationForm.dates_session) }}
  59.                 </div>
  60.             </div>
  61.             <div class="col-md-12">
  62.                 <div class="form-group">
  63.                     {{ form_row(addformationForm.prix) }}
  64.                 </div>
  65.             </div>
  66.             <div class="col-md-12">
  67.                 <div class="form-group has-danger">
  68.                     {{ form_row(addformationForm.devise) }}
  69.                 </div>
  70.             </div>
  71.         </div>
  72.         <div class="d-grid flex-wrap gap-2 align-items-center mt-3">
  73.             <!-- Toogle to second dialog -->
  74.             {{ form_row(addformationForm.submit) }}
  75.         </div>
  76.         {{ form_end(addformationForm) }}
  77.     </div>
  78. </div>
  79. {% for message in app.flashes('success') %}
  80. <div class="alert alert-success alert-dismissible text-center fade show fw-bold" role="alert">
  81.     {{ message }}
  82.     <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close">
  83.         <span aria-hidden="true">&times;</span>
  84.     </button>
  85. </div>
  86. {% endfor %}
  87. {% for message in app.flashes('danger') %}
  88. <div class="alert alert-danger alert-dismissible text-center fade show fw-bold" role="alert">
  89.     {{ message }}
  90.     <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close">
  91.         <span aria-hidden="true">&times;</span>
  92.     </button>
  93. </div>
  94. {% endfor %}
  95. {% for message in app.flashes('warning') %}
  96. <div class="alert alert-warning alert-dismissible text-center fade show fw-bold" role="alert">
  97.     {{ message }}
  98.     <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close">
  99.         <span aria-hidden="true">&times;</span>
  100.     </button>
  101. </div>
  102. {% endfor %}
  103. <div class="card">
  104.     <div class="card-body">
  105.         <table id="datatable" class="table table-bordered dt-responsive nowrap" style="
  106.         
  107.         border-collapse: collapse; border-spacing: 0;">
  108.             <thead>
  109.             <tr>
  110.                 <th>Thème</th>
  111.                 <th>Thématique</th>
  112.                 <th>Date Session</th>
  113.                 <th>Pays</th>
  114.                 <th>Prix</th>
  115.                 <th>Action</th>
  116.             </tr>
  117.             </thead>
  118.             <tbody style="max-width: 200px; word-wrap: break-word; word-break: break-all;">
  119.             {% for form in listformation %}
  120.                 <tr>
  121.                     <td>{{ form.nom }}</td>
  122.                     <td>{{ form.thmnom }}</td>
  123.                     <td>{{ form.dates_session }}</td>
  124.                     <td>{{ form.pays }}</td>
  125.                     <td>{{ form.prix }}</td>
  126.                     <td>
  127.                         <a href="{{ path('admin.edit.formation', {'id': form.id}) }}"><i class="mdi mdi-pencil-box text-info" style="font-size: 25px;"></i></a>
  128.                         <a href="{{ path('admin.del.formation', {'id': form.id}) }}" onclick="return confirm('Voulez-vous vraiment supprimer cet élément ?');"><i class="mdi mdi-delete text-danger" style="font-size: 25px;"></i></a>
  129.                     </td>
  130.                 </tr>
  131.             {% endfor %}
  132.             </tbody>
  133.         </table>
  134.     </div>
  135. </div>
  136. {% endblock %}
  137. {% block javascripts %}
  138.      <!-- Required datatable js -->
  139.     <script src="{{ asset('public/admin/libs/datatables.net/js/jquery.dataTables.min.js') }}"></script>
  140.     <script src="{{ asset('public/admin/libs/datatables.net-bs4/js/dataTables.bootstrap4.min.js') }}"></script>
  141.     <!-- Buttons examples -->
  142.     <script src="{{ asset('public/admin/libs/datatables.net-buttons/js/dataTables.buttons.min.js') }}"></script>
  143.     <script src="{{ asset('public/admin/libs/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js') }}"></script>
  144.     <script src="{{ asset('public/admin/libs/jszip/jszip.min.js') }}"></script>
  145.     <script src="{{ asset('public/admin/libs/pdfmake/build/pdfmake.min.js') }}"></script>
  146.     <script src="{{ asset('public/admin/libs/pdfmake/build/vfs_fonts.js') }}"></script>
  147.     <script src="{{ asset('public/admin/libs/datatables.net-buttons/js/buttons.html5.min.js') }}"></script>
  148.     <script src="{{ asset('public/admin/libs/datatables.net-buttons/js/buttons.print.min.js') }}"></script>
  149.     <script src="{{ asset('public/admin/libs/datatables.net-buttons/js/buttons.colVis.min.js') }}"></script>
  150.     <!-- Responsive examples -->
  151.     <script src="{{ asset('public/admin/libs/datatables.net-responsive/js/dataTables.responsive.min.js') }}"></script>
  152.     <script src="{{ asset('public/admin/libs/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js') }}"></script>
  153.     <!-- Datatable init js -->
  154.     <script src="{{ asset('public/admin/js/pages/datatables.init.js') }}"></script>
  155.     <!-- Select2 -->
  156.     <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
  157.     
  158.     <script>
  159.         $(document).ready(function() {
  160.             // Appliquer Select2 sur le champ EntityType
  161.             $('#formation_form_theme').select2({
  162.                 placeholder: "Sélectionner un thème",
  163.                 allowClear: true,
  164.                 width: '100%',
  165.                 dropdownParent: $('#offcanvasRight') // ⭐ OBLIGATOIRE
  166.             });
  167.         });
  168.     </script>
  169. {% endblock %}