templates/member/index.html.twig line 1

Open in your IDE?
  1. {% extends 'admin/base.html.twig' %}
  2. {% block title %}Liste des Membres{% endblock %}
  3. {% block body %}
  4. <section class="mb-3 mb-lg-5">
  5. <div class="row">
  6.                   
  7.                   <div class="col-md-6 mb-4">   
  8.                     <div class="card h-100">
  9.                       <div class="card-body">
  10.                         <div class="row gx-2 gx-lg-4 gy-5">
  11.                           <div class="col-sm-5">
  12.                             <div class="h2">625</div>
  13.                             <p class="subtitle">Nouveau client</p>
  14.                             <div class="progress">
  15.                               <div class="progress-bar bg-success" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width:60%"></div>
  16.                             </div>
  17.                           </div>
  18.                           <div class="col-sm-7">
  19.                             <div class="row">
  20.                               <div class="col-6 text-center">
  21.                                 <div class="h3">254</div>
  22.                                 <p cl ass="text-muted fw-normal">Centre maroc</p>
  23.                                 <hr>
  24.                                 <p class="text-muted mb-0">+125</p>
  25.                               </div>
  26.                               <div class="col-6 text-center">
  27.                                 <div class="h3">328</div>
  28.                                 <p class="text-muted">Lorem ipsum</p>
  29.                                 <hr>
  30.                                 <p class="text-muted mb-0">+144    </p>
  31.                               </div>
  32.                             </div>
  33.                           </div>
  34.                         </div>
  35.                       </div>
  36.                     </div>
  37.                   </div>
  38.                  
  39. </div>
  40.  <div class="card card-table mb-4">
  41.         <div class="card-header">
  42.             <div class="card-heading">
  43.             <span>Gestion des membres </span>
  44.             <a href="{{ path('app_member_new') }}">
  45.             <span class="badge rounded-pill me-2 p-2 bg-primary" style="float:right"> Ajouter un membre</span>
  46.             </a>
  47.             
  48.             </div>
  49.             
  50.         </div>
  51.         <table class="table table-hover mb-0" id="datatable2">
  52.             <thead>
  53.                 <tr>
  54.                     <th>Id</th>
  55.                     <th>Prénom</th>
  56.                     <th>Nom</th>
  57.                     <th>Date de naissance</th>
  58.                     <th>Sexe</th>
  59.                     <th>Bilans</th>
  60.                     <th> Details</th>
  61.                     <th> Modifier</th>
  62.                 </tr>
  63.             </thead>
  64.             <tbody>
  65.             {% for member in members %}
  66.                 <tr>
  67.                     <td>{{ member.id }}</td>
  68.                     <td>{{ member.firstName }}</td>
  69.                     <td>{{ member.lastName }}</td>
  70.                     <td>{{ member.birthDate ? member.birthDate|date('Y-m-d H:i:s') : '' }}</td>
  71.                     <td>{{ member.sexe }}</td>
  72.                     <td>
  73.                         <!-- Button trigger modal -->
  74.                         <button type="button" class="btn" data-bs-toggle="modal" data-bs-target="#bilansModal">
  75.                             <svg class="svg-icon svg-icon-md me-3">
  76.                                 <svg class="theme-line-0"><use xlink:href="{{asset('icons/orion-svg-sprite.svg#add-1')}}"></use></svg>
  77.                             </svg>
  78.                                         
  79.                         </button>
  80.                         <!-- Modal  Bialn -->
  81.                         <div class="modal fade" id="bilansModal" tabindex="-1" aria-labelledby="bilansModalLabel" aria-hidden="true">
  82.                         <div class="modal-dialog modal-dialog-centered modal-xl">
  83.                             <div class="modal-content">
  84.                             <div class="modal-header">
  85.                                 <h5 class="modal-title" id="bilansModalLabel">Bilans </h5>
  86.                                 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  87.                             </div>
  88.                             <div class="modal-body">
  89.                             <div class="row">
  90.                                 <div class="col-md-4">
  91.                                     <div class="card mb-4 bg-success text-white">
  92.                                         <div class="card-header card-header-transparent card-heading">5 Kilos perdu la semaine derniére</div>
  93.                                         <div class="card-body text-center">
  94.                                             <h5 class="card-title">Poids Initial : 120 kg</h5>
  95.                                             <h5 class="card-title">Poids Actuelle : 95 kg</h5>
  96.                                             <h5 class="card-title">Total Perdu : 25 kg</h5>
  97.                                         </div>
  98.                                     </div>
  99.                                 </div>
  100.                                 <div class="col-md-4">
  101.                                     <div class="card mb-4">
  102.                                         <div class="card-header">
  103.                                             <h4 class="card-heading">Evolution du poids</h4>
  104.                                         </div>
  105.                                         <div class="card-body">
  106.                                             <canvas id="lineChartCustom2"></canvas>
  107.                                         </div>
  108.                                     </div>
  109.                                 </div>
  110.                                 <div class="col-md-4">
  111.                                     <div class="card mb-4">
  112.                                         <div class="card-header">
  113.                                             <h4 class="card-heading">Evolution du muscle</h4>
  114.                                         </div>
  115.                                         <div class="card-body">
  116.                                             <canvas id="lineChartCustom3"></canvas>
  117.                                         </div>
  118.                                     </div>
  119.                                 </div>
  120.                             </div>
  121.                             <div class="row">
  122.                                 <div class="col-12">
  123.                                     <div class="card mb-4">
  124.                                     <div class="card-header">
  125.                                         <h4 class="card-heading">{{member.firstName}} {{member.lastName}}</h4>
  126.                                         <a href="{{ path('app_bilan_new') }}">
  127.                                             <span class="badge rounded-pill me-2 p-2 bg-primary" style="float:right"> Ajouter un Bilan</span>
  128.                                         </a>
  129.                                     </div>
  130.                                     <div class="card-body">                           
  131.                                         <table class="table table-striped card-text">
  132.                                             <thead>
  133.                                                 <tr>
  134.                                                 <th>#</th>
  135.                                                 <th>Date</th>
  136.                                                 <th>Taille</th>
  137.                                                 <th>Poids Initial</th>
  138.                                                 <th>Détails</th>
  139.                                                 <th>
  140.                                                 Mesures
  141.                                                 </th>
  142.                                                 </tr>
  143.                                             </thead>
  144.                                             <tbody>
  145.                                             {% for bilan in member.bilans %}
  146.                                             <tr>
  147.                                                     <th scope="row">{{ bilan.id}}</th>
  148.                                                     <td>{{ bilan.createdAt|date('d/m/Y') }}</td>
  149.                                                     <td>{{ bilan.size  }}</td>
  150.                                                     <td>{{ bilan.weight  }}</td>
  151.                                                     <td>
  152.                                                         <a href="{{ path('app_bilan_show', {'id': bilan.id}) }}" title="Afficher plus de détails">
  153.                                                             <svg class="svg-icon svg-icon-md me-3">
  154.                                                                 <svg class="theme-line-0"><use xlink:href="{{asset('icons/orion-svg-sprite.svg#find-1')}}"></use></svg>
  155.                                                             </svg>
  156.                                                         </a>
  157.                                                     </td>
  158.                                                     <td>
  159.                                                         <a href="{{ path('app_bilan_show', {'id': bilan.id}) }}" title="Afficher plus de détails">
  160.                                                             <svg class="svg-icon svg-icon-md me-3">
  161.                                                                 <svg class="theme-line-2"><use xlink:href="{{asset('icons/orion-svg-sprite.svg#sorting-1')}}"></use></svg>
  162.                                                             </svg>
  163.                                                         </a>
  164.                                                     </td>
  165.                                          
  166.                                                 </tr>
  167.                                                 
  168.                                             {% endfor %} 
  169.         
  170.                                             </tbody>
  171.                                         </table>
  172.                                     </div>
  173.                                     </div>
  174.                                 </div>
  175.                             </div>
  176.                                 
  177.                             </div>
  178.                             <div class="modal-footer">
  179.                                 <button type="button" class="btn btn-warning" data-bs-dismiss="modal">Fermer</button>
  180.                             </div>
  181.                             </div>
  182.                         </div>
  183.                         </div>
  184.                     </td>
  185.                     <td>
  186.                         
  187.                         <a href="{{ path('app_member_show', {'id': member.id}) }}" title="afficher">
  188.                             <svg class="svg-icon svg-icon-md me-3">
  189.                                 <svg class="theme-line-0"><use xlink:href="{{asset('icons/orion-svg-sprite.svg#zoom-in-1')}}"></use></svg>
  190.                             </svg>
  191.                          </a>
  192.                     </td>
  193.                     <td>
  194.                         <a href="{{ path('app_member_edit', {'id': member.id}) }}" title="modifier">
  195.                         <svg class="svg-icon svg-icon-md me-3">
  196.                             <svg class="theme-line-0"><use xlink:href="{{asset('icons/orion-svg-sprite.svg#pencil-1')}}"></use></svg>
  197.                         </svg>
  198.                         </a>
  199.                     </td>
  200.                 </tr>
  201.             {% else %}
  202.                 <tr>
  203.                     <td colspan="11">Aucun Membre trouvé</td>
  204.                 </tr>
  205.             {% endfor %}
  206.             </tbody>
  207.         </table>
  208.   </div>
  209. </section>
  210.          {% block javascripts %}
  211.             <script src="{{asset('js/charts-custom.js')}}"></script>
  212.                 <script src="{{asset('vendor/chart.js/Chart.min.js')}}"></script>
  213.             <script src="{{asset('js/charts-defaults.js')}}"></script>
  214.           <script type="text/javascript">
  215.             document.addEventListener("DOMContentLoaded", function () {
  216.         const lineChartCustom2 = new Chart(document.getElementById("lineChartCustom2"), {
  217.         type: "line",
  218.         options: {
  219.             tooltips: {
  220.                 mode: "index",
  221.                 intersect: false,
  222.             },
  223.             scales: {
  224.                 xAxes: [
  225.                     {
  226.                         display: false,
  227.                     },
  228.                 ],
  229.                 yAxes: [
  230.                     {
  231.                         ticks: {
  232.                             max: 200,
  233.                             min: 50,
  234.                         },
  235.                         gridLines: {
  236.                             display: true,
  237.                             drawBorder: false,
  238.                         },
  239.                     },
  240.                 ],
  241.             },
  242.             legend: {
  243.                 display: false,
  244.             },
  245.         },
  246.         data: {
  247.             labels: ["Semaine1", "Semaine2", "Semaine3", "Semaine4", "Semaine5", "Semaine6", "Semaine7"],
  248.             datasets: [
  249.                 {
  250.                     label: "poids",
  251.                     fill: true,
  252.                     backgroundColor: window.gradients.primaryWhite,
  253.                     borderColor: window.colors.primary,
  254.                     pointBorderColor: window.colors.primary,
  255.                     pointHoverBackgroundColor: window.colors.primary,
  256.                     borderCapStyle: "butt",
  257.                     borderDash: [],
  258.                     borderJoinStyle: "miter",
  259.                     borderWidth: 2,
  260.                     pointBackgroundColor: window.colors.primary,
  261.                     pointBorderWidth: 5,
  262.                     pointHoverRadius: 5,
  263.                     pointHoverBorderColor: window.colors.primary,
  264.                     pointHoverBorderWidth: 1,
  265.                     pointRadius: 0,
  266.                     pointHitRadius: 2,
  267.                     data: [125, 120, 117, 100, 105, 99, 95],
  268.                     spanGaps: false,
  269.                 },
  270.             ],
  271.         },
  272.     });
  273.     const lineChartCustom3 = new Chart(document.getElementById("lineChartCustom3"), {
  274.         type: "line",
  275.         options: {
  276.             tooltips: {
  277.                 mode: "index",
  278.                 intersect: false,
  279.             },
  280.             scales: {
  281.                 xAxes: [
  282.                     {
  283.                         display: false,
  284.                     },
  285.                 ],
  286.                 yAxes: [
  287.                     {
  288.                         ticks: {
  289.                             max: 100,
  290.                             min: 0,
  291.                         },
  292.                         gridLines: {
  293.                             display: true,
  294.                             drawBorder: false,
  295.                         },
  296.                     },
  297.                 ],
  298.             },
  299.             legend: {
  300.                 display: false,
  301.             },
  302.         },
  303.         data: {
  304.             labels: ["Semaine1", "Semaine2", "Semaine3", "Semaine4", "Semaine5", "Semaine6", "Semaine7"],
  305.             datasets: [
  306.                 {
  307.                     label: "pourcentage",
  308.                     fill: true,
  309.                     backgroundColor: window.gradients.primaryWhite,
  310.                     borderColor: window.colors.primary,
  311.                     pointBorderColor: window.colors.primary,
  312.                     pointHoverBackgroundColor: window.colors.primary,
  313.                     borderCapStyle: "butt",
  314.                     borderDash: [],
  315.                     borderJoinStyle: "miter",
  316.                     borderWidth: 2,
  317.                     pointBackgroundColor: window.colors.primary,
  318.                     pointBorderWidth: 5,
  319.                     pointHoverRadius: 5,
  320.                     pointHoverBorderColor: window.colors.primary,
  321.                     pointHoverBorderWidth: 1,
  322.                     pointRadius: 0,
  323.                     pointHitRadius: 2,
  324.                     data: [14, 15, 16, 17, 18, 19, 20],
  325.                     spanGaps: false,
  326.                 },
  327.             ],
  328.         },
  329.     });
  330.             
  331.             
  332.             })
  333.           </script>
  334. {% endblock %}
  335. {% endblock %}