templates/admission/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% set extendClass = 'admission-en' %}
  3. {% block custom_css %}
  4.   <link href="{{ asset('assets/css/intlTelInput.css') }}" rel="stylesheet">
  5. {% endblock %}
  6. {% block page_contents %}
  7. <section class="section section-page-title bg-gradient py-4" data-aos='fade-down'>
  8.     <div class="container">
  9.         <div class="row">
  10.             <div class="col-12 mb-3 text-center">
  11.                 <a href="/"><img class="landing-logo" src="/assets/images/logo-white.svg" width="250" alt="Estiam France"></a>
  12.             </div>
  13.             <div class="col-12 text-left text-white d-inline-flex justify-content-md-start justify-content-center align-items-center flex-wrap">
  14.                 <div class="l-logo order-md-1 order-1">
  15.                   {% if landing.landingpageFiles[0] is defined %}
  16.                     <img src="{{ landing.landingpageFiles[0].path }}" alt="{{ landing.name }}" />
  17.                   {% else %}
  18.                     <img src="{{ asset('assets/images/no-img/jpo.jpg') }}" alt="{{ landing.name }}"/>
  19.                   {% endif %}
  20.                 </div>
  21.                 <div class="l-name mx-3 order-md-2 order-3 mt-md-0 mt-3"> 
  22.                   <h1 class="page-name font-weight-bold mb-0">{{ landing.name }}</h1>
  23.                 </div>
  24.                 <div class="l-qrcode order-md-3 order-2">
  25.                   <div id="qrcode"></div>
  26.                 </div>
  27.             </div>
  28.         </div>
  29.     </div>
  30. </section>
  31. <section class="section section-form section-form-2 section-form-addmission mb-lg-5 mb-4 pt-4" data-aos="fade-up">
  32.   <form autocomplete="off" name="form-apply" id="form-landing-page-agent" action="{{ path('landingpage_agent.save') }}" method="POST" enctype="multipart/form-data" class="form-outline">
  33.     <div class="container">
  34.       <div class="row">   
  35.         <div class="col-12 mb-4">
  36.           <div class="row">
  37.             <div class="col-lg-4">
  38.                 <div class="form-header font-weight-bold text-purple mb-2">Preferred campus</div>
  39.                 <div class="form-group selectbox">
  40.                     <select class="form-control cursor" name="campus1" required="">
  41.                         <option val=""></option>
  42.                         {% for campus in campuses %}
  43.                             <option value="{{ campus.id }}">{{ campus.name }}</option>
  44.                         {% endfor %}
  45.                     </select>
  46.                     <label class="form-label">
  47.                         Please select a campus
  48.                     </label>
  49.                 </div>
  50.             </div>
  51.             <div class="col-lg-4 preferred-program" style="display: none;">
  52.                 <div class="form-header font-weight-bold text-purple mb-2">Preferred program</div>
  53.                 <div class="form-group selectbox">
  54.                     <select class="form-control cursor" name="programs[]" required="" id="programsByCampus" disabled>
  55.                     </select>
  56.                     <label class="form-label">
  57.                         Please select a program
  58.                     </label>
  59.                 </div>
  60.             </div>
  61.             <div class="col-12"><i><small>(Please note that admission to the 5<sup>th</sup> year is not possible for students who have not first completed their 4<sup>th</sup> year at ÉSTIAM.)</small></i></div>
  62.           </div>
  63.         </div>
  64.       </div>
  65.     </div>
  66.     <div class="bg-white form-add mx-xl-auto mx-md-3 mx-2">
  67.       <div class="container">
  68.         <div class="row">
  69.           <div class="col-12 py-lg-4 py-4">
  70.             {# STEP 1 #}
  71.             <div class="d-flex flex-md-row flex-column mb-4">
  72.                 <div class="section-title text-left d-flex align-items-center mb-0">
  73.                     <span class="mr-2">
  74.                       <img src="/assets/images/landing/s-1.png" height="39" alt="Your personal information" />
  75.                     </span>
  76.                     Your personal information 
  77.                 </div>
  78.             </div>
  79.             <div class="form-group checklist">
  80.                 <label class="form-label pr-md-5 pr-3">
  81.                     You are
  82.                 </label>
  83.                 <div class="d-inline">
  84.                     <div class="form-check form-check-inline">
  85.                         <div class="custom-control custom-radio pr-md-5 pr-2">
  86.                             <input type="radio" class="custom-control-input" id="user[gender]-0" name="user[gender]" value="0" required="">
  87.                             <label class="custom-control-label" for="user[gender]-0">Mr.</label>
  88.                         </div>
  89.                     </div>
  90.                     <div class="form-check form-check-inline">
  91.                         <div class="custom-control custom-radio pr-md-5 pr-2">
  92.                             <input type="radio" class="custom-control-input" id="user[gender]-1" name="user[gender]" value="1" required="">
  93.                             <label class="custom-control-label" for="user[gender]-1">
  94.                                 Ms.
  95.                             </label>
  96.                         </div>
  97.                     </div>
  98.                 </div>
  99.             </div>
  100.             <div class="form-row">
  101.                 <div class="col-lg-4">
  102.                     <div class="form-group">
  103.                         <input type="text" placeholder=" " class="form-control" name="user[lastName]" required="" value="">
  104.                         <label class="form-label">
  105.                             Surname
  106.                         </label>
  107.                     </div>
  108.                 </div>
  109.                 <div class="col-lg-4">
  110.                     <div class="form-group">
  111.                         <input type="text" placeholder=" " class="form-control" name="user[firstName]" required="" value="">
  112.                         <label class="form-label">
  113.                             First name
  114.                         </label>
  115.                     </div>
  116.                 </div>
  117.                 <div class="col-lg-4">
  118.                     <div class="form-group date-picker-en">
  119.                         <input type="text"  placeholder=" " class="form-control " name="user[birthDay]" required value="" maxDate="-16Y" minDate="-100Y">
  120.                         <label class="form-label">
  121.                             Date of birth
  122.                         </label>
  123.                     </div>
  124.                 </div>
  125.             </div>
  126.             <div class="form-row">
  127.                 <div class="col-lg-4">
  128.                     <div class="form-group selectbox">
  129.                         <select class="form-control cursor" name="user[country]">
  130.                             <option val=""></option>
  131.                             {% for country in countries %}
  132.                                 <option value="{{ country.id }}">{{ country.name }}</option>
  133.                             {% endfor %}
  134.                         </select>
  135.                         <label class="form-label">
  136.                             Country of birth
  137.                         </label>
  138.                     </div>
  139.                 </div>
  140.                 <div class="col-lg-4">
  141.                     <div class="form-group selectbox">
  142.                         <select class="form-control cursor" name="user[nationality]">
  143.                             <option val=""></option>
  144.                             {% for country in countries %}
  145.                                 <option value="{{ country.id }}">{{ country.name }}</option>
  146.                             {% endfor %}
  147.                         </select>
  148.                         <label class="form-label">
  149.                             Nationality
  150.                         </label>
  151.                     </div>
  152.                 </div>
  153.                 <div class="col-lg-4">
  154.                     <div class="form-group">
  155.                         <input type="text" placeholder=" " class="form-control" name="user[email]" required="" value="">
  156.                         <label class="form-label">
  157.                             Email
  158.                         </label>
  159.                     </div>
  160.                 </div>
  161.             </div>
  162.             <div class="form-row">
  163.                 <div class="col-lg-4">
  164.                     <div class="form-group py-0 form-phone">
  165.                         <input type="text" id="telephone" placeholder="Phone" class="form-control phone-input" name="user[phone]" required="" value="">
  166.                         <label class="form-label d-none">
  167.                             Phone
  168.                         </label>
  169.                     </div>
  170.                 </div>
  171.                 <div class="col-lg-4">
  172.                     <div class="form-group">
  173.                         <input type="text" placeholder=" " class="form-control" name="information[address]" value="">
  174.                         <label class="form-label">
  175.                             Address
  176.                         </label>
  177.                     </div>
  178.                 </div>
  179.                 <div class="col-lg-4">
  180.                     <div class="form-group">
  181.                         <input type="text" placeholder=" " class="form-control" name="information[postalCode]" value="">
  182.                         <label class="form-label">
  183.                             Postal code
  184.                         </label>
  185.                     </div>
  186.                 </div>
  187.             </div>
  188.             <div class="form-row">
  189.                 <div class="col-lg-4">
  190.                     <div class="form-group">
  191.                         <input type="text" placeholder=" " class="form-control" name="information[city]" value="">
  192.                         <label class="form-label">
  193.                             City
  194.                         </label>
  195.                     </div>
  196.                 </div>
  197.                  <div class="col-lg-4">
  198.                   <div class="form-group selectbox">
  199.                       <select class="form-control cursor" name="information[country]">
  200.                           <option val=""></option>
  201.                           {% for country in countries %}
  202.                               <option value="{{ country.id }}">{{ country.name }}</option>
  203.                           {% endfor %}
  204.                       </select>
  205.                       <label class="form-label">
  206.                           Country of Residence
  207.                       </label>
  208.                   </div>
  209.               </div>
  210.             </div>
  211.             <div class="form-row">
  212.                 <div class="col">
  213.                     <div class="custom-control custom-checkbox mt-1">
  214.                         <input type="hidden" name="isHandicap" value="0"><input type="checkbox" class="custom-control-input showIfChecked" id="isHandicap-1" name="isHandicap" value="1" onclick="this.previousSibling.value=1-this.previousSibling.value">
  215.                         <label class="custom-control-label" for="isHandicap-1">Do you have any physical or mental challenges?</label>
  216.                         <div class="showIfCheckedContent mt-2">
  217.                             <div class="form-group">
  218.                                 <textarea placeholder=" " class="form-control textarea" name="handicapInfo"></textarea>
  219.                                 <label class="form-label">
  220.                                     Specify the adjustments necessary for the proper monitoring of your education *
  221.                                 </label>
  222.                             </div>
  223.                             <div class="group-item mb-3 field-upload">
  224.                                 <input type="file" class="form-control uploader-required" id="fileHandicap" name="fileHandicap"/>
  225.                                 <label class="d-inline-flex flex-column" for="fileHandicap">
  226.                                     <div class="d-flex align-items-start cursor">
  227.                                         <div class="upload-btn cloud-btn px-3">
  228.                                             <i class="fas fa-cloud-arrow-up"></i>
  229.                                         </div>
  230.                                         <div class="ml-3 mt-1">
  231.                                             <span class="text-dark-purple font-weight-500">
  232.                                                 Your disability certificate, if applicable
  233.                                                 <span class="text-red"></span>
  234.                                             </span>
  235.                                         </div>
  236.                                     </div>
  237.                                 </label>
  238.                                 <span class="file-desc flex-1 d-flex align-items-start mt-n2 ">
  239.                                     <i class="fa-solid fa-paperclip-vertical text-orange mr-2 mt-1"></i>
  240.                                     <span class="upload-file-name"></span>
  241.                                     <i class="far fa-xmark ml-3 cursor uploader-clear text-red mt-1"></i>
  242.                                 </span>
  243.                             </div>
  244.                         </div>
  245.                     </div>
  246.                 </div>
  247.             </div>
  248.             <div class="mt-3">
  249.                 <div class="font-20 text-purple font-weight-bold mb-3">
  250.                   What material do I need to study?
  251.                 </div>
  252.                 <p class="text-orange mb-1">
  253.                   <i>For IT programs</i>
  254.                 </p>
  255.                 <p>
  256.                     Regardless of which class you join next year, you will need a laptop and a smartphone with the following minimum specifications:
  257.                 </p>
  258.                 <div class="d-flex align-items-start font-weight-bold mb-2"><span class="pt-1 line-height-small"><i class="fa-solid fa-angles-right text-purple mr-2"></i></span>
  259.                     Minimum laptop specifications:
  260.                 </div>
  261.                 <ul class="list-unstyled mb-3 ml-4">
  262.                     <li class="d-flex align-items-start mb-1"><span class="pt-1 line-height-small"><i class="fa-solid fa-check text-success mr-3"></i></span>
  263.                         Core i7 or i9 processor (12th generation),
  264.                     </li>
  265.                     <li class="d-flex align-items-start mb-1"><span class="pt-1 line-height-small"><i class="fa-solid fa-check text-success mr-3"></i></span>
  266.                         RAM 16 GB minimum,
  267.                     </li>
  268.                     <li class="d-flex align-items-start mb-1"><span class="pt-1 line-height-small"><i class="fa-solid fa-check text-success mr-3"></i></span>
  269.                         Graphics card with 6 GB of memory,
  270.                     </li>
  271.                     <li class="d-flex align-items-start mb-1"><span class="pt-1 line-height-small"><i class="fa-solid fa-check text-success mr-3"></i></span>
  272.                         Webcam and microphone,
  273.                     </li>
  274.                     <li class="d-flex align-items-start mb-1"><span class="pt-1 line-height-small"><i class="fa-solid fa-check text-success mr-3"></i></span>
  275.                         Minimum 1TB hard drive,
  276.                     </li>
  277.                     <li class="d-flex align-items-start mb-1"><span class="pt-1 line-height-small"><i class="fa-solid fa-check text-success mr-3"></i></span>
  278.                         For Apple computers, use a Windows 11 emulator.
  279.                     </li>
  280.                 </ul>
  281.                 <div class="d-flex align-items-start font-weight-bold mb-2"><span class="pt-1 line-height-small"><i class="fa-solid fa-angles-right text-purple mr-2"></i></span>
  282.                     Minimum specifications of the student's personal smartphone:
  283.                 </div>
  284.                 <ul class="list-unstyled mb-3 ml-4">
  285.                     <li class="d-flex align-items-start mb-1"><span class="pt-1 line-height-small"><i class="fa-solid fa-check text-success mr-3"></i></span>
  286.                         Android 13 or later phone (with camera) or Apple iPhone with iOS 15 or later. With internet connectivity.
  287.                     </li>
  288.                 </ul>
  289.                 <div class="d-flex align-items-start font-weight-bold mb-2"><span class="pt-1 line-height-small"><i class="fa-solid fa-angles-right text-purple mr-2"></i></span>
  290.                     Minimum characteristics of the student's personal Internet connection (ADSL, Fiber optic or 4G):
  291.                 </div>
  292.                 <ul class="list-unstyled ml-4">
  293.                     <li class="d-flex align-items-start mb-1"><span class="pt-1 line-height-small"><i class="fa-solid fa-check text-success mr-3"></i></span>
  294.                         1 Mbps upload speed
  295.                     </li>
  296.                     <li class="d-flex align-items-start mb-1"><span class="pt-1 line-height-small"><i class="fa-solid fa-check text-success mr-3"></i></span>
  297.                         7 Mbps minimum download speed
  298.                     </li>
  299.                 </ul>
  300.             </div>
  301.             {# end step 1 #}
  302.             {# STEP 2 #}
  303.             <div class="section-title text-left mb-4 d-flex align-items-center pt-4">
  304.                 <span class="mr-2">
  305.                   <img src="/assets/images/landing/s-2.png" height="39" alt="Education background" />
  306.                 </span>
  307.                 <span class="text-nowrap">Education background</span>
  308.             </div>
  309.             <div class="form-row">
  310.                 <div class="col-lg-4">
  311.                     <div class="form-group selectbox ">
  312.                         <select class="form-control cursor" name="studyLevel">
  313.                             <option val=""></option>
  314.                             {% for level in studyLevels %}
  315.                                 <option value="{{ level.id }}">{{ level.name }}</option>
  316.                             {% endfor %}
  317.                         </select>
  318.                         <label class="form-label">Current level of study</label>
  319.                     </div>
  320.                 </div>
  321.                 <div class="col-lg-8">
  322.                     <div class="form-group">
  323.                         <input type="text" placeholder=" " class="form-control" name="information[previousSchool]" value="">
  324.                         <label class="form-label">Last establishment attended</label>
  325.                     </div>
  326.                 </div>
  327.             </div>
  328.             <div class="form-row">
  329.                 <div class="col-lg-4">
  330.                     <div class="form-group">
  331.                         <input type="text" placeholder=" " class="form-control" name="information[previousDegree]" value="">
  332.                         <label class="form-label">Last diploma obtained</label>
  333.                     </div>
  334.                 </div>
  335.                 <div class="col-lg-4">
  336.                     <div class="form-group">
  337.                         <input type="text" placeholder=" " class="form-control" name="information[previousDegreeYear]" value="">
  338.                         <label class="form-label">School year</label>
  339.                     </div>
  340.                 </div>
  341.                 <div class="col-lg-4">
  342.                     <div class="form-group">
  343.                         <input type="text" placeholder=" " class="form-control" name="information[previousDegreeDescription]" value="">
  344.                         <label class="form-label">Specify your specialization</label>
  345.                     </div>
  346.                 </div>
  347.             </div>
  348.             <div class="form-row">
  349.                 <div class="col-lg-4">
  350.                     <div class="form-group">
  351.                         <input type="text" placeholder=" " class="form-control" name="information[currentDegree]" value="">
  352.                         <label class="form-label">Diploma in progress</label>
  353.                     </div>
  354.                 </div>
  355.                 <div class="col-lg-4">
  356.                     <div class="form-group">
  357.                         <input type="text" placeholder=" " class="form-control" name="information[currentDegreeYear]" value="">
  358.                         <label class="form-label">School year</label>
  359.                     </div>
  360.                 </div>
  361.                 <div class="col-lg-4">
  362.                     <div class="form-group">
  363.                         <input type="text" placeholder=" " class="form-control" name="information[currentDegreeDescription]" value="">
  364.                         <label class="form-label">Specify your specialization</label>
  365.                     </div>
  366.                 </div>
  367.             </div>
  368.             {# end step 2 #}
  369.             {# STEP 3 #}
  370.             <div class="section-title text-left mb-4 d-flex align-items-center pt-4">
  371.                 <span class="mr-2">
  372.                   <img src="/assets/images/landing/s-3.png" height="39" alt="CV & Cover Letter" />
  373.                 </span>
  374.                 <span class="text-nowrap ">CV & Cover Letter</span>
  375.             </div>
  376.             <div class="group-item mb-3 field-upload">
  377.                 <input type="file" class="form-control uploader-required" id="fileCv" name="fileCv" />
  378.                 <label class="d-inline-flex flex-column" for="fileCv">
  379.                     <div class="d-flex align-items-start cursor">
  380.                         <div class="upload-btn cloud-btn px-3">
  381.                             <i class="fas fa-cloud-arrow-up"></i>
  382.                         </div>
  383.                         <div class="ml-3 mt-1">
  384.                             <span class="text-dark-purple font-weight-500">
  385.                                 Resume
  386.                                 <span class="text-red"></span>
  387.                             </span>
  388.                         </div>
  389.                     </div>
  390.                 </label>
  391.                 <span class="file-desc flex-1 d-flex align-items-start mt-n2 ">
  392.                     <i class="fa-solid fa-paperclip-vertical text-orange mr-2 mt-1"></i>
  393.                     <span class="upload-file-name"></span>
  394.                     <i class="far fa-xmark ml-3 cursor uploader-clear text-red mt-1"></i>
  395.                 </span>
  396.             </div>
  397.             <div class="group-item mb-3 field-upload">
  398.                 <input type="file" class="form-control uploader-required" id="fileLetter" name="fileLetter"/>
  399.                 <label class="d-inline-flex flex-column" for="fileLetter">
  400.                     <div class="d-flex align-items-start cursor">
  401.                         <div class="upload-btn cloud-btn px-3">
  402.                             <i class="fas fa-cloud-arrow-up"></i>
  403.                         </div>
  404.                         <div class="ml-3 mt-1">
  405.                             <span class="text-dark-purple font-weight-500">
  406.                                 Cover letter
  407.                                 <span class="text-red"></span>
  408.                             </span>
  409.                         </div>
  410.                     </div>
  411.                 </label>
  412.                 <span class="file-desc flex-1 d-flex align-items-start mt-n2 ">
  413.                     <i class="fa-solid fa-paperclip-vertical text-orange mr-2 mt-1"></i>
  414.                     <span class="upload-file-name"></span>
  415.                     <i class="far fa-xmark ml-3 cursor uploader-clear text-red mt-1"></i>
  416.                 </span>
  417.             </div>
  418.             <div class="row">
  419.               <div class="col-lg-6">
  420.                 <div class="form-group">
  421.                     <textarea placeholder=" " class="form-control textarea long-label" name="motivation"></textarea>
  422.                     <label class="form-label">Can you describe your motivation for joining one of ÉSTIAM’s courses?</label>
  423.                 </div>
  424.               </div>
  425.               <div class="col-lg-6">
  426.                 <div class="form-group">
  427.                     <textarea placeholder=" " class="form-control textarea" name="admissionMessage"></textarea>
  428.                     <label class="form-label">Message to the admissions department</label>
  429.                 </div>
  430.               </div>
  431.             </div>
  432.             {# end step 3 #}
  433.             {# STEP 4 #}
  434.             <div class="section-title text-left d-flex align-items-center mb-4 pt-4">
  435.               <span class="mr-2">
  436.                 <img src="/assets/images/landing/s-4.png" height="39" alt="Documents to be attached to the file" />
  437.               </span>
  438.               <span>Documents to be attached to the file</span>
  439.             </div>
  440.             <div class="font-weight-bold text-purple mb-2">Last three report cards</div>
  441.             <div class="group-item mb-3 field-upload">
  442.                 <input type="file" class="form-control uploader-required" id="fileReportCard1" name="fileReportCard1"/>
  443.                 <label class="d-inline-flex flex-column" for="fileReportCard1">
  444.                     <div class="d-flex align-items-start cursor">
  445.                         <div class="upload-btn cloud-btn px-3">
  446.                             <i class="fas fa-cloud-arrow-up"></i>
  447.                         </div>
  448.                         <div class="ml-3 mt-1">
  449.                             <span class="text-dark-purple font-weight-500">
  450.                                 Bulletin 1
  451.                                 <span class="text-red"></span>
  452.                             </span>
  453.                         </div>
  454.                     </div>
  455.                 </label>
  456.                 <span class="file-desc flex-1 d-flex align-items-start mt-n2 ">
  457.                     <i class="fa-solid fa-paperclip-vertical text-orange mr-2 mt-1"></i>
  458.                     <span class="upload-file-name"></span>
  459.                     <i class="far fa-xmark ml-3 cursor uploader-clear text-red mt-1"></i>
  460.                 </span>
  461.             </div>
  462.             <div class="group-item mb-3 field-upload">
  463.                 <input type="file" class="form-control uploader-required" id="fileReportCard2" name="fileReportCard2"/>
  464.                 <label class="d-inline-flex flex-column" for="fileReportCard2">
  465.                     <div class="d-flex align-items-start cursor">
  466.                         <div class="upload-btn cloud-btn px-3">
  467.                             <i class="fas fa-cloud-arrow-up"></i>
  468.                         </div>
  469.                         <div class="ml-3 mt-1">
  470.                             <span class="text-dark-purple font-weight-500">
  471.                                 Bulletin 2
  472.                                 <span class="text-red"></span>
  473.                             </span>
  474.                         </div>
  475.                     </div>
  476.                 </label>
  477.                 <span class="file-desc flex-1 d-flex align-items-start mt-n2 ">
  478.                     <i class="fa-solid fa-paperclip-vertical text-orange mr-2 mt-1"></i>
  479.                     <span class="upload-file-name"></span>
  480.                     <i class="far fa-xmark ml-3 cursor uploader-clear text-red mt-1"></i>
  481.                 </span>
  482.             </div>
  483.             <div class="group-item mb-3 field-upload">
  484.                 <input type="file" class="form-control uploader-required" id="fileReportCard3" name="fileReportCard3"/>
  485.                 <label class="d-inline-flex flex-column" for="fileReportCard3">
  486.                     <div class="d-flex align-items-start cursor">
  487.                         <div class="upload-btn cloud-btn px-3">
  488.                             <i class="fas fa-cloud-arrow-up"></i>
  489.                         </div>
  490.                         <div class="ml-3 mt-1">
  491.                             <span class="text-dark-purple font-weight-500">
  492.                                 Bulletin 3
  493.                                 <span class="text-red"></span>
  494.                             </span>
  495.                         </div>
  496.                     </div>
  497.                 </label>
  498.                 <span class="file-desc flex-1 d-flex align-items-start mt-n2 ">
  499.                     <i class="fa-solid fa-paperclip-vertical text-orange mr-2 mt-1"></i>
  500.                     <span class="upload-file-name"></span>
  501.                     <i class="far fa-xmark ml-3 cursor uploader-clear text-red mt-1"></i>
  502.                 </span>
  503.             </div>
  504.             <div class="group-item mb-3 field-upload">
  505.                 <input type="file" class="form-control uploader-required" id="fileDiplome" name="fileDiplome"/>
  506.                 <label class="d-inline-flex flex-column" for="fileDiplome">
  507.                     <div class="d-flex align-items-start cursor">
  508.                         <div class="upload-btn cloud-btn px-3">
  509.                             <i class="fas fa-cloud-arrow-up"></i>
  510.                         </div>
  511.                         <div class="ml-3 mt-1">
  512.                             <span class="text-dark-purple font-weight-500">
  513.                                 Last diploma obtained
  514.                                 <span class="text-red"></span>
  515.                             </span>
  516.                         </div>
  517.                     </div>
  518.                 </label>
  519.                 <span class="file-desc flex-1 d-flex align-items-start mt-n2 ">
  520.                     <i class="fa-solid fa-paperclip-vertical text-orange mr-2 mt-1"></i>
  521.                     <span class="upload-file-name"></span>
  522.                     <i class="far fa-xmark ml-3 cursor uploader-clear text-red mt-1"></i>
  523.                 </span>
  524.             </div>
  525.             <div class="form-row">
  526.                 <div class="col-xl-7 col-lg-8">
  527.                     <div class="group-item mb-3 field-upload">
  528.                         <input type="file" class="form-control uploader-required" id="fileIdentity" name="fileIdentity"/>
  529.                         <label class="d-inline-flex flex-column" for="fileIdentity">
  530.                             <div class="d-flex align-items-start cursor">
  531.                                 <div class="upload-btn cloud-btn px-3">
  532.                                     <i class="fas fa-cloud-arrow-up"></i>
  533.                                 </div>
  534.                                 <div class="ml-3 mt-1">
  535.                                     <span class="text-dark-purple font-weight-500">
  536.                                         Your identity document
  537.                                         <span class="text-red"></span>
  538.                                     </span>
  539.                                     (passport, national identity card)
  540.                                 </div>
  541.                             </div>
  542.                         </label>
  543.                         <span class="file-desc flex-1 d-flex align-items-start mt-n2 ">
  544.                             <i class="fa-solid fa-paperclip-vertical text-orange mr-2 mt-1"></i>
  545.                             <span class="upload-file-name"></span>
  546.                             <i class="far fa-xmark ml-3 cursor uploader-clear text-red mt-1"></i>
  547.                         </span>
  548.                     </div>
  549.                 </div>
  550.                 <div class="col-xl-5 col-lg-4">
  551.                     <div class="form-group date-picker-en">
  552.                         <input type="text" placeholder=" " class="form-control" name="expireIdentity" value="" minDate="-10Y">
  553.                         <label class="form-label">Expiration date of the identity document</label>
  554.                     </div>
  555.                 </div>
  556.             </div>
  557.             <div class="form-row">
  558.                 <div class="col-xl-7 col-lg-8">
  559.                     <div class="group-item mb-3 field-upload">
  560.                         <input type="file" class="form-control uploader-required" id="fileResidencePermit" name="fileResidencePermit"/>
  561.                         <label class="d-inline-flex flex-column" for="fileResidencePermit">
  562.                             <div class="d-flex align-items-start cursor">
  563.                                 <div class="upload-btn cloud-btn px-3">
  564.                                     <i class="fas fa-cloud-arrow-up"></i>
  565.                                 </div>
  566.                                 <div class="ml-3 mt-1">
  567.                                     <span class="text-dark-purple font-weight-500">
  568.                                         Your residence permit
  569.                                         <span class="text-red"></span>
  570.                                     </span>
  571.                                     (non-EU nationalities only)
  572.                                     <br><i><small class="d-block line-height-normal">(If you don't have it yet, we will provide you with a registration certificate to present to Campus France after submitting your application.)</small></i>
  573.                                 </div>
  574.                             </div>
  575.                         </label>
  576.                         <span class="file-desc flex-1 d-flex align-items-start mt-n2 ">
  577.                             <i class="fa-solid fa-paperclip-vertical text-orange mr-2 mt-1"></i>
  578.                             <span class="upload-file-name"></span>
  579.                             <i class="far fa-xmark ml-3 cursor uploader-clear text-red mt-1"></i>
  580.                         </span>
  581.                     </div>
  582.                 </div>
  583.                 <div class="col-xl-5 col-lg-4">
  584.                     <div class="form-group date-picker-en">
  585.                         <input type="text" placeholder=" " class="form-control" name="expireResidencePermit" value="" minDate="-10Y">
  586.                         <label class="form-label">Expiration date of the identity document</label>
  587.                     </div>
  588.                 </div>
  589.             </div>
  590.             <div class="group-item mb-3 field-upload">
  591.                 <input type="file" class="form-control uploader-required" id="user[media]" name="media"/>
  592.                 <label class="d-inline-flex flex-column" for="user[media]">
  593.                     <div class="d-flex align-items-start cursor">
  594.                         <div class="upload-btn cloud-btn px-3">
  595.                             <i class="fas fa-cloud-arrow-up"></i>
  596.                         </div>
  597.                         <div class="ml-3 mt-1">
  598.                             <span class="text-dark-purple font-weight-500">
  599.                                 Your passport photo
  600.                                 <span class="text-red"></span>
  601.                             </span>
  602.                         </div>
  603.                     </div>
  604.                 </label>
  605.                 <span class="file-desc flex-1 d-flex align-items-start mt-n2 ">
  606.                     <i class="fa-solid fa-paperclip-vertical text-orange mr-2 mt-1"></i>
  607.                     <span class="upload-file-name"></span>
  608.                     <i class="far fa-xmark ml-3 cursor uploader-clear text-red mt-1"></i>
  609.                 </span>
  610.             </div>
  611.             {# end step 4 #}
  612.             {% if captcha_enabled %}
  613.                 <div class="captcha-row mb-4 d-flex justify-content-center">
  614.                     <div class="g-recaptcha animate__animated" data-sitekey="{{ captcha_key }}"></div>
  615.                 </div>
  616.             {% endif %}
  617.             <div class="notification-error mb-4 text-center text-danger font-weight-bold" style="display: none;"></div>
  618.             <div class="d-flex justify-content-center form-submit mt-5">
  619.                 <input type="hidden" value="{{ landing.id }}" name="landingpage">
  620.                 <input type="hidden" value="1" name="isAgent">
  621.                 <input type="hidden" value="{{ year }}" name="year">
  622.                 <button type="submit" id="btn-submit" class="link-gradient d-block d-lg-inline-block">
  623.                     <span>SEND</span><i class="far fa-arrow-right"></i>
  624.                 </button>
  625.             </div>
  626.           </div>
  627.         </div>
  628.       </div>
  629.     </div>
  630.   </form>
  631. </section>
  632. <div class="modal fade" id="thankYouModal" tabindex="-1" role="dialog" aria-labelledby="thankYouModalTitle" aria-hidden="true">
  633.   <div class="modal-dialog modal-dialog-centered" role="document">
  634.     <div class="modal-content">
  635.       <div class="modal-header">
  636.         <a href="{{ path('home') }}">
  637.           <img src="{{ asset('assets/images/logo.svg') }}" alt="Estiam France">
  638.         </a>
  639.       </div>
  640.       <div class="modal-body">
  641.         <div class="text-center mb-4">
  642.             Your registration has been successfully completed.<br/>
  643.             Thank you!<br/>
  644.             The Éstiam team
  645.         </div>
  646.         <div class="text-center">
  647.           <button type="button" class="common-btn" data-dismiss="modal">Close</button>
  648.         </div>
  649.       </div>
  650.     </div>
  651.   </div>
  652. </div>
  653. {% endblock %}
  654. {% block custom_javascripts %}
  655. <script src="{{ asset('assets/js/intlTelInput.min.js') }}"></script>
  656. <script src="{{ asset('assets/js/qrcode.min.js') }}"></script>
  657. <script type="text/javascript">
  658. $(document).ready(function(){
  659.   const input = document.querySelector("#telephone");
  660.   window.intlTelInput(input, {
  661.     nationalMode: false,
  662.     separateDialCode: true,
  663.     initialCountry: "auto",
  664.     preferredCountries: [],
  665.     geoIpLookup: function (success, failure) {
  666.         $.get("https://ipinfo.io", function () {}, "jsonp").always(
  667.             function (resp) {
  668.                 var countryCode =
  669.                     resp && resp.country ? resp.country : "vn";
  670.                 success(countryCode);
  671.             }
  672.         );
  673.     },
  674.   });
  675.   $(".phone-input").on("keypress", function (e) {
  676.       var input_key_code = e.which ? e.which : e.keyCode;
  677.       if (!(input_key_code >= 48 && input_key_code <= 57)) {
  678.           return false;
  679.       }
  680.   });
  681.     $('[name="campus1"]').change(function () {
  682.         var campus = $(this).val();
  683.         $('#programsByCampus').html('');
  684.         if(campus != '') {
  685.             $('#programsByCampus').removeClass('active');
  686.             $.ajax({
  687.                 url: '{{ path('programs_by_campus') }}?campus='+campus,
  688.                 type: 'GET',
  689.                 success: function(data) {
  690.                     console.log(data);
  691.                     if(data.data.html) {
  692.                         $('.preferred-program').show();
  693.                         $('#programsByCampus').append(data.data.html);
  694.                         $('#programsByCampus').prop('disabled', false);
  695.                     } else {
  696.                         console.error('No programs found for this campus');
  697.                     }
  698.                 },
  699.                 error: function() {
  700.                     console.error('Error fetching programs');
  701.                 }
  702.             });
  703.         } else {
  704.             $('.preferred-program').hide();
  705.             $('.selectbox').removeClass('focused');
  706.             $('[name="campus1"]').removeClass('active');
  707.         }
  708.     });
  709.     $('#form-landing-page-agent').on('submit', function (e) {
  710.         e.preventDefault();
  711.         
  712.         let $button = $(this).find('#btn-submit');
  713.         loadButton($button);
  714.         {% if captcha_enabled %}
  715.             if (grecaptcha.getResponse().length == 0) {
  716.                 showMessage('Please complete the captcha.');
  717.                 return false;
  718.             }
  719.         {% endif %}
  720.         
  721.         let formData = new FormData(this);
  722.         var phoneCode = $('.iti__selected-dial-code').text();
  723.         if( phoneCode){
  724.             formData.set('user[phone]', phoneCode + ' ' + $('#telephone').val());
  725.         }
  726.         $.ajax({
  727.             url: "{{ path('landingpage_agent.save') }}",
  728.             type: "POST",
  729.             dataType: 'json',
  730.             data : formData,
  731.             contentType: false,
  732.             processData: false,
  733.             success: function(result) {
  734.             if(result.status == 'success'){
  735.                 resetForm();
  736.                 $('#thankYouModal').modal();
  737.                 removeLoadButton($button);
  738.             }else{
  739.                 if(result.errors.errorMessage){
  740.                     showMessage('The email you entered is already registered.');
  741.                 }else{
  742.                     showMessage(result.error);
  743.                 }
  744.             }
  745.             grecaptcha.reset();
  746.             },
  747.             error: function (response) {
  748.                 if(response.responseJSON.data.email){
  749.                     showMessage('The email you entered is already registered.');
  750.                 }else{
  751.                     showMessage(response.error);
  752.                 }
  753.             }
  754.         }).always(function () {
  755.             removeLoadButton($button)
  756.         });
  757.     });
  758. })
  759. function resetForm(){
  760.   $('#form-landing-page-agent').each(function(){
  761.     this.reset();
  762.   });
  763. }
  764. let qrcode = new QRCode(document.getElementById("qrcode"), {
  765.     width : 100,
  766.     height : 100
  767. });
  768. function makeCode () {        
  769.     let url = "{{ url('admission',{'slug':landing.slug}) }}";
  770.     if (url) {
  771.         qrcode.makeCode(url);
  772.     }
  773. }
  774. makeCode();
  775. </script>
  776. {% endblock %}