templates/home/user_new.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}New Service{% endblock %}
  3. {% block body %}
  4.     <h2 class="text-center">Devenir prestataire sur DirectDiag.fr</h2>
  5.     {{ form_start(form) }}
  6.     {{ form_row(form.nom) }}
  7.     {{ form_row(form.email) }}
  8.     {{ form_row(form.phone) }}
  9.     {{ form_row(form.raison) }}
  10.     <h3>Types de diagnostiques exercés:</h3>
  11.     <div id="services-checkboxes">
  12.             {% for choice in form.selectedServices %}
  13.                 <div>
  14.                     {{ form_widget(choice) }}
  15.                     {# <label>{{ choice.vars.label }}</label> #}
  16.                 </div>
  17.             {% endfor %}
  18.         </div>
  19.     {# <div class="services-list">
  20.         {% for serviceForm in form.services %}
  21.             <div class="service-item">
  22.                 {{ form_row(serviceForm.prix1, { label: serviceForm.vars.data.nom }) }}
  23.             </div>
  24.         {% endfor %}
  25.     </div> #}
  26.     <hr>
  27.     <div class="services-list">
  28.     {% for serviceForm in form.services %}
  29.         <div class="service-item mb-3">
  30.             {# Affiche le label personnalisé #}
  31.             <h6>{{ serviceForm.vars.data.nom }}</h6>
  32.             {% if serviceForm.vars.data.nom == "Pack vente"  %}
  33.               <p class="text-muted">Le pack vente contient les diagnostiques : <b> Plomb, Amiante, DPE, Électricité, Gaz, ERP, Termites, Loi Carrez</b></p>
  34.             {% elseif serviceForm.vars.data.nom == "Pack location"  %}
  35.               <p class="text-muted">Le pack vente contient les diagnostiques : <b> Plomb, DPE, Électricité, Gaz, ERP, Amiante</b></p>
  36.             {% endif %}
  37.             {# Champ du prix #}
  38.             <div class="text-center">
  39.             <span class="prix">
  40.             Prix pour Petit (<60m²) <br>
  41.             {{ form_widget(serviceForm.prix1, {'attr': {'class': ''}}) }}
  42.             </span>
  43.             <span class="prix">
  44.             Prix pour Moyen (60-120m²)
  45.             {{ form_widget(serviceForm.prix2, {'attr': {'class': ''}}) }}
  46.             </span>
  47.             <span class="prix">
  48.             Prix pour Grand (>120m²)
  49.             {{ form_widget(serviceForm.prix3, {'attr': {'class': ''}}) }}
  50.             </span>
  51.             </div>
  52.         </div>
  53.     {% endfor %}
  54. </div>
  55.     <button type="submit" class="btn btn-primary w-100">Enregistrer</button>
  56.  {{ form_end(form) }}
  57. {#
  58.   {{ form_start(form) }}
  59.     {{ form_widget(form) }}
  60.     <button class="btn">{{ button_label|default('Save') }}</button>
  61. {{ form_end(form) }} #}
  62.     <script>
  63. document.addEventListener('DOMContentLoaded', function() {
  64.     // Récupérer toutes les checkboxes
  65.     const checkboxes = document.querySelectorAll('#services-checkboxes input[type="checkbox"]');
  66.     const serviceItems = document.querySelectorAll('.services-list .service-item');
  67.     // Masquer tous les services au départ
  68.     serviceItems.forEach(item => item.style.display = 'none');
  69.     // Fonction pour mettre à jour l'affichage
  70.     function updateServices() {
  71.         checkboxes.forEach((cb, index) => {
  72.             const item = serviceItems[index];
  73.             if (item) {
  74.                 item.style.display = cb.checked ? 'block' : 'none';
  75.             }
  76.         });
  77.     }
  78.     // Ajouter un listener sur chaque checkbox
  79.     checkboxes.forEach(cb => {
  80.         cb.addEventListener('change', updateServices);
  81.     });
  82.     // Initialiser au chargement
  83.     updateServices();
  84. });
  85. </script>
  86. {% endblock %}