templates/content/consultant/consultant_page.html.twig line 1

Open in your IDE?
  1. <section class="d-sm-none d-block" style="height: 80px;">
  2. </section>
  3. <section class="d-none d-sm-block">
  4.     {% for message in app.flashes("NeedCredit")%}
  5.     <div class="alert alert-danger alert-icon col-9 mx-auto border border-danger" role=" alert">
  6.         <div class="card col mx-auto card-icon ">
  7.             <button class="btn-close" type="button" data-bs-dismiss="alert" aria-label="Close"></button>
  8.             <div class="row no-gutters">
  9.                 <div class="col-auto card-icon-aside bg-danger">
  10.                    <i class="fas fa-euro-sign fa-2x text-white"></i>
  11.                 </div>
  12.                 <div class="col">
  13.                     <div class="card-body py-5">
  14.                         <h5 class="card-title">Credit Insufissant</h5>
  15.                         <p class="card-text">{{message}}<a href="https://demo.media-technologies.fr/tarifs">ici</a></p>
  16.                     </div>
  17.                 </div>
  18.             </div>
  19.         </div>
  20.     </div>
  21.     {% endfor %}
  22.     <h1 class="text-center text-uppercase mt-10 mb-3 ">Comment Contacter {{conseiller[0].userPseudo}} pour une
  23.         consultation de voyance ?</h1>
  24.     {% if app.user %}
  25.     <div class="col-lg-8 mx-auto mb-5 text-center">
  26.         <h4> Pour consulter {{conseiller[0].userPseudo}} penser à créditer votre compte</h4>
  27.         <br> <a href="{{path('app_tarifs')}}"> <button class="btn btn-primary mt-2"> Créditer votre compte </button>
  28.     </div>
  29.     {% else %}
  30.     <div class="col-lg-8 mx-auto mb-5 text-center">
  31.         <h4>Créer votre compte client dès maintenant, c'est gratuit et sans engagement.
  32.             Pour se faire, rien de plus simple, vous n'avez qu'a remplir le formulaire suivant. </h4>
  33.         <br> <a href="{{path('app_register')}}"> <button class="btn btn-primary mt-2"> Créer votre compte</button>
  34.     </div>
  35.     {% endif %}
  36.     <div class="container-xl col-sm-10  row mx-auto mt-4 mb-4">
  37.         <div class="col-sm-3 ">
  38.             <div class="card shadow">
  39.                 <h5 class="card-title text-center">{{conseiller[0].userPseudo}} - {{conseiller[0].userExtensionCode}}
  40.                 </h5>
  41.                 <img src="{{conseiller[0].photo}}" class="card-img-top" alt="...">
  42.                 <div class="card-body">
  43.                     {% if conseiller[0].note == 0 %}
  44.                     <p class="text-center  text-dark small ">Avis des membres
  45.                         <i class="bi bi-star"></i>
  46.                         <i class="bi bi-star"></i>
  47.                         <i class="bi bi-star"></i>
  48.                         <i class="bi bi-star"></i>
  49.                         <i class="bi bi-star"></i>
  50.                     </p>
  51.                     {% elseif conseiller[0].note == 0.5 %}
  52.                     <p class="text-center text-dark  small ">Avis des membres
  53.                         <i class="bi bi-star-half" style="color: #d78316;"></i>
  54.                         <i class="bi bi-star"></i>
  55.                         <i class="bi bi-star"></i>
  56.                         <i class="bi bi-star"></i>
  57.                         <i class="bi bi-star"></i>
  58.                     </p>
  59.                     {% elseif conseiller[0].note == 1 %}
  60.                     <p class="text-center text-dark  small ">Avis des membres
  61.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  62.                         <i class="bi bi-star"></i>
  63.                         <i class="bi bi-star"></i>
  64.                         <i class="bi bi-star"></i>
  65.                         <i class="bi bi-star"></i>
  66.                     </p>
  67.                     {% elseif conseiller[0].note == 1.5 %}
  68.                     <p class="text-center text-dark  small ">Avis des membres
  69.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  70.                         <i class="bi bi-star-half" style="color: #d78316;"></i>
  71.                         <i class="bi bi-star"></i>
  72.                         <i class="bi bi-star"></i>
  73.                         <i class="bi bi-star"></i>
  74.                     </p>
  75.                     {% elseif conseiller[0].note == 2 %}
  76.                     <p class="text-center text-dark  small ">Avis des membres
  77.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  78.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  79.                         <i class="bi bi-star"></i>
  80.                         <i class="bi bi-star"></i>
  81.                         <i class="bi bi-star"></i>
  82.                     </p>
  83.                     {% elseif conseiller[0].note == 2.5 %}
  84.                     <p class="text-center  text-dark small ">Avis des membres
  85.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  86.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  87.                         <i class="bi bi-star-half" style="color: #d78316;"></i>
  88.                         <i class="bi bi-star"></i>
  89.                         <i class="bi bi-star"></i>
  90.                     </p>
  91.                     {% elseif conseiller[0].note == 3 %}
  92.                     <p class="text-center  text-dark small ">Avis des membres
  93.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  94.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  95.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  96.                         <i class="bi bi-star"></i>
  97.                         <i class="bi bi-star"></i>
  98.                     </p>
  99.                     {% elseif conseiller[0].note == 3.5 %}
  100.                     <p class="text-center text-dark  small ">Avis des membres
  101.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  102.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  103.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  104.                         <i class="bi bi-star-half" style="color: #d78316;"></i>
  105.                         <i class="bi bi-star"></i>
  106.                     </p>
  107.                     {% elseif conseiller[0].note == 4 %}
  108.                     <p class="text-center  text-dark small ">Avis des membres
  109.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  110.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  111.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  112.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  113.                         <i class="bi bi-star"></i>
  114.                     </p>
  115.                     {% elseif conseiller[0].note == 4.5 %}
  116.                     <p class="text-center text-dark  small ">Avis des membres
  117.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  118.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  119.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  120.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  121.                         <i class="bi bi-star-half" style="color: #d78316;"></i>
  122.                     </p>
  123.                     {% elseif conseiller[0].note == 5 %}
  124.                     <p class="text-center  text-dark small ">Avis des membres
  125.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  126.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  127.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  128.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  129.                         <i class="bi bi-star-fill" style="color: #d78316;"></i>
  130.                     </p>
  131.                     {% endif %}
  132.                     {% if app.user %}
  133.                     <ul class="list-group list-group-flush">
  134.                         <button class="btn btn-primary shadow  mt-2"> <a href="{{path('app_userComment')}}"
  135.                                 class="text-white"><i class="bi bi-eye"></i> Voir mon avis</button></a>
  136.                         {% if conseiller[0].userChatOnline %}
  137.                         <button class="btn btn-primary shadow  mt-2"> <a
  138.                                 href="{{path('app_chat', {userId: conseiller[0].userId, userPseudoId: conseiller[0].userPseudoId })}}"
  139.                                 class="text-white"><i class="bi bi-chat-fill col-12"></i> Chat</button></a>
  140.                         {%else%}
  141.                         <button class="btn btn-dark shadow  mt-2"> <a href="#" class="text-white"><i
  142.                                     class="bi bi-chat-fill col-12"></i> Chat</button></a>
  143.                         {% endif %}
  144.                         <!-- <button class="btn btn-primary shadow  mt-2"> <i class="bi bi-camera-video-fill"></i>
  145.                             Visio</button> -->
  146.                         {# FONCTIONNALITÉ EMAIL DÉSACTIVÉE #}
  147.                         {# <button class="btn btn-primary shadow  mt-2"> <a
  148.                                 href="{{path('question_mail',  {id : conseiller[0].complementId})}}"
  149.                                 class="text-white"><i class="bi bi-envelope-fill col-12"></i> Question Mail </a>
  150.                         </button> #}
  151.                         
  152.                         <button class="btn btn-primary shadow mt-2"> <i class="bi bi-heart-fill"></i> Ajouter aux
  153.                             Favoris</button>
  154.                     </ul>
  155.                     {% else %}
  156.                     <ul class="list-group list-group-flush">
  157.                         <button class="btn btn-primary shadow  mt-2">
  158.                             <a href="{{path('app_login')}}" class="text-white">
  159.                                 <i class="bi bi-box-arrow-in-right"></i> connexion </a>
  160.                         </button>
  161.                         <button class="btn btn-primary shadow  mt-2">
  162.                             <a href="{{path('app_register')}}" class="text-white">
  163.                                 <i class="bi bi-book"></i> Inscription </a>
  164.                         </button>
  165.                     </ul>
  166.                     {% endif %}
  167.                 </div>
  168.             </div>
  169.         </div>
  170.         <div class="card col-lg-9 ">
  171.             <div class="card-header border-bottom ">
  172.                 <!-- Wizard navigation-->
  173.                 <div class="nav nav-pills nav-justified flex-column flex-xl-row nav-wizard " id="cardTab"
  174.                     role="tablist">
  175.                     <!-- Wizard navigation item 1-->
  176.                     <a class="nav-item nav-link active" id="profil-tab" href="#profil" data-bs-toggle="tab" role="tab"
  177.                         aria-controls="profil" aria-selected="true">
  178.                         <div class="wizard-step-icon"><i class="bi bi-person"></i></div>
  179.                         <div class="wizard-step-text">
  180.                             <div class="wizard-step-text-name">Profil</div>
  181.                         </div>
  182.                     </a>
  183.                     <!-- Wizard navigation item 2-->
  184.                     <a class="nav-item nav-link" id="avis-tab" href="#avis" data-bs-toggle="tab" role="tab"
  185.                         aria-controls="avis" aria-selected="true">
  186.                         <div class="wizard-step-icon"><i class="bi bi-book"></i></div>
  187.                         <div class="wizard-step-text">
  188.                             <div class="wizard-step-text-name">Appréciations</div>
  189.                         </div>
  190.                     </a>
  191.                     {% if app.user %}
  192.                     <!-- Wizard navigation item 3-->
  193.                     <a class="nav-item nav-link" id="eval-tab" href="#eval" data-bs-toggle="tab" role="tab"
  194.                         aria-controls="eval" aria-selected="true">
  195.                         <div class="wizard-step-icon"><i class="bi bi-pen-fill"></i></div>
  196.                         <div class="wizard-step-text ">
  197.                             <div class="wizard-step-text-name "> Laissez un avis</div>
  198.                         </div>
  199.                     </a>
  200.                     {% endif %}
  201.                 </div>
  202.             </div>
  203.             <div class="card-body ">
  204.                 <div class="tab-content" id="cardTabContent">
  205.                     <!-- Wizard tab pane item 1-->
  206.                     <div class="tab-pane  fade show active" id="profil" role="tabpanel" aria-labelledby="profil-tab">
  207.                         <div class="row justify-content-center ">
  208.                             {% if conseiller[0].prixParMinute == 0%}
  209.                             {%else%}
  210.                            <!-- <strong class="text-warning text-center mt-n-5">--* Consultation CB à
  211.                                 {{conseiller[0].prixParMinute}} €/mn *--</strong> -->
  212.                             {%endif%}
  213.                             <h2 class=" text-center">{{conseiller[0].titrePage}}</h2>
  214.                             <h4 class=" text-center">{{conseiller[0].metaDescription}}</h4>
  215.                             <p>{{conseiller[0].descriptionLongue|raw}}</p>
  216.                         </div>
  217.                     </div>
  218.                     <!-- Wizard tab pane item 2-->
  219.                     <div class="tab-pane py-5 py-xl-10 fade text-white" id="avis" role="tabpanel"
  220.                         aria-labelledby="avis-tab">
  221.                         {% for avis in conseillerAvis %}
  222.                         {% if avis is empty %}
  223.                         <div class="card shadow border-white bg-primary px-3 py-3 mt-2">
  224.                             <p>Ce conseiller n'a pas encore reçu d'appréciation</p>
  225.                         </div>
  226.                         {% else %}
  227.                         <div class="card shadow border-white bg-primary px-3 py-3 mt-2">
  228.                             <p class=""> <strong>{{avis.prenom}} </strong>le
  229.                                 {{avis.datePost|date|format_datetime(locale='fr',pattern="EEEE dd MMMM YYYY")}}
  230.                             </p>
  231.                             {% if avis.note == 0 %}
  232.                             <p class="   small ">
  233.                                 <i class="bi bi-star"></i>
  234.                                 <i class="bi bi-star"></i>
  235.                                 <i class="bi bi-star"></i>
  236.                                 <i class="bi bi-star"></i>
  237.                                 <i class="bi bi-star"></i>
  238.                             </p>
  239.                             {% elseif avis.note == 1 %}
  240.                             <p class="   small ">
  241.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  242.                                 <i class="bi bi-star"></i>
  243.                                 <i class="bi bi-star"></i>
  244.                                 <i class="bi bi-star"></i>
  245.                                 <i class="bi bi-star"></i>
  246.                             </p>
  247.                             {% elseif avis.note == 2 %}
  248.                             <p class="   small ">Avis des membres
  249.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  250.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  251.                                 <i class="bi bi-star"></i>
  252.                                 <i class="bi bi-star"></i>
  253.                                 <i class="bi bi-star"></i>
  254.                             </p>
  255.                             {% elseif avis.note == 3 %}
  256.                             <p class="   small ">
  257.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  258.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  259.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  260.                                 <i class="bi bi-star"></i>
  261.                                 <i class="bi bi-star"></i>
  262.                             </p>
  263.                             {% elseif avis.note == 4 %}
  264.                             <p class="   small ">
  265.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  266.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  267.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  268.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  269.                                 <i class="bi bi-star"></i>
  270.                             </p>
  271.                             {% elseif avis.note == 5 %}
  272.                             <p class="   small ">
  273.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  274.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  275.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  276.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  277.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  278.                             </p>
  279.                             {% endif %}
  280.                             <p class=""> <strong> Commentaire :</strong> {{avis.commentaire}}</p>
  281.                             {% if avis.reponse %}
  282.                             <p class=""> <strong> Reponse :</strong> {{avis.reponse}}</p>
  283.                             {% endif %}
  284.                         </div>
  285.                         {% endif %}
  286.                         {% endfor %}
  287.                     </div>
  288.                     {% if app.user %}
  289.                     <div class="tab-pane py-5 py-xl-10 fade" id="eval" role="tabpanel" aria-labelledby="eval-tab">
  290.                         <div class="row justify-content-center text-white">
  291.                             <h4 class="">Soumission d'une appréciation client</h4>
  292.                             {{ form_start(avisForm) }}
  293.                             <div class="mb-3">
  294.                                 <!-- <label for="exampleFormControlTextarea1">Commentaire</label>
  295.                                 <textarea class="form-control" id="exampleFormControlTextarea1" rows="3"></textarea> -->
  296.                                 {{ form_row(avisForm.message , {
  297.                                     label: 'Commentaire'
  298.                                 }) }}
  299.                             </div>
  300.                             <div class="mb-3">
  301.                                 {{ form_row(avisForm.note , {
  302.                                     label: 'Note'
  303.                                 }) }}
  304.                             </div>
  305.                             <div>
  306.                                 {{ form_row(avisForm.envoyer , {
  307.                                     label: 'Evaluer'
  308.                                 }) }}
  309.                               
  310.                             </div>
  311.                             {{ form_end(avisForm) }}
  312.                         </div>
  313.                     </div>
  314.                     {% endif %}
  315.                 </div>
  316.             </div>
  317.         </div>
  318.     </div>
  319.     <div class="container-xl px-4 mt-4">
  320.         {# <!-- <div class="card mb-4">
  321.             <div class="card-header">Planning</div>
  322.             <div class="card-body">
  323.                 <div class="table-responsive h-100 ">
  324.                     <!-- <div class="container-fluid row mx-auto">
  325.                         <p class="col-6">Disponible <i class="bi bi-square-fill" style="color: #198754;"></i> </p>
  326.                         <p class="col-6">Indisponible : <i class="bi bi-square-fill" style="color: #6c757d;"></i></p>
  327.                     </div> -->
  328.                     <div id="{{planningFormat}}">
  329.                        
  330.                     </div>
  331.                     <!-- <table class="calendar table table-bordered centered  h-100">
  332.                         <thead class="table-light">
  333.                             <tr>
  334.                                 <th scope="col"></th>
  335.                                 {% for day in weekdaysShort %}
  336.                                 <th scope="col" class='text-small text-center'>{{day}}</th>
  337.                                 {% endfor %}
  338.                             </tr>
  339.                         </thead>
  340.                         <tbody>
  341.                             {% for i in [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]%}
  342.                             <tr>
  343.                                 <th class="text-center text-small" scope="row">{{i}}:00</th>
  344.                                 {% for val in daysHoursShort[i] %}
  345.                                 </p>
  346.                                 {% if val == false %}
  347.                                 <td class="bg-gray-600"></td>
  348.                                 {% else %}
  349.                                 <td class="bg-green text-white text-small text-center"></td>
  350.                                 {% endif %}
  351.                                 {% endfor %}
  352.                             </tr>
  353.                             {% endfor %}
  354.                     </table> -->
  355.                 </div>
  356.             </div>
  357.         </div> -->  
  358. #}
  359.     </div>
  360. </section>
  361. <section class="d-sm-none d-block">
  362.     <div class="col-12 ">
  363.         <div class="team-member ">
  364.             <div class=""> <img class="mx-auto rounded-circle mt-2 " src="{{conseiller[0].photo}}" alt="..."
  365.                     style="width: 150px; height: 150px;" /></div>
  366.             {% if conseiller[0].note == 0 %}
  367.             <p class="text-center  text-dark small ">Avis des membres
  368.                 <i class="bi bi-star"></i>
  369.                 <i class="bi bi-star"></i>
  370.                 <i class="bi bi-star"></i>
  371.                 <i class="bi bi-star"></i>
  372.                 <i class="bi bi-star"></i>
  373.             </p>
  374.             {% elseif conseiller[0].note == 0.5 %}
  375.             <p class="text-center text-dark  small ">Avis des membres
  376.                 <i class="bi bi-star-half" style="color: #d78316;"></i>
  377.                 <i class="bi bi-star"></i>
  378.                 <i class="bi bi-star"></i>
  379.                 <i class="bi bi-star"></i>
  380.                 <i class="bi bi-star"></i>
  381.             </p>
  382.             {% elseif conseiller[0].note == 1 %}
  383.             <p class="text-center text-dark  small ">Avis des membres
  384.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  385.                 <i class="bi bi-star"></i>
  386.                 <i class="bi bi-star"></i>
  387.                 <i class="bi bi-star"></i>
  388.                 <i class="bi bi-star"></i>
  389.             </p>
  390.             {% elseif conseiller[0].note == 1.5 %}
  391.             <p class="text-center text-dark  small ">Avis des membres
  392.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  393.                 <i class="bi bi-star-half" style="color: #d78316;"></i>
  394.                 <i class="bi bi-star"></i>
  395.                 <i class="bi bi-star"></i>
  396.                 <i class="bi bi-star"></i>
  397.             </p>
  398.             {% elseif conseiller[0].note == 2 %}
  399.             <p class="text-center text-dark  small ">Avis des membres
  400.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  401.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  402.                 <i class="bi bi-star"></i>
  403.                 <i class="bi bi-star"></i>
  404.                 <i class="bi bi-star"></i>
  405.             </p>
  406.             {% elseif conseiller[0].note == 2.5 %}
  407.             <p class="text-center  text-dark small ">Avis des membres
  408.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  409.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  410.                 <i class="bi bi-star-half" style="color: #d78316;"></i>
  411.                 <i class="bi bi-star"></i>
  412.                 <i class="bi bi-star"></i>
  413.             </p>
  414.             {% elseif conseiller[0].note == 3 %}
  415.             <p class="text-center  text-dark small ">Avis des membres
  416.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  417.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  418.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  419.                 <i class="bi bi-star"></i>
  420.                 <i class="bi bi-star"></i>
  421.             </p>
  422.             {% elseif conseiller[0].note == 3.5 %}
  423.             <p class="text-center text-dark  small ">Avis des membres
  424.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  425.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  426.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  427.                 <i class="bi bi-star-half" style="color: #d78316;"></i>
  428.                 <i class="bi bi-star"></i>
  429.             </p>
  430.             {% elseif conseiller[0].note == 4 %}
  431.             <p class="text-center  text-dark small ">Avis des membres
  432.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  433.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  434.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  435.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  436.                 <i class="bi bi-star"></i>
  437.             </p>
  438.             {% elseif conseiller[0].note == 4.5 %}
  439.             <p class="text-center text-dark  small ">Avis des membres
  440.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  441.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  442.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  443.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  444.                 <i class="bi bi-star-half" style="color: #d78316;"></i>
  445.             </p>
  446.             {% elseif conseiller[0].note == 5 %}
  447.             <p class="text-center  text-dark small ">Avis des membres
  448.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  449.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  450.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  451.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  452.                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  453.             </p>
  454.             {% endif %}
  455.             <h4>{{conseiller[0].userPseudo}}</h4>
  456.             <p class="text-muted"> {{conseiller[0].userExtensionCode}}</p>
  457.             {% if app.user %}
  458.             <a href="tel:00 32 2 318 3400">
  459.                 <div class=" btn-primary btn-social mx-2 " href="#"><i class="bi bi-telephone-fill "></i>
  460.                 </div>
  461.             </a>
  462.             {# FONCTIONNALITÉ EMAIL DÉSACTIVÉE - VERSION MOBILE #}
  463.             {# <a href="{{path('question_mail',  {id : conseiller[0].complementId})}}">
  464.                 <div class=" btn-primary btn-social mx-2" href="#!"><i class="bi bi-envelope-fill "></i></div>
  465.             </a> #}
  466.             
  467.             {% if conseiller[0].userMailing %}
  468.             <a href="{{path('app_chat', {userId: conseiller[0].userId, userPseudoId: conseiller[0].userPseudoId })}}">
  469.                 <div class=" btn-primary btn-social mx-2" href="#!"><i class="bi bi-chat-fill "></i>
  470.                 </div>
  471.             </a>
  472.             {% endif %}
  473.             {% if conseiller[0].userMailing %}
  474.             <a href="{{path('app_login')}}">
  475.                 <div class=" btn-primary btn-social mx-2" href="#!"><i class="bi bi-camera-video-fill"></i></div>
  476.             </a>
  477.             {% endif %}
  478.             {% else %}
  479.             <a href="{{path('app_login')}}">
  480.                 <button class="btn btn-primary "><i class="bi bi-box-arrow-in-right"></i> &nbsp; connexion</button>
  481.             </a>
  482.             <a href="{{path('app_register')}}">
  483.                 <button class="btn btn-primary "><i class="bi bi-book"></i> &nbsp; Inscription</button>
  484.             </a>
  485.         </div>
  486.         {% endif %}
  487.     </div>
  488.     </div>
  489.     <div class="accordion accordion-flush mt-3" id="serviceFlush">
  490.         <div class="accordion-item">
  491.             <h2 class="accordion-header" id="flush-headingOne">
  492.                 <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
  493.                     data-bs-target="#serviceOne" aria-expanded="false" aria-controls="flush-collapseOne">
  494.                     <i class="bi bi-person"></i> &nbsp; Profil
  495.                 </button>
  496.             </h2>
  497.             <div id="serviceOne" class="accordion-collapse collapse" aria-labelledby="flush-headingOne"
  498.                 data-bs-parent="#serviceFlush">
  499.                 <div class="accordion-body text-center">
  500.                     <!-- <strong class="text-warning text-center mt-n-5">--* Consultation CB à
  501.                         {{conseiller[0].prixParMinute}} €/mn *--</strong> -->
  502.                     <h3 class=" text-center">{{conseiller[0].titrePage}}</h3>
  503.                     <h4 class=" text-center">{{conseiller[0].metaDescription}}</h4>
  504.                     <p>{{conseiller[0].descriptionLongue|raw}}</p>
  505.                 </div>
  506.             </div>
  507.         </div>
  508.         <div class="accordion-item mt-2">
  509.             <h2 class="accordion-header" id="flush-headingTwo">
  510.                 <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
  511.                     data-bs-target="#serviceTwo" aria-expanded="false" aria-controls="flush-collapseTwo">
  512.                     <i class="bi bi-book"></i> &nbsp; Appréciations
  513.                 </button>
  514.             </h2>
  515.             <div id="serviceTwo" class="accordion-collapse collapse " aria-labelledby="flush-headingTwo"
  516.                 data-bs-parent="#serviceFlush">
  517.                 <div class="accordion-body">
  518.                     {% for avis in conseillerAvis %}
  519.                     {% if avis is empty %}
  520.                     <div class="card shadow border-primary  ">
  521.                         <p>Ce conseiller n'a pas encore reçu d'appréciation</p>
  522.                     </div>
  523.                     {% else %}
  524.                     <div class="card shadow border-primary p-1">
  525.                         <div class="row">
  526.                             <p class="col-8"> <strong>{{avis.prenom}} </strong>le
  527.                                 {{avis.datePost|date|format_datetime(locale='fr',pattern="EEEE dd MMMM YYYY")}}
  528.                             </p>
  529.                             {% if avis.note == 0 %}
  530.                             <p class="col-4  small ">
  531.                                 <i class="bi bi-star"></i>
  532.                                 <i class="bi bi-star"></i>
  533.                                 <i class="bi bi-star"></i>
  534.                                 <i class="bi bi-star"></i>
  535.                                 <i class="bi bi-star"></i>
  536.                             </p>
  537.                             {% elseif avis.note == 1 %}
  538.                             <p class="col-4  small ">
  539.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  540.                                 <i class="bi bi-star"></i>
  541.                                 <i class="bi bi-star"></i>
  542.                                 <i class="bi bi-star"></i>
  543.                                 <i class="bi bi-star"></i>
  544.                             </p>
  545.                             {% elseif avis.note == 2 %}
  546.                             <p class=" col-4   small ">Avis des membres
  547.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  548.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  549.                                 <i class="bi bi-star"></i>
  550.                                 <i class="bi bi-star"></i>
  551.                                 <i class="bi bi-star"></i>
  552.                             </p>
  553.                             {% elseif avis.note == 3 %}
  554.                             <p class=" col-4   small ">
  555.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  556.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  557.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  558.                                 <i class="bi bi-star"></i>
  559.                                 <i class="bi bi-star"></i>
  560.                             </p>
  561.                             {% elseif avis.note == 4 %}
  562.                             <p class=" col-4   small ">
  563.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  564.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  565.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  566.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  567.                                 <i class="bi bi-star"></i>
  568.                             </p>
  569.                             {% elseif avis.note == 5 %}
  570.                             <p class="col-4  small ">
  571.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  572.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  573.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  574.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  575.                                 <i class="bi bi-star-fill" style="color: #d78316;"></i>
  576.                             </p>
  577.                             {% endif %}
  578.                         </div>
  579.                         <p class=""> <strong> Commentaire :</strong> {{avis.commentaire}}</p>
  580.                         {% if avis.reponse %}
  581.                         <p class=""> <strong> Reponse :</strong> {{avis.reponse}}</p>
  582.                         {% endif %}
  583.                     </div>
  584.                     {% endif %}
  585.                     {% endfor %}
  586.                 </div>
  587.             </div>
  588.         </div>
  589.         {% if app.user%}
  590.         <div class="accordion-item mt-2">
  591.             <h2 class="accordion-header" id="flush-headingThree">
  592.                 <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
  593.                     data-bs-target="#serviceThree" aria-expanded="false" aria-controls="flush-collapseTwo">
  594.                     <i class="bi bi-pen-fill"></i> &nbsp; Laissez un avis
  595.                 </button>
  596.             </h2>
  597.             <div id="serviceThree" class="accordion-collapse collapse " aria-labelledby="flush-headingThree"
  598.                 data-bs-parent="#serviceFlush">
  599.                 <div class="accordion-body text-center">
  600.                     <div class="row justify-content-center ">
  601.                         <h4 class="">Soumission d'une appréciation client</h4>
  602.                         {{ form_start(avisFormMobile) }}
  603.                         <div class="mb-3">
  604.                             <!-- <label for="exampleFormControlTextarea1">Commentaire</label>
  605.                             <textarea class="form-control" id="exampleFormControlTextarea1" rows="3"></textarea> -->
  606.                             {{ form_row(avisFormMobile.message , {
  607.                                 label: 'Commentaire'
  608.                             }) }}
  609.                         </div>
  610.                         <div class="mb-3">
  611.                             {{ form_row(avisFormMobile.note , {
  612.                                 label: 'Note'
  613.                             }) }}
  614.                         </div>
  615.                         <div>
  616.                             {{ form_row(avisFormMobile.envoyer , {
  617.                                 label: 'Evaluer'
  618.                             }) }}
  619.                           
  620.                         </div>
  621.                         {{ form_end(avisFormMobile) }}
  622.                     </div>
  623.                 </div>
  624.             </div>
  625.         </div>
  626.         {% endif %}
  627.         <div class="accordion-item mt-2">
  628.            {# <h2 class="accordion-header" id="flush-headingFour">
  629.                 <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
  630.                     data-bs-target="#serviceFour" aria-expanded="false" aria-controls="flush-collapseTwo">
  631.                     <i class="bi bi-calendar"></i> &nbsp; Planning
  632.                 </button>
  633.             </h2> #}
  634. {# <div id="serviceFour" class="accordion-collapse collapse " aria-labelledby="flush-headingFour"
  635.                 data-bs-parent="#serviceFlush">
  636.                 <div class="accordion-body text-center">
  637.                     <div class="table-responsive h-100">
  638.                         <div class="container-fluid row mx-auto">
  639.                             <p class="col-6">Disponible <i class="bi bi-square-fill" style="color: #198754;"></i> </p>
  640.                             <p class="col-6">Indisponible : <i class="bi bi-square-fill" style="color: #6c757d;"></i>
  641.                             </p>
  642.                         </div>
  643.                         <!-- 
  644.                         <div id="{{planningFormat}}">
  645.                         </div>
  646.                         -->
  647.                         <table class="calendar table table-bordered centered  h-100">
  648.                             <thead class="table-light">
  649.                                 <tr>
  650.                                     <th scope="col"></th>
  651.                                     {% for day in weekdaysShort %}
  652.                                     <th scope="col" class='text-small text-center'>{{day}}</th>
  653.                                     {% endfor %}
  654.                                 </tr>
  655.                             </thead>
  656.                            
  657.                             <tbody>
  658.                                 {% for i in [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]%}
  659.                                 <tr>
  660.                                     <th class="text-center text-small bg-white" scope="row">{{i}}:00</th>
  661.                                     {% for val in daysHoursShort[i] %}
  662.                                     </p>
  663.                                     {% if val == false %}
  664.                                     <td class="bg-gray-600"></td>
  665.                                     {% else %}
  666.                                     <td class="bg-green text-white text-small text-center"></td>
  667.                                     {% endif %}
  668.                                     {% endfor %}
  669.                                 </tr>
  670.                                 {% endfor %}
  671.                         </table>
  672.                     </div>
  673.                 </div>
  674.             </div>
  675.         </div> #}
  676.     </div>
  677. </section>
  678. <script type="text/javascript" nonce="{{ csp_nonce('script') }}">
  679.     function selectAll(ch) {
  680.         var tab = document.getElementsByTagName("input");
  681.         for (var i = 0; i < tab.length; i++) {
  682.             if (tab[i].type == "checkbox")
  683.                 tab[i].checked = ch.checked;
  684.         }
  685.     }
  686. </script>
  687. <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
  688. <script nonce="{{ csp_nonce('script') }}">
  689.     window.onload = () => {
  690.         let calendarEl2 = document.querySelector('#{{planningFormat}}');
  691.         if (('#{{planningFormat}}' == '#HebdomadaireUtilisateur') || ('#{{planningFormat}}' == '#HebdomadaireSimple') || ('#{{planningFormat}}' == '#JournalierSimple') || ('#{{planningFormat}}' == '#HoraireSimple')) {
  692.             let calendar2 = new FullCalendar.Calendar(calendarEl2, {
  693.                 schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
  694.                 initialView: 'timeGridWeek',
  695.                 locale: 'fr',
  696.                 timeZone: 'Europe/Paris',
  697.                 nowIndicator: true,
  698.                 themeSystem: 'bootstrap5',
  699.                 firstDay: 1,
  700.                 navLinks: false,
  701.                 editable: false,
  702.                 eventResizableFromStart: false,
  703.                 slotEventOverlap: false,
  704.                 allDaySlot: false,
  705.                 selectable: false,
  706.                 selectMirror: true,
  707.                 dayMaxEvents: true,
  708.                 aspectRatio: 1,
  709.                 // eventOrderStrict: true,
  710.                 headerToolbar: {
  711.                     start: '',
  712.                     center: '',
  713.                     end: '',
  714.                 },
  715.                 buttonText:
  716.                 {
  717.                     today: "Aujourd'hui",
  718.                     month: 'Mois',
  719.                     week: 'Semaine',
  720.                     day: 'Jour',
  721.                     resourceTimeline: 'Jour',
  722.                     list: 'Liste'
  723.                 },
  724.                 events: JSON.parse('{{ data|raw }}'),
  725.                 eventColor: '#00ac69',
  726.                 eventClick: function (info) {
  727.                     var hoursBegin = info.event.start.getHours() - 2;
  728.                     var minutesBegin = info.event.start.getMinutes();
  729.                     var hoursEnd = info.event.end.getHours() - 2;
  730.                     var minutesEnd = info.event.end.getMinutes();
  731.                     var id = info.event.id;
  732.                     var planningEventId = "{{planningEventId}}"
  733.                     var urlToDelete = "/deletePlanning/" + planningEventId + "/" + id;
  734.                     var urlToModify = "/modifyPlannig/" + planningEventId + "/" + id;
  735.                     $('#EventId').val(id);
  736.                     $('#modifyPlanningListId').attr("href", urlToModify);
  737.                     $('#planningListId').attr("href", urlToDelete);
  738.                     $('#showEventCalendarConseiller').html(info.event.title);
  739.                     $('#hoursBegin').val(hoursBegin);
  740.                     $('#minutesBegin').val(minutesBegin);
  741.                     $('#hoursEnd').val(hoursEnd);
  742.                     $('#minutesEnd').val(minutesEnd);
  743.                     var newHours = $('#hoursBegin').val();
  744.                     var modal = $("#showEventCalendar");
  745.                     modal.modal('show');
  746.                 },
  747.                 resourceAreaHeaderContent: 'Conseillers',
  748.                 resources: JSON.parse('{{ ressources|raw }}'),
  749.                 resourceAreaWidth: " 10%",
  750.                 eventOrder: "-userId",
  751.             });
  752.             calendar2.on('eventChange', (e) => {
  753.                 let url = `/gestionPlanning/{{planningEventId}}/edit`
  754.                 let donnees = {
  755.                     "id": e.event.id,
  756.                     "title": e.event.title,
  757.                     "daysOfWeek": e.event.extendedProps.weekDayNum,
  758.                     "startTime": e.event.start,
  759.                     "endTime": e.event.end
  760.                 }
  761.                 let xhr = new XMLHttpRequest
  762.                 xhr.open("POST", url)
  763.                 xhr.setRequestHeader("Content-Type", "application/json")
  764.                 xhr.send(JSON.stringify(donnees))
  765.             })
  766.             calendar2.render()
  767.         } else if (('#{{planningFormat}}' == '#HoraireMultiple')) {
  768.             let calendar2 = new FullCalendar.Calendar(calendarEl2, {
  769.                 schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
  770.                 initialView: 'resourceTimeline',
  771.                 locale: 'fr',
  772.                 timeZone: 'Europe/Paris',
  773.                 nowIndicator: true,
  774.                 themeSystem: 'bootstrap5',
  775.                 firstDay: 1,
  776.                 navLinks: true,
  777.                 editable: true,
  778.                 eventResizableFromStart: true,
  779.                 selectable: true,
  780.                 selectMirror: true,
  781.                 dayMaxEvents: true,
  782.                 // eventOrderStrict: true,
  783.                 headerToolbar: {
  784.                     start: 'prev,next today',
  785.                     center: 'title',
  786.                     end: 'timeGridWeek,resourceTimeline',
  787.                 },
  788.                 buttonText:
  789.                 {
  790.                     today: "Aujourd'hui",
  791.                     month: 'Mois',
  792.                     week: 'Semaine',
  793.                     day: 'Jour',
  794.                     resourceTimeline: 'Jour',
  795.                     list: 'Liste'
  796.                 },
  797.                 events: JSON.parse('{{ data|raw }}'),
  798.                 dayClick: function (date, allDay, jsEvent, view) {
  799.                     if (allDay) {
  800.                         alert('Clicked on the entire day: ' + date);
  801.                     } else {
  802.                         alert('Clicked on the slot: ' + date);
  803.                     }
  804.                     alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY);
  805.                     alert('Current view: ' + view.name);
  806.                     // change the day's background color just for fun
  807.                     $(this).css('background-color', 'red');
  808.                 },
  809.                 eventClick: function (info) {
  810.                     var hoursBegin = info.event.start.getHours() - 2;
  811.                     var minutesBegin = info.event.start.getMinutes();
  812.                     var hoursEnd = info.event.end.getHours() - 2;
  813.                     var minutesEnd = info.event.end.getMinutes();
  814.                     var param = "?hoursBegin=" + hoursBegin + "&minutesBegin=" + minutesBegin + "&hoursEnd=" + hoursEnd + "&minutesEnd=" + minutesEnd;
  815.                     var id = info.event.id;
  816.                     var planningEventId = "{{planningEventId}}"
  817.                     var urlToDelete = "/deletePlanning/" + planningEventId + "/" + id;
  818.                     var urlToModify = "/modifyPlannig/" + planningEventId + "/" + id + param;
  819.                     console.log(urlToModify);
  820.                     EventId
  821.                     $('#EventId').val(id);
  822.                     $('#modifyPlanningListId').attr("href", urlToModify);
  823.                     $('#planningListId').attr("href", urlToDelete);
  824.                     $('#showEventCalendarConseiller').html(info.event.title);
  825.                     $('#hoursBegin').val(hoursBegin);
  826.                     $('#minutesBegin').val(minutesBegin);
  827.                     $('#hoursEnd').val(hoursEnd);
  828.                     $('#minutesEnd').val(minutesEnd);
  829.                     var modal = $("#showEventCalendar");
  830.                     modal.modal('show');
  831.                     info.el.style.borderColor = 'red';
  832.                 },
  833.                 slotEventOverlap: false,
  834.                 resourceAreaHeaderContent: 'Touches',
  835.                 resources: JSON.parse('{{ ressources|raw }}'),
  836.                 resourceAreaWidth: " 10%",
  837.                 eventOrder: "-keypad",
  838.             });
  839.             calendar2.on('eventChange', (e) => {
  840.                 let url = `/gestionPlanning/{{planningEventId}}/edit`
  841.                 let donnees = {
  842.                     "id": e.event.id,
  843.                     "title": e.event.title,
  844.                     "daysOfWeek": e.event.daysOfWeek,
  845.                     "startTime": e.event.start,
  846.                     "endTime": e.event.end,
  847.                     "backgroundColor": e.event.backgroundColor,
  848.                 }
  849.                 console.log(donnees);
  850.                 let xhr = new XMLHttpRequest()
  851.                 xhr.open("POST", url)
  852.                 xhr.setRequestHeader("Content-Type", "application/json")
  853.                 xhr.send(JSON.stringify(donnees))
  854.             })
  855.             calendar2.render()
  856.         } else if (('#{{planningFormat}}' == '#JournalierMultiple')) {
  857.             let calendar2 = new FullCalendar.Calendar(calendarEl2, {
  858.                 schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
  859.                 initialView: 'resourceTimeGridDay',
  860.                 locale: 'fr',
  861.                 timeZone: 'Europe/Paris',
  862.                 nowIndicator: true,
  863.                 themeSystem: 'bootstrap5',
  864.                 firstDay: 1,
  865.                 navLinks: true,
  866.                 editable: true,
  867.                 initialDate: '{{date}}',
  868.                 eventResizableFromStart: true,
  869.                 slotEventOverlap: false,
  870.                 allDaySlot: false,
  871.                 selectable: true,
  872.                 selectMirror: true,
  873.                 dayMaxEvents: true,
  874.                 viewRender: function (view, element) {
  875.                     console.log(element);
  876.                 },
  877.                 // eventOrderStrict: true,
  878.                 headerToolbar: {
  879.                     start: 'today',
  880.                     center: 'title',
  881.                     end: 'resourceTimeGridDay',
  882.                 },
  883.                 resourceTimeline: {
  884.                     aspectRatio: 2.5,
  885.                 },
  886.                 buttonText:
  887.                 {
  888.                     today: "Aujourd'hui",
  889.                     month: 'Mois',
  890.                     week: 'Semaine',
  891.                     day: 'Jour',
  892.                     resourceTimeline: 'Jour',
  893.                     list: 'Liste',
  894.                 },
  895.                 events: JSON.parse('{{ data|raw }}'),
  896.                 eventClick: function (info) {
  897.                     var hoursBegin = info.event.start.getHours() - 2;
  898.                     var minutesBegin = info.event.start.getMinutes();
  899.                     var hoursEnd = info.event.end.getHours() - 2;
  900.                     var minutesEnd = info.event.end.getMinutes();
  901.                     var id = info.event.id;
  902.                     var planningEventId = "{{planningEventId}}"
  903.                     var urlToDelete = "/deletePlanning/" + planningEventId + "/" + id;
  904.                     var urlToModify = "/modifyPlannig/" + planningEventId + "/" + id;
  905.                     $('#EventId').val(id);
  906.                     $('#modifyPlanningListId').attr("href", urlToModify);
  907.                     $('#planningListId').attr("href", urlToDelete);
  908.                     $('#showEventCalendarConseiller').html(info.event.title);
  909.                     $('#hoursBegin').val(hoursBegin);
  910.                     $('#minutesBegin').val(minutesBegin);
  911.                     $('#hoursEnd').val(hoursEnd);
  912.                     $('#minutesEnd').val(minutesEnd);
  913.                     var newHours = $('#hoursBegin').val();
  914.                     console.log(id);
  915.                     var modal = $("#showEventCalendar");
  916.                     modal.modal('show');
  917.                 },
  918.                 resourceAreaHeaderContent: 'Conseillers',
  919.                 resources: JSON.parse('{{ ressources|raw }}'),
  920.                 resourceAreaWidth: " 10%",
  921.                 eventOrder: "-userId",
  922.             });
  923.             calendar2.on('eventChange', (e) => {
  924.                 let url = `/gestionPlanning/{{planningEventId}}/edit`
  925.                 let donnees = {
  926.                     "id": e.event.id,
  927.                     "title": e.event.title,
  928.                     "daysOfWeek": e.event.extendedProps.weekDayNum,
  929.                     "startTime": e.event.start,
  930.                     "endTime": e.event.end
  931.                 }
  932.                 let xhr = new XMLHttpRequest
  933.                 xhr.open("POST", url)
  934.                 xhr.setRequestHeader("Content-Type", "application/json")
  935.                 xhr.send(JSON.stringify(donnees))
  936.             })
  937.             calendar2.render()
  938.         } else if (('#{{planningFormat}}' == '#PresenceUtilisateur')) {
  939.             let calendar2 = new FullCalendar.Calendar(calendarEl2, {
  940.                 schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
  941.                 initialView: 'timeGrid',
  942.                 locale: 'fr',
  943.                 timeZone: 'Europe/Paris',
  944.                 nowIndicator: true,
  945.                 themeSystem: 'bootstrap5',
  946.                 firstDay: 1,
  947.                 navLinks: true,
  948.                 editable: true,
  949.                 dayCount: 2,
  950.                 initialDate: '{{date}}',
  951.                 eventResizableFromStart: true,
  952.                 slotEventOverlap: false,
  953.                 allDaySlot: false,
  954.                 selectable: true,
  955.                 selectMirror: true,
  956.                 dayMaxEvents: true,
  957.                 viewRender: function (view, element) {
  958.                     console.log(element);
  959.                 },
  960.                 // eventOrderStrict: true,
  961.                 headerToolbar: {
  962.                     start: 'today',
  963.                     center: 'title',
  964.                     end: 'timeGridDay',
  965.                 },
  966.                 resourceTimeline: {
  967.                     aspectRatio: 2.5,
  968.                 },
  969.                 buttonText:
  970.                 {
  971.                     today: "Aujourd'hui",
  972.                     month: 'Mois',
  973.                     week: 'Semaine',
  974.                     day: 'Jour',
  975.                     resourceTimeline: 'Jour',
  976.                     list: 'Liste',
  977.                     timeGrid: '2 Jours'
  978.                 },
  979.                 events: JSON.parse('{{ data|raw }}'),
  980.                 eventClick: function (info) {
  981.                     var hoursBegin = info.event.start.getHours() - 2;
  982.                     var minutesBegin = info.event.start.getMinutes();
  983.                     var hoursEnd = info.event.end.getHours() - 2;
  984.                     var minutesEnd = info.event.end.getMinutes();
  985.                     var id = info.event.id;
  986.                     var planningEventId = "{{planningEventId}}"
  987.                     var urlToDelete = "/deletePlanning/" + planningEventId + "/" + id;
  988.                     var urlToModify = "/modifyPlannig/" + planningEventId + "/" + id;
  989.                     $('#EventId').val(id);
  990.                     $('#modifyPlanningListId').attr("href", urlToModify);
  991.                     $('#planningListId').attr("href", urlToDelete);
  992.                     $('#showEventCalendarConseiller').html(info.event.title);
  993.                     $('#hoursBegin').val(hoursBegin);
  994.                     $('#minutesBegin').val(minutesBegin);
  995.                     $('#hoursEnd').val(hoursEnd);
  996.                     $('#minutesEnd').val(minutesEnd);
  997.                     var newHours = $('#hoursBegin').val();
  998.                     console.log(id);
  999.                     var modal = $("#showEventCalendar");
  1000.                     modal.modal('show');
  1001.                 },
  1002.                 resourceAreaHeaderContent: 'Conseillers',
  1003.                 resources: JSON.parse('{{ ressources|raw }}'),
  1004.                 resourceAreaWidth: " 10%",
  1005.                 eventOrder: "-userId",
  1006.             });
  1007.             calendar2.on('eventChange', (e) => {
  1008.                 let url = `/gestionPlanning/{{planningEventId}}/edit`
  1009.                 let donnees = {
  1010.                     "id": e.event.id,
  1011.                     "title": e.event.title,
  1012.                     "daysOfWeek": e.event.extendedProps.weekDayNum,
  1013.                     "startTime": e.event.start,
  1014.                     "endTime": e.event.end
  1015.                 }
  1016.                 let xhr = new XMLHttpRequest
  1017.                 xhr.open("POST", url)
  1018.                 xhr.setRequestHeader("Content-Type", "application/json")
  1019.                 xhr.send(JSON.stringify(donnees))
  1020.             })
  1021.             calendar2.render()
  1022.         };
  1023.     }
  1024. </script>