templates/demande/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block page_contents %}
  3. <section class="section section-page-title bg-gradient py-xl-5 py-4" data-aos='fade-down'>
  4.   <div class="container">
  5.     <div class="row">
  6.       <div class="col-12 text-center text-white">
  7.         <h1 class="page-name font-weight-bold my-0">{% trans %}Brochure ÉSTIAM{% endtrans %}</h1>
  8.       </div>
  9.     </div>
  10.   </div>
  11. </section>
  12. <section class="section section-form section-form-2 mb-4 mt-3" data-aos='fade-up'>
  13.   <div class="container">
  14.     <div class="row">
  15.       <form id="document-apply">
  16.         <div class="col-xl-10 mx-auto">
  17.           <div class="row mb-4">
  18.             <div class="col-12">
  19.               <div class="py-3 px-xl-4 px-2 text-center" data-aos='zoom-in'>
  20.                 <div class="font-weight-bold font-20 mb-2 text-dark-purple">{% trans %}Retrouvez toutes les informations d'ÉSTIAM dans notre brochure{% endtrans %} !</div>
  21.                 <div class="section-title mb-2"><span>/</span>{% trans %} Découvrez ÉSTIAM en vidéo{% endtrans %}</div>
  22.               </div>
  23.             </div>
  24.             <div class="col-lg-7 mx-auto">
  25.               <div class="embed-responsive embed-responsive-16by9 hvr-glow">
  26.                 <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/I4BJraM6ESU?rel=0" allowfullscreen></iframe>
  27.               </div>
  28.             </div>
  29.           </div>
  30.           <div class="section-title text-left mb-3"><span>/</span>{% trans %} Téléchargement de la brochure{% endtrans %}</div>
  31.           <p>{% trans %}ÉSTIAM est une école d'informatique appliquée. Elle délivre une formation innovante avec des méthodes et un enseignement professionnalisant. L’école crée une relation individualisée entre chaque étudiant et les formateurs, tous des professionnels de l’informatique{% endtrans %}.<br/>{% trans %}Merci de rentrer vos coordonnées afin de lancer le téléchargement de la brochure{% endtrans %}.</p>
  32.           
  33.           <div class="row">
  34.             <div class="col-12 d-flex flex-column">
  35.               <div class="form-group row row-gender align-items-center mt-2">
  36.                 <label class="col-form-label font-weight-normal px-3 pt-0 pb-0 text-dark-purple text-nowrap">{% trans %}Civilité{% endtrans %}<span class="text-orange">*</span> :</label>
  37.                 <div class="flex-1">
  38.                     <div class="form-check form-check-inline mr-0">
  39.                       <div class="custom-control custom-radio">
  40.                           <input type="radio" class="custom-control-input" id="mr" name="user[gender]" value="1" required>
  41.                           <label class="custom-control-label text-dark-purple" for="mr">{% trans %}Madame{% endtrans %}</label>
  42.                       </div>
  43.                     </div>
  44.                     <div class="form-check form-check-inline ml-3 mr-0">
  45.                       <div class="custom-control custom-radio">
  46.                           <input type="radio" class="custom-control-input" id="mrs" name="user[gender]" value="0" required>
  47.                           <label class="custom-control-label text-dark-purple" for="mrs">{% trans %}Monsieur{% endtrans %}</label>
  48.                       </div>
  49.                     </div>
  50.                 </div>
  51.               </div>
  52.             </div>
  53.             <div class="col-lg-4 col-md-6">
  54.               <div class="form-group">
  55.                 <input type="text" class="form-control" name="user[firstName]" placeholder="{% trans %}Prénom{% endtrans %}*" required>
  56.               </div>
  57.             </div>
  58.             <div class="col-lg-4 col-md-6">
  59.               <div class="form-group">
  60.                 <input type="text" class="form-control" name="user[lastName]" placeholder="{% trans %}Nom{% endtrans %}*" required>
  61.               </div>
  62.             </div>
  63.             <div class="col-lg-4 col-md-6">
  64.               <div class="form-group">
  65.                 <input type="text" class="form-control" name="user[email]" placeholder="{% trans %}E-mail{% endtrans %}*" required>
  66.               </div>
  67.             </div>
  68.             <div class="col-lg-4 col-md-6">
  69.               <div class="form-group">
  70.                 <input type="text" class="form-control" name="user[phone]" placeholder="{% trans %}Téléphone{% endtrans %}*" required>
  71.               </div>
  72.             </div>
  73.             <div class="col-lg-4 col-md-6">
  74.               <div class="form-group">
  75.                 <select class="form-control" name="level" required>
  76.                   <option value="">{% trans %}Votre niveau d'étude actuel{% endtrans %}</option>
  77.                   <option value="1">BAC</option>
  78.                   <option value="2">BAC +1</option>
  79.                   <option value="3">BAC +2</option>
  80.                   <option value="4">BAC +3</option>
  81.                   <option value="5">BAC +4</option>
  82.                   <option value="6">BAC +5</option>
  83.                 </select>
  84.               </div>
  85.             </div>
  86.             <div class="col-lg-4 col-md-6">
  87.               <div class="form-group">
  88.                 <input type="text" class="form-control" name="" placeholder="{% trans %}Votre filière d'études actuelle*{% endtrans %}" required>
  89.               </div>
  90.             </div>
  91.           </div>
  92.           <div class="font-weight-bold text-dark-purple mb-2 mt-3">Établissement scolaire actuel</div>
  93.           <div class="row">
  94.             <div class="col-lg-4 col-md-6">
  95.               <div class="form-group">
  96.                 <input type="text" class="form-control" name="schoolName" placeholder="{% trans %}Nom d'établissement{% endtrans %}">
  97.               </div>
  98.             </div>
  99.             <div class="col-lg-4 col-md-6">
  100.               <div class="form-group">
  101.                 <input type="text" class="form-control" name="schoolPostal" placeholder="{% trans %}CP Établissement{% endtrans %}">
  102.               </div>
  103.             </div>
  104.             <div class="col-lg-4 col-md-6">
  105.               <div class="form-group">
  106.                 <input type="text" class="form-control" name="schoolCity" placeholder="{% trans %}Ville d'établissement{% endtrans %}">
  107.               </div>
  108.             </div>
  109.           </div>
  110.           <div class="font-weight-bold text-purple my-3"><span class="text-orange">/</span> {% trans %}Sélectionnez le(s) programme(s) auxquels vous envisagez de candidater{% endtrans %} <span class="text-orange">*</span></div>
  111.             <div class="form-group row">
  112.               <div class="col-lg-4 program-level-sidebar">
  113.                 <div class="font-weight-bold text-dark-purple mb-2">BTS</div>
  114.                 {% for bts in programs %}
  115.                   {% if bts.level == 1 %}
  116.                     <div class="form-check mx-0 px-0 mb-2">
  117.                       <div class="custom-control custom-checkbox">
  118.                         <input type="checkbox" class="custom-control-input" id="p-{{ bts.id }}" data-level="1" name="programs[]" value="{{ bts.id }}"
  119.                         {% if programId == bts.id %} checked {% endif %}
  120.                         >
  121.                         <label class="custom-control-label text-dark-purple font-weight-normal" for="p-{{ bts.id }}">{{ bts.name }}</label>
  122.                       </div>
  123.                     </div>
  124.                   {% endif %}
  125.                 {% endfor %}
  126.               </div>
  127.               <div class="col-lg-4 program-level-sidebar">
  128.                 <div class="font-weight-bold text-dark-purple mb-2">Bachelor</div>
  129.                 {% for bachelor in programs %}
  130.                   {% if bachelor.level == 2 %}
  131.                     <div class="form-check mx-0 px-0 mb-2">
  132.                       <div class="custom-control custom-checkbox">
  133.                         <input type="checkbox" class="custom-control-input" id="p-{{ bachelor.id }}" data-level="2" name="programs[]" value="{{ bachelor.id }}"
  134.                         {% if programId == bachelor.id %} checked {% endif %}
  135.                         >
  136.                         <label class="custom-control-label text-dark-purple font-weight-normal" for="p-{{ bachelor.id }}">{{ bachelor.name }}</label>
  137.                       </div>
  138.                     </div>
  139.                   {% endif %}
  140.                 {% endfor %}
  141.               </div>
  142.               <div class="col-lg-4 program-level-sidebar">
  143.                 <div class="font-weight-bold text-dark-purple mb-2">MSc & MBA</div>
  144.                   {% for mba in programs %}
  145.                   {% if mba.level == 3 %}
  146.                     <div class="form-check mx-0 px-0 mb-2">
  147.                       <div class="custom-control custom-checkbox">
  148.                         <input type="checkbox" class="custom-control-input" id="p-{{ mba.id }}" data-level="3" name="programs[]" value="{{ mba.id }}"
  149.                         {% if programId == mba.id %} checked {% endif %}
  150.                         >
  151.                         <label class="custom-control-label text-dark-purple font-weight-normal" for="p-{{ mba.id }}">{{ mba.name }}</label>
  152.                       </div>
  153.                     </div>
  154.                   {% endif %}
  155.                 {% endfor %}
  156.               </div>
  157.             </div>
  158.           <div class="font-weight-bold text-dark-purple mb-2 mt-3">{% trans %}Campus ÉSTIAM souhaité{% endtrans %} <span class="text-orange">*</span></div>
  159.           <div class="form-group row list-campus-checkbox">
  160.             {% for campus in campuses %}
  161.               <div class="col-xl col-lg col-md-3 col-sm-4 col-6">
  162.                 <div class="form-check mx-0 px-0 mb-2">
  163.                   <div class="custom-control custom-radio">
  164.                     <input type="radio" class="custom-control-input" id="campuses-{{ campus.id }}" name="campus1" value="{{ campus.id }}" required>
  165.                     <label class="custom-control-label text-dark-purple font-weight-normal text-nowrap" for="campuses-{{ campus.id }}">{{ campus.name }}</label>
  166.                   </div>
  167.                 </div>
  168.               </div>
  169.             {% endfor %}
  170.           </div>
  171.           {% if captcha_enabled %}
  172.             <div class="captcha-row mb-4 d-flex justify-content-center">
  173.                 <div class="g-recaptcha animate__animated" data-sitekey="{{captcha_key}}"></div>
  174.             </div>
  175.           {% endif %}
  176.           <div class="notification-error mb-4 text-center text-danger font-weight-bold" style="display: none;"></div>
  177.           <div class="text-center form-submit">
  178.             <input type="hidden" name="campaign" value="{{ campaign.id }}">
  179.             
  180.             <button type="submit" id="btn-submit" class="link-gradient"><span>{% trans %}Télécharger la brochure{% endtrans %}</span><i class="far fa-arrow-right"></i></button>
  181.           </div>
  182.         </div>
  183.         <a href="{{ asset('assets/files/Brochure_ESTIAM_2023_light_2.pdf') }}" id="brochure" download="Estiam-Brochure.pdf" style="display: none;">Brochure</a>
  184.       </form>
  185.     </div>
  186.   </div>
  187. </section>
  188. <div class="modal fade" id="thankYouModal" tabindex="-1" role="dialog" aria-labelledby="thankYouModalTitle" aria-hidden="true">
  189.   <div class="modal-dialog modal-dialog-centered" role="document">
  190.     <div class="modal-content">
  191.       <div class="modal-header">
  192.         <a href="{{ path('home') }}">
  193.           <img src="{{ asset('assets/images/logo.svg') }}" alt="Estiam France">
  194.         </a>
  195.       </div>
  196.       <div class="modal-body">
  197.         <div class="text-center mb-4">
  198.           {% trans %}Merci pour votre soumission{% endtrans %}
  199.         </div>
  200.         <div class="text-center">
  201.           <a href="{{ path('home') }}"><button type="button" class="common-btn">{% trans %}Fermer{% endtrans %}</button></a>
  202.         </div>
  203.       </div>
  204.     </div>
  205.   </div>
  206. </div>
  207. {% endblock %}
  208. {% block custom_javascripts %}
  209. <script type="text/javascript">
  210. $(document).ready(function(){
  211.   $('[name^="programs"]').change(function() {
  212.     if ($(this).prop('checked')) {
  213.       const siblings = $(this).closest('.program-level-sidebar').siblings();
  214.       siblings.find('[name^="programs"]').prop('checked', false)      
  215.     }
  216.   })
  217.   $("[name='service']").click(function() {
  218.     var radio = $(this).attr('id'); console.log(radio);
  219.     if(radio == 'service-other') {
  220.         $(".service-other").show();
  221.     } else {
  222.         $(".service-other").hide();
  223.     }
  224.   });
  225.   $('#document-apply').on('submit', function (e) {
  226.     $('.notification-error').hide();
  227.     event.preventDefault();
  228.     if($("input:checkbox[name='programs[]']:checked").length <= 0){
  229.         $('.notification-error').text('{% trans %}Veuillez sélectionner au moins 1 programme{% endtrans %}');
  230.         $('.notification-error').show();
  231.         return false;
  232.     }
  233.     if(typeof(grecaptcha) !== 'undefined') {
  234.       var checkCaptcha = grecaptcha.getResponse();
  235.       if(grecaptcha.getResponse() == ""){
  236.           $('.g-recaptcha').css({"box-shadow": "0px 0px 4px #ff0000b3"});
  237.           return;
  238.       }
  239.     }
  240.     let data = $(this).serialize();
  241.     let $button = $(this).find('#btn-submit');
  242.       $button.prepend('<i class="fas fa-spinner fa-pulse mr-1"></i>');
  243.       $button.prop('disabled', true);
  244.     $.ajax({
  245.         url: "/save-document",
  246.         type: 'POST',
  247.         dataType: 'json',
  248.         data : data,
  249.         success: function (res) {
  250.  
  251.             if(res.status == 'failed'){
  252.                $('.notification-error').text(res.errors.errorMessage);
  253.                $('.notification-error').show();
  254.             }
  255.             if(res.status == 'success'){
  256.                 document.getElementById("brochure").click();
  257.                 document.getElementById("document-apply").reset();
  258.                 $('#thankYouModal').modal();
  259.                 dataLayer.push({'event':'lead_brochure'});
  260.             }
  261.         },
  262.     }).always(function () {
  263.         
  264.         $button.find('.fa-pulse').remove();
  265.         $button.prop('disabled', false);
  266.         handleNotification($('.notification-success, .notification-error'));
  267.     });
  268.     
  269.   });
  270. });
  271. </script>
  272. {% endblock %}