templates/public/contact.html.twig line 1

Open in your IDE?
  1. {% extends 'layouts/base.html.twig' %}
  2. {% block javascripts %}
  3.     <script>
  4.         $(document).ready(function () {
  5. $('.js-datepicker').datepicker({format: 'dd/mm/yyyy', language: 'fr'});
  6. });
  7.     </script>
  8.     <script>
  9.         $("input ,select ,textarea").on('keyup change', function (event) {
  10. $(this).css('border', '1px solid #d3d8dd');
  11. $(this).next('label').css('color', 'black');
  12. let elem = $(this).next('.tooltiptext').css('display', 'none');
  13. });
  14. $("#user_form_subject , #user_form_subject").on('change', function (event) {
  15. $('#user_form_subject label').css('color', 'black');
  16. });
  17. $("#validate").click(function (event) {
  18. $("#user_form_subject, #user_form_subject").on("invalid", function (event) {
  19. $("#user_form_subject").css('color', '#dc3545');
  20. });
  21. $("#user_form_lastName, #user_form_firstName, #user_form_address, #user_form_email, #user_form_contacts___name___subject, #user_form_lastName, #user_form_firstName, #user_form_contacts___name___message").on("invalid", function (event) {
  22. event.preventDefault();
  23. $(this).css('border', '2px solid #dc3545');
  24. let elem = $(this).next('.tooltiptext').css('color', '#dc3545');
  25. // show the tooltip
  26. elem.css({'display': 'block', 'opacity': '1'});
  27. if ($('#user_form_purchases___name___purchaseReceiptFile').is(':empty')) {
  28. event.preventDefault();
  29. $('#user_form_purchases___name___purchaseReceiptFile').css('border', '2px solid #dc3545');
  30. let elem = $('#user_form_purchases___name___purchaseReceiptFile').next('.tooltiptext').css('color', '#dc3545');
  31. // show the tooltip
  32. elem.css({'display': 'block', 'opacity': '1'});
  33. }
  34. })
  35. if ($("#user_form_email").val() != "") {
  36. let str = $("#user_form_email").val();
  37. if (str.indexOf('@') < 1 || str.split('@').length > 2 || str.indexOf('.') < 1) {
  38. console.log(str.indexOf('.'));
  39. success = false;
  40. let elem = $("#user_form_email").next('.tooltiptext');
  41. elem.css({'display': 'block', 'color': '#dc3545'});
  42. elem.text('Votre e-mail doit être composé d\'une @ et d\'un point');
  43. }
  44. }
  45. $("#user_form_purchases___name___shop").on("invalid", function (event) {
  46. event.preventDefault();
  47. $('#select2-user_form_purchases___name___shop-container').css('border', '2px solid #dc3545');
  48. var error = $('<p>Merci de remplir tous les champs</p>').addClass('tooltiptext').css({'color': '#dc3545', 'display': 'block'});
  49. if (!$(this).next().hasClass('tooltiptext')) {
  50. $(error).insertAfter($(".select2-container--default"));
  51. }
  52. });
  53. $("#user_form_purchases___name___purchasedAt, #user_form_purchases___name___product").on("invalid", function (event) {
  54. event.preventDefault();
  55. $(this).css('border', '2px solid #dc3545');
  56. var error = $('<p>Merci de remplir tous les champs</p>').addClass('tooltiptext').css({'color': '#dc3545', 'display': 'block'});
  57. if (!$(this).next().hasClass('tooltiptext')) {
  58. $(error).insertAfter($(this));
  59. }
  60. })
  61. $("#user_form_purchases___name___purchaseReceiptFile").on("invalid", function (event) {
  62. event.preventDefault();
  63. $(this).css('border', '2px solid #dc3545');
  64. var error = $('<p>Merci de télécharger votre ticket de caisse</p>').addClass('tooltiptext').css({'color': '#dc3545', 'display': 'block'});
  65. if (!$(this).next().hasClass('tooltiptext')) {
  66. $(error).insertAfter($(this));
  67. }
  68. })
  69. });
  70.     </script>
  71.     <!--  CUSTOM JS -->
  72.     <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?libraries=places,geometry&amp;language=fr&amp;key=AIzaSyDzOeFYHe8ciD9v_y7MYqj3LVz7XYUfh3U"></script>
  73.     <script src="{{ asset('assets/js/autocomplete.js') }}"></script>
  74. {% endblock %}
  75. {% block main %}
  76.     <!--MAIN INFO BLOCK -->
  77.         <h1 class="text-center mt-3 mb-3">CONTACT</h1>
  78.         <p class="text-center m-4 mt-0 mb-1">Pour toute question relative à l'opération,
  79.             <br>
  80.             merci de bien vouloir remplir le formulaire ci-dessous.</p>
  81.         {{ form_start(form,{'attr': {'class': 'row g-3 mt-3 width-80'}}) }}
  82.         <div class="col-lg-12">
  83.             <div class="row mb-md-4">
  84.                 <div class="col-lg-6">
  85.                     {{ form_widget(form.subject) }}
  86.                     <span class="tooltiptext">Veuillez remplir ce champ</span>
  87.                     <div class="col-lg-12 mt-3">
  88.                         {{ form_widget(form.lastName, {'attr': {'placeholder': 'Nom *'}}) }}
  89.                         <span class="tooltiptext">Veuillez remplir ce champ</span>
  90.                     </div>
  91.                     <div class="col-lg-12  mt-3">
  92.                         {{ form_widget(form.firstName, {'attr': {'placeholder': 'Prénom *'}}) }}
  93.                         <span class="tooltiptext">Veuillez remplir ce champ</span>
  94.                     </div>
  95.                     <div class="col-lg-12 mt-3">
  96.                         {{ form_widget(form.email, {'attr': {'placeholder': 'Email *'}}) }}
  97.                         <span class="tooltiptext">Veuillez remplir ce champ</span>
  98.                     </div>
  99.                     <div class="col-lg-12 mt-3">
  100.                         {{ form_widget(form.phoneNumber, {'attr': {'placeholder': 'Téléphone'}}) }}
  101.                         <span class="tooltiptext">Veuillez remplir ce champ</span>
  102.                     </div>
  103.                 </div>
  104.                 <div class="col-lg-6">
  105.                     <div class="mb-3">
  106.                         {{ form_widget(form.message) }}
  107.                         <span class="tooltiptext">Veuillez remplir ce champ</span>
  108.                     </div>
  109.                 </div>
  110.             </div>
  111.             <div class="text-center">
  112.                 <button type="submit"  id="colorBouton" class="col-12 col-sm-12 col-md-5 col-lg-5 btn btn-custom py-3 text-dark">Envoyer</button>
  113.             </div>
  114.         </div>
  115.         {{ form_end(form) }}
  116.         <div class="d-flex justify-content-start">
  117.             <p class="small mt-5 " style="text-align: start;">
  118.                 * Champs obligatoires<br>
  119.                 Vos données à caractère personnel sont traitées par Data Gest pour répondre à votre demande d’informations.
  120.                 Conformément à la réglementation et dans les conditions qu’elle définit, vous disposez des droits suivants sur vos données : droit d’accès, droit de rectification, droit à l’effacement (droit à l’oubli), droit d’opposition, droit à la limitation du traitement, droit à la portabilité, droit de définir des directives relatives au sort de vos données après votre décès. Vous pouvez exercer vos droits en adressant un courrier à Opérations Lunii / SGA, 18 rue Horace Vernet, 92130 Issy-les-Moulineaux   ou un courriel à <a target="_blank" href="mailto:dpo@pierre-lannier.fr">mesdonnees@lunii.com</a>. En cas de réclamation, vous pouvez choisir de saisir la CNIL. 
  121.                     
  122.                     
  123.                     Pour en savoir plus sur la protection de vos données, cliquez
  124.                 <a target="_blank" href="{{ asset('assets/documents/LUNII_FR_6_Politique_de_confidentialite_Lunii.pdf') }}">
  125.                     <u>ici</u>
  126.                 </a>.
  127.             </p>
  128.         </div>
  129. {% endblock %}