templates/student/show.html.twig line 1

Open in your IDE?
  1. {% extends 'layout/backEndLayout.html.twig' %}
  2. {% block title %}
  3.     Présentation de l̀annee scolaire -
  4.     {{ parent() }}
  5. {% endblock %}
  6. {% set totalP =0 %}
  7. {% if(payments is defined) %}
  8.     {% for p in payments %}
  9.         {% set totalP = totalP + p.amount %}
  10.     {% endfor %}                    
  11. {% endif %}
  12. {% block content %}
  13.     <div class="row mt-3">
  14.         <div class="col-2">
  15.             <div class="btn-group record_actions  m-2">
  16.                 {% if(sub is defined) %}
  17.                     <a class="btn btn-info" href="{{ path('admin_classrooms_show', {id: sub.classroom.id}) }}">
  18.                         <i class="fa fa-list"></i>
  19.                     </a>
  20.                 {% endif %}
  21.             </div>
  22.             <div class="card" > 
  23.                 {% if(file_exists is defined) %}
  24.                      <img src="{{ (file_exists ? asset('assets/images/student/'~ student.imageName ) : (student.gender ? asset('assets/images/student/female-default-avatar.jpg') : asset('assets/images/student/male-default-avatar.jpg'))) }}" alt="{{ student.lastname }}" class="w-100 card-img-top"></div>
  25.                 {% endif %}
  26.             </div>
  27.         </div>
  28.         <div class="col-10 card">
  29.                 <article class="p-3">
  30.                     <div class="card-header">
  31.                         <h4 class="my-0 font-weight-normal text-center text-justify text-uppercase">
  32.                             Identite  de l eleve
  33.                                                                                                                                                                 
  34.                                                                                                                                         
  35.                                                                                                             
  36.                                                                                 
  37.                                                     
  38.                         </h4>
  39.                     </div>
  40.                     <div class="container">
  41.                         <div class="card-deck mb-3 text-center">
  42.                             <table class="table table-hover record_properties center">
  43.                                 <tbody>
  44.                                     <tr>
  45.                                         <th scope="row">
  46.                                             Matricule
  47.                                                                                                                                                                                                                         
  48.                                                                                                                                                                             
  49.                                                                                                                                 
  50.                                                                                     
  51.                                         </th>
  52.                                         <td>
  53.                                             {{ student.matricule }}
  54.                                         </td>
  55.                                     </tr>
  56.                                     <tr>
  57.                                         <th scope="row">
  58.                                             Nom
  59.                                                                                                                                                                                                                         
  60.                                                                                                                                                                             
  61.                                                                                                                                 
  62.                                                                                     
  63.                                         </th>
  64.                                         <td>
  65.                                             {{ student.lastName }}
  66.                                         </td>
  67.                                     </tr>
  68.                                     <tr>
  69.                                         <th scope="row">
  70.                                             Prénom
  71.                                                                                                                                                                                                                         
  72.                                                                                                                                                                             
  73.                                                                                                                                 
  74.                                                                                     
  75.                                         </th>
  76.                                         <td>
  77.                                             {{ student.firstName }}
  78.                                         </td>
  79.                                     </tr>
  80.                                     <tr>
  81.                                         <th scope="row">
  82.                                             Sexe
  83.                                                                                                                                                                                                                         
  84.                                                                                                                                                                             
  85.                                                                                                                                 
  86.                                                                                     
  87.                                         </th>
  88.                                         <td>
  89.                                             {% if student.gender %}
  90.                                                 F
  91.                                                                                                                                                                                                                                                                                         
  92.                                                                                                                                                                                                                                             
  93.                                                                                                                                                                                             
  94.                                                                                                                                             
  95.                                                                                             
  96.                                             {% else %}
  97.                                                 M
  98.                                                                                                                                                                                                                                                                                         
  99.                                                                                                                                                                                                                                             
  100.                                                                                                                                                                                             
  101.                                                                                                                                             
  102.                                                                                             
  103.                                             {% endif %}
  104.                                         </td>
  105.                                     </tr>
  106.                                     <tr>
  107.                                         <th scope="row">
  108.                                             Date de naissace
  109.                                                                                                                                                                                                                         
  110.                                                                                                                                                                             
  111.                                                                                                                                 
  112.                                                                                     
  113.                                         </th>
  114.                                         <td>
  115.                                             {% if student.birthday %}
  116.                                                 {{ student.birthday|date('Y-m-d') }}
  117.                                             {% endif %}
  118.                                         </td>
  119.                                     </tr>
  120.                                     <tr>
  121.                                         <th scope="row">
  122.                                             Lieu de naissance
  123.                                                                                                                                                                                                                         
  124.                                                                                                                                                                             
  125.                                                                                                                                 
  126.                                                                                     
  127.                                         </th>
  128.                                         <td>
  129.                                             {{ student.birthplace }}
  130.                                         </td>
  131.                                     </tr>
  132.                                     <tr>
  133.                                         <th scope="row">
  134.                                             Père
  135.                                                                                                                                                                                                                         
  136.                                                                                                                                                                             
  137.                                                                                                                                 
  138.                                                                                     
  139.                                         </th>
  140.                                         <td>
  141.                                             {{ student.fatherName }}
  142.                                         </td>
  143.                                     </tr>
  144.                                     <tr>
  145.                                         <th scope="row">
  146.                                             Mère
  147.                                                                                                                                                                                                                         
  148.                                                                                                                                                                             
  149.                                                                                                                                 
  150.                                                                                     
  151.                                         </th>
  152.                                         <td>
  153.                                             {{ student.motherName }}
  154.                                         </td>
  155.                                     </tr>
  156.                                     <tr>
  157.                                         <th scope="row">
  158.                                             Contact 1
  159.                                                                                                                                                                                                                         
  160.                                                                                                                                                                             
  161.                                                                                                                                 
  162.                                                                                     
  163.                                         </th>
  164.                                         <td>
  165.                                             {{ student.primaryContact }}
  166.                                         </td>
  167.                                     </tr>
  168.                                     <tr>
  169.                                         <th scope="row">
  170.                                             Contact 2
  171.                                                                                                                                                                                                                         
  172.                                                                                                                                                                             
  173.                                                                                                                                 
  174.                                                                                     
  175.                                         </th>
  176.                                         <td>
  177.                                             {{ student.secondaryContact }}
  178.                                         </td>
  179.                                     </tr>
  180.                                     <tr>
  181.                                         <th scope="row">
  182.                                             Maladie particulière
  183.                                                                                                                                                                                                                         
  184.                                                                                                                                                                             
  185.                                                                                                                                 
  186.                                                                                     
  187.                                         </th>
  188.                                         <td>
  189.                                             {{ student.particularDisease }}
  190.                                         </td>
  191.                                     </tr>
  192.                                     <tr>
  193.                                         <th scope="row">
  194.                                             Autres
  195.                                                                                                                                                                                                                         
  196.                                                                                                                                                                             
  197.                                                                                                                                 
  198.                                                                                     
  199.                                         </th>
  200.                                         <td>
  201.                                             {{ student.otherInformations }}
  202.                                         </td>
  203.                                     </tr>
  204.                                     <tr>
  205.                                         <th scope="row">
  206.                                             Photo d identite
  207.                                                                                                                                                                                                                         
  208.                                                                                                                                                                             
  209.                                                                                                                                 
  210.                                                                                     
  211.                                         </th>
  212.                                         <td>
  213.                                             {{ student.imageName }}
  214.                                         </td>
  215.                                     </tr>
  216.                                 </tbody>
  217.                             </table>
  218.                             <div class=" ">
  219.                                 <a target="_blank" class="btn btn-outline-primary" href="{{ path('admin_student_receipt', {id: student.id}) }}">
  220.                                     <i class="fa fa-money"></i>
  221.                                     Recu de scolarite
  222.                                                                                                                                                                                                                 
  223.                                                                                                                                                                                 
  224.                                                                                                                                             
  225.                                                                                                         
  226.                                                                     
  227.                                 </a>
  228.                                  <a target="_blank" class="btn btn-outline-secondary" href="{{ path('admin_student_badge', {id: student.id}) }}">
  229.                                     <i class="fa fa-id-badge"></i>
  230.                                     Badge
  231.                                                                                                                                                                                                                 
  232.                                                                                                                                                                                 
  233.                                                                                                                                             
  234.                                                                                                         
  235.                                                                     
  236.                                 </a>
  237.                                  <a target="_blank" class="btn btn-outline-info" href="{{ path('admin_student_certificate', {id: student.id}) }}">
  238.                                     <i class="fa fa-file"></i>
  239.                                     Certificat scolairite
  240.                                                                                                                                                                                                                 
  241.                                                                                                                                                                                 
  242.                                                                                                                                             
  243.                                                                                                         
  244.                                                                     
  245.                                 </a>
  246.                                 |
  247.                                 <a target="_blank" class="btn btn-outline-file" href="{{ path('admin_students_reportcards_quat', {id: student.id}) }}">
  248.                                     <i class="fa fa-file"></i>
  249.                                     Bull Trim
  250.                                                                                                                                                                                                                 
  251.                                                                                                                                                                                 
  252.                                                                                                                                             
  253.                                                                                                         
  254.                                                                     
  255.                                 </a>
  256.                                 |
  257.                                                                                                                                                                                             
  258.                                                                                                                                                                 
  259.                                                                                                                                 
  260.                                                                                                 
  261.                                                                 
  262.                                 <a target="_blank" class="btn btn-warning" href="{{ path('admin_students_reportcards_year', {id: student.id}) }}">
  263.                                     <i class="fa fa-file"></i>
  264.                                     Bull Ann
  265.                                                                                                                                                                                                                                         
  266.                                                                                                                                                                                                                 
  267.                                                                                                                                                                                 
  268.                                                                                                                                             
  269.                                                                                                         
  270.                                                                     
  271.                                 </a>
  272.                                 |
  273.                                                                                                                                                                                             
  274.                                                                                                                                                                 
  275.                                                                                                                                 
  276.                                                                                                 
  277.                                                                 
  278.                                 <a class="btn btn-outline-warning" href="{{ path('admin_students_edit', {id: student.id}) }}">
  279.                                     <i class="fa fa-pencil-square-o" aria-hidden="true"></i>
  280.                                     Edit
  281.                                                                                                                                                                                                                 
  282.                                                                                                                                                                                 
  283.                                                                                                                                             
  284.                                                                                                         
  285.                                                                     
  286.                                 </a>
  287.                                 |
  288.                                                                                                                                                                                             
  289.                                                                                                                                                                 
  290.                                                                                                                                 
  291.                                                                                                 
  292.                                                                 
  293.                                 <a class="btn btn-outline-danger" href="#" onclick="event.preventDefault() ; confirm('Are you sure ?') && document.getElementById('js-student-delete-form').submit();">
  294.                                     <i class="fa fa-trash"></i>
  295.                                     Delete
  296.                                                                                                                                                                                                                 
  297.                                                                                                                                                                                 
  298.                                                                                                                                             
  299.                                                                                                         
  300.                                                                     
  301.                                 </a>
  302.                                 <form id="js-student-delete-form" action="{{ path('admin_students_delete', {id: student.id}) }}" method="post" style="display: none;">
  303.                                     <input type="hidden" name="csrf_token" value="{{ csrf_token('students_deletion' ~ student.id ) }}" id="">
  304.                                         <input type="hidden" name="_method" value="DELETE">
  305.                                 </form>
  306.                             </div>
  307.                                 
  308.                          </div>
  309.                      </div>
  310.                 </article>
  311.         </div> 
  312.         <div class="row jumbotron">
  313.                     <div class="col-6">
  314.                         <br/>
  315.                         <br/>
  316.                         <div class="text-center">
  317.                             <h2>
  318.                                 Scolarité-Versements éffectués pour l'élève
  319.                                                                                                                                                                                 
  320.                                                                                                                                                             
  321.                                                                                                                             
  322.                                                                                             
  323.                                                             
  324.                             </h2>
  325.                         </div>
  326.                         <table class="table table-striped table-hover table-bordered records_list center">
  327.                             <thead>
  328.                                 <tr>
  329.                                     <th scope="col">
  330.                                         Date
  331.                                                                                                                                                                                                                                 
  332.                                                                                                                                                                                                     
  333.                                                                                                                                                             
  334.                                                                                                                     
  335.                                                                             
  336.                                     </th>
  337.                                     <th scope="col">
  338.                                         Montant
  339.                                                                                                                                                                                                                                 
  340.                                                                                                                                                                                                     
  341.                                                                                                                                                             
  342.                                                                                                                     
  343.                                                                             
  344.                                     </th>
  345.                                 </tr>
  346.                             </thead>
  347.                             <tbody>
  348.                                 {% if(payments is defined) %}
  349.                                     {% set total =0 %}
  350.                                     {% for p in payments %}
  351.                                         <tr>
  352.                                             <td>
  353.                                                 {% if p.updatedAt %}
  354.                                                     {{ p.updatedAt|date('Y-m-d') }}
  355.                                                 {% endif %}
  356.                                             </td>
  357.                                             <td>
  358.                                                 {{ p.amount }}
  359.                                             </td>
  360.                                         </tr>
  361.                                         {% set total = total + p.amount %}
  362.                                     {% endfor %}
  363.                                     <tr>
  364.                                         <td class="center">
  365.                                             <b>
  366.                                                 Total
  367.                                                                                                                                                                                                                                             
  368.                                                                                                                                                                                             
  369.                                                                                                                                             
  370.                                                                                             
  371.                                             </b>
  372.                                         </td>
  373.                                         <td>
  374.                                             {{ total }}
  375.                                         </td>
  376.                                     </tr>
  377.                                 {% endif %}
  378.                             </tbody>
  379.                         </table>
  380.                     </div>
  381.                     <div class="col-6">
  382.                         <br/>
  383.                         <br/>
  384.                         <div class="text-center">
  385.                             <h2>
  386.                                 Scolarité-Versements éffectués pour l'élève
  387.                                                                                                                                                                                 
  388.                                                                                                                                                             
  389.                                                                                                                             
  390.                                                                                             
  391.                                                             
  392.                             </h2>
  393.                         </div>
  394.                         <table class="table table-striped table-hover table-bordered records_list center">
  395.                             <thead>
  396.                                 <tr>
  397.                                     <th scope="col">
  398.                                         Rang
  399.                                                                                                                                                                                                                                 
  400.                                                                                                                                                                                                     
  401.                                                                                                                                                             
  402.                                                                                                                     
  403.                                                                             
  404.                                     </th>
  405.                                     <th scope="col">
  406.                                         Delaie
  407.                                                                                                                                                                                                                                 
  408.                                                                                                                                                                                                     
  409.                                                                                                                                                             
  410.                                                                                                                     
  411.                                                                             
  412.                                     </th>
  413.                                     <th scope="col">
  414.                                         Montant prevu
  415.                                                                                                                                                                                                                                 
  416.                                                                                                                                                                                                     
  417.                                                                                                                                                             
  418.                                                                                                                     
  419.                                                                             
  420.                                     </th>
  421.                                     <th scope="col">
  422.                                         Montant verse
  423.                                                                                                                                                                                                                                 
  424.                                                                                                                                                                                                     
  425.                                                                                                                                                             
  426.                                                                             
  427.                                     </th>
  428.                                 </tr>
  429.                             </thead>
  430.                             <tbody>
  431.                                 {% if(installments is defined) %}
  432.                                     {% set total =0 %}
  433.                                     {% for p in installments %}
  434.                                         {% set total = total + p.amount %}
  435.                                         <tr>
  436.                                             <td>{{ p.ranking }}</td>
  437.                                             <td>{{ p.deadline|date('Y-m-d') }}</td>
  438.                                             <td>{{ p.amount }}</td>
  439.                                              <td>
  440.                                                     {% if( totalP >= total )%} 
  441.                                                         {{ p.amount }}
  442.                                                         {% set totalP = totalP - p.amount %}
  443.                                                     {% else %}
  444.                                                          {{totalP}}
  445.                                                     {% endif %}
  446.                                             </td>
  447.                                         </tr>
  448.                                     {% endfor %}
  449.                                     <tr>
  450.                                         <td class="center">
  451.                                             <b>
  452.                                                 Total                                                                                                                                                                                                    
  453.                                          </b>
  454.                                         </td>
  455.                                         <td>
  456.                                             {{ total }}
  457.                                         </td>
  458.                                     </tr>
  459.                                 {% endif %}
  460.                             </tbody>
  461.                         </table>
  462.                     </div>
  463.         </div>
  464.                 <div class="row jumbotron">
  465.                     
  466.                     <div class="col">
  467.                         <div class="text-center">
  468.                             <h2>
  469.                                 Ancienneté de l'élève
  470.                                                                                                                                                                                 
  471.                                                                                                                                                             
  472.                                                                                                                             
  473.                                                                                             
  474.                                                             
  475.                             </h2>
  476.                         </div>
  477.                         <table class="table table-striped table-hover table-bordered records_list center">
  478.                             <thead>
  479.                                 <tr>
  480.                                     <th scope="col">
  481.                                         Date d'inscription
  482.                                                                                                                                                                                                                                 
  483.                                                                                                                                                                                                     
  484.                                                                                                                                                             
  485.                                                                                                                     
  486.                                                                             
  487.                                     </th>
  488.                                     <th scope="col">
  489.                                         Année
  490.                                                                                                                                                                                                                                 
  491.                                                                                                                                                                                                     
  492.                                                                                                                                                             
  493.                                                                                                                     
  494.                                                                             
  495.                                     </th>
  496.                                     <th scope="col">
  497.                                         Classe
  498.                                                                                                                                                                                                                                 
  499.                                                                                                                                                                                                     
  500.                                                                                                                                                             
  501.                                                                                                                     
  502.                                                                             
  503.                                     </th>
  504.                                     <th scope="col">
  505.                                         Resultat
  506.                                                                                                                                                                                                                                 
  507.                                                                                                                                                                                                     
  508.                                                                                                                                                             
  509.                                                                                                                     
  510.                                                                             
  511.                                     </th>
  512.                                 </tr>
  513.                             </thead>
  514.                             <tbody>
  515.                                 {% if(student.subscriptions) %}
  516.                                     {% for s in student.subscriptions %}
  517.                                         <tr>
  518.                                             <td>
  519.                                                 {% if s.createdAt %}
  520.                                                     {{ s.createdAt|date('Y-m-d H:m:s') }}
  521.                                                 {% endif %}
  522.                                             </td>
  523.                                             <td>
  524.                                                 {{ s.schoolYear.wording }}
  525.                                             </td>
  526.                                             <td>
  527.                                                 <a href="{{ path('admin_classrooms_show', {id: s.classRoom.id}) }}">
  528.                                                     {{ s.classRoom.name }}
  529.                                                 </a>
  530.                                             </td>
  531.                                             <td>
  532.                                                 <a href="{{ path('admin_subscriptions_show', {id: s.id}) }}">
  533.                                                     {{ s.verbalOfficialExamResult }}
  534.                                                     {% if(s.classRoom.apc) %}
  535.                                                         (Examen officiel)  
  536.                                                                                                                                                                     
  537.                                                                                                             
  538.                                                     {% endif %}
  539.                                                 </a>
  540.                                             </td>
  541.                                         </tr>
  542.                                     {% endfor %}
  543.                                 {% endif %}
  544.                             </tbody>
  545.                         </table>
  546.                         <article class="p-3">
  547.                             <canvas id="studentPerformanceGraph" width="600" height="300"></canvas>
  548.                         </article>
  549.                     </div>
  550.                 </div>
  551.             
  552.             {% endblock %}
  553.             {% block javascripts %}
  554.                 {{ parent() }}
  555.                 <script type="text/javascript">
  556.                     const studentPerformanceGraph =$("#studentPerformanceGraph");
  557.                     const datasets = [];
  558.                     // Generate a random color 
  559.                     const randomRgbColor = () => {
  560.                             let r = Math.floor(Math.random() * 256); // Random between 0-255
  561.                             let g = Math.floor(Math.random() * 256); // Random between 0-255
  562.                             let b = Math.floor(Math.random() * 256); // Random between 0-255
  563.                             return 'rgb(' + r + ',' + g + ',' + b + ')';
  564.                     };
  565.                      
  566.                 {% if session1 is defined %}
  567.                     datasets.push( {
  568.                         label: "Session 1",
  569.                         data : {{session1|raw}},
  570.                         fill : false,
  571.                         backgroundColor: randomRgbColor()
  572.                     } )
  573.                    
  574.                 {% endif %}
  575.                 {% if session2 is defined %}
  576.                     datasets.push( {
  577.                         label: "Session 2",
  578.                         data : {{session2|raw}},
  579.                         fill : false,
  580.                         backgroundColor: randomRgbColor()
  581.                     } )
  582.                 {% endif %}
  583.                  {% if session3 is defined %}
  584.                     datasets.push( {
  585.                         label: "Session 3",
  586.                         data : {{session3|raw}},
  587.                         fill : false,
  588.                         backgroundColor: randomRgbColor()
  589.                     } )
  590.                 {% endif %}
  591.                  {% if session4 is defined %}
  592.                     datasets.push( {
  593.                         label: "Session 4",
  594.                         data : {{session4|raw}},
  595.                         fill : false,
  596.                         backgroundColor: randomRgbColor()
  597.                     } )
  598.                 {% endif %}
  599.                  {% if session5 is defined %}
  600.                     datasets.push( {
  601.                         label: "Session 5",
  602.                         data : {{session5|raw}},
  603.                         fill : false,
  604.                         backgroundColor: randomRgbColor()
  605.                     } )
  606.                 {% endif %}
  607.                  {% if session6 is defined %}
  608.                     datasets.push( {
  609.                         label: "Session 6",
  610.                         data : {{session3|raw}},
  611.                         fill : false,
  612.                         backgroundColor: randomRgbColor()
  613.                     } )
  614.                      
  615.                 {% endif %}
  616.                                 
  617.                     let graph = new Chart(studentPerformanceGraph, {
  618.                         type: "bar",
  619.                         data: {
  620.                              labels: {{ cours|raw }},
  621.                              datasets: datasets,
  622.                              }, 
  623.                              options: {
  624.                                 plugins: {
  625.                                     title: {
  626.                                         display: true,
  627.                                         text: 'Performances  annuelles ',
  628.                                         font: {
  629.                                             size: 24,
  630.                                             style: 'bold',
  631.                                             family: 'Helvetica Neue',
  632.                                         },
  633.                                         position: 'bottom',  
  634.                                     }
  635.                                   }
  636.                                 }   
  637.                             }
  638.                         );
  639.         </script>   
  640. {% endblock %}
  641.