templates/contact/form.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block body %}
  3.     <div id="contact-form" class="container large-tile">
  4.         <h1>Nous contacter</h1>
  5.         {% for label, messages in app.flashes %}
  6.             {% for message in messages %}
  7.                 <p class="alert alert-{{ label }}">
  8.                     {{ message | nl2br }}
  9.                 </p>
  10.             {% endfor %}
  11.         {% else %}
  12.             <p>Vous pouvez nous envoyer un message à l'aide du formulaire ci-dessous.</p>
  13.             <p>Les informations marquées d'un astérisque (*) sont obligatoires.</p>
  14.             <form @submit="validate" action="{{ path('contact-action') }}" class="box" method="post"
  15.                   enctype="multipart/form-data">
  16.                 <div class="row">
  17.                     <div class="col col-xl-6 col-lg-6 col-sm-12 col-12">
  18.                         <div class="form-group">
  19.                             <label for="name" class="required">Nom et prénom *&nbsp;:&nbsp;</label>
  20.                             <input type="text" id="name" name="name"
  21.                                 {% if app.user %}
  22.                                     value="{{ connectedCustomer.get().getFullName | default('') }}"
  23.                                 {% else %}
  24.                                     value=""
  25.                                 {% endif %}
  26.                                    required class="form-control">
  27.                         </div>
  28.                         <div class="form-group">
  29.                             <label for="customer_email" class="required">Votre adresse e-mail *&nbsp;:&nbsp;</label>
  30.                             <input type="email" id="customer_email" name="customer_email"
  31.                                 {% if app.user %}
  32.                                     value="{{ connectedCustomer.getAccountInfo().getEmail | default('') }}"
  33.                                 {% else %}
  34.                                     value=""
  35.                                 {% endif %}
  36.                                    pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"
  37.                                    required class="form-control">
  38.                         </div>
  39.                         <div class="form-group">
  40.                             <label for="phone" class="required">Téléphone *&nbsp;:&nbsp;</label>
  41.                             <input type="tel" id="phone" name="phone"
  42.                                    pattern="^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$"
  43.                                    minlength="10"
  44.                                 {% if app.user %}
  45.                                     value="{{ connectedCustomer.getAccountInfo().getPhoneNumber | default('') }}"
  46.                                 {% else %}
  47.                                     value=""
  48.                                 {% endif %}
  49.                                    required class="form-control">
  50.                         </div>
  51.                         <div class="form-group">
  52.                             <label for="reference">Référence client&nbsp;:&nbsp;</label>
  53.                             <input type="text" id="reference" name="reference"
  54.                                 {% if app.user %}
  55.                                     value="{{ connectedCustomer.get().getCliReference | default('') }}"
  56.                                 {% else %}
  57.                                     value=""
  58.                                 {% endif %}
  59.                                    class="form-control">
  60.                         </div>
  61.                         <div class="form-group">
  62.                             <label for="address" class="required">Adresse complète *&nbsp;:&nbsp;</label>
  63.                             <input type="text" id="address" name="address" required
  64.                                     {% if app.user %}
  65.                                         value="{{ connectedCustomer.getAddress().getAdrNumero() | default('') }} {{ connectedCustomer.getAddress().getRueNom() | default('') }} {{ connectedCustomer.getAddress().getAdrComplementrue() | default('') }}"
  66.                                     {% else %}
  67.                                         value=""
  68.                                     {% endif %}
  69.                                    class="form-control">
  70.                         </div>
  71.                         <div class="form-group">
  72.                             <label for="commune" class="required">Commune *&nbsp;:&nbsp;</label>
  73.                             <input type="text" id="commune" name="commune" required
  74.                                 {% if app.user %}
  75.                                     value="{{ connectedCustomer.getAddress().getVilNom() | default('') }}"
  76.                                 {% else %}
  77.                                     value=""
  78.                                 {% endif %}
  79.                                    class="form-control">
  80.                         </div>
  81.                     </div>
  82.                     <div class="col col-xl-6 col-lg-6 col-sm-12 col-12">
  83.                         <div class="form-group">
  84.                             <label for="subject" class="required">Objet de votre message *&nbsp;:&nbsp;</label>
  85.                             <input type="text" id="subject" name="subject" value="" required class="form-control"/>
  86.                         </div>
  87.                         <div class="form-group">
  88.                             <label for="message" class="required">Votre message *&nbsp;:&nbsp;</label>
  89.                             <textarea id="message" name="message" rows="10" cols="30" required
  90.                                       class="form-control"></textarea>
  91.                         </div>
  92.                         <div class="form-group documents">
  93.                             <label for="attachment">Joindre des documents :</label>
  94.                             <input type="hidden" name="MAX_FILE_SIZE" value="2000000">
  95.                             <p>
  96.                                 <label for="document1">Document 1 : </label>
  97.                                 <input type="file" id="document1" name="document1" value=""/>
  98.                             </p>
  99.                             <p>
  100.                                 <label for="document2">Document 2 : </label>
  101.                                 <input type="file" id="document2" name="document2" value=""/>
  102.                             </p>
  103.                             <p>
  104.                                 <small>
  105.                                     Attention, chaque fichier joint ne doit pas excéder un poids de 2 Mo.
  106.                                     <br/>
  107.                                     Seuls les fichiers PDF, DOC, DOCX, XLS, XLSX, JPG, PNG, ODT et ODS sont autorisés.
  108.                                 </small>
  109.                             </p>
  110.                         </div>
  111.                     </div>
  112.                 </div>
  113.                 <div v-if="errors.length" class="alert alert-danger">
  114.                     <p><strong>Certaines informations obligatoires sont manquantes : </strong></p>
  115.                     <p v-for="error in errors">${ error }</p>
  116.                 </div>
  117.                 <div class="widget widget-checkbox mandatory alert alert-info">
  118.                     <p>
  119.                         Conformément à la loi « Informatique et Libertés » modifiée, vous bénéficiez d’un droit d’accès, de rectification, d’effacement ou de limitation du traitement. Vous pouvez également pour des motifs légitimes, vous opposer au traitement de vos données.<br>
  120.                         Pour exercer vos droits, vous pouvez contacter le Service Clients de la Direction de l’Eau et de l’Assainissement via votre compte sur le site internet de l’eau <a href="https://ec-eau.grandreims.fr" target="_blank" rel="noopener">https://ec-eau.grandreims.fr</a> ou par courrier postal au Grand Reims Service Clients Eau - CS 80036 - 51722 REIMS CEDEX.<br>
  121.                         Vous avez également la possibilité de contacter notre délégué à la protection des données, pour toute information concernant vos données personnelles : <a href="mailto:dpo@grandreims.fr" title="dpo@grandreims.fr">dpo@grandreims.fr</a> ou d’introduire une réclamation auprès de la CNIL (<a href="https://www.cnil.fr" title="www.cnil.fr" target="_blank" rel="noopener">www.cnil.fr</a>).
  122.                     </p>
  123.                     <span>
  124.                         <input type="checkbox" name="rgpd" id="opt_rgpd" class="checkbox" value="oui" required="">
  125.                         <label id="rgpd" for="opt_rgpd">j’ai bien pris connaissance et j’accepte les conditions *</label>
  126.                     </span>
  127.                 </div>
  128.                 <p class="d-flex flex-row align-items-center justify-content-between">
  129.                     <span class="alert alert-warning">Vérifiez bien l'exactitude des informations fournies avant de valider ce formulaire.</span>
  130.                     <input type="submit" name="valider" value="envoyer mon message" class="button btn-primary">
  131.                 </p>
  132.             </form>
  133.         {% endfor %}
  134.         <p>Vous pouvez également nous contacter ou nous rencontrer à l'adresse :</p>
  135.         <div class="box">
  136.             <address>
  137.                 Hôtel de la Communauté
  138.                 <br>
  139.                 <a href="http://carto.ville-reims.fr/?/fr/_/lien/1/x/723687.04/y/174170.95/zoom/448.855/point/17124581643271500491/orthophoto/100"
  140.                    class="map"
  141.                    onclick="window.open(this.href,'', 'location=no,menubar=no,toolbar=no,width=800,height=600,resizable=yes');return false;">
  142.                     3, Rue Eugène Desteuque
  143.                 </a>
  144.                 <br>CS 80036
  145.                 <br>51722 REIMS Cedex
  146.                 <br>Du lundi au vendredi de 08h30 à 12h00 et de 13h30 à 17h00
  147.             </address>
  148.         </div>
  149.     </div>
  150. {% endblock %}