templates/user/register.html.twig line 16

Open in your IDE?
  1. {% extends "base_security.html.twig" %}
  2. {% block fos_user_title %}
  3.   <h4 class="auth-header">{{ 'title.new_user_account' | trans }}</h4>
  4. {% endblock fos_user_title %}
  5. {% block fos_user_content %}
  6.     {%  if app.session.flashBag.has('danger') == true %}
  7.         <div class="alert alert-danger" role="alert" stype="font-size: 10px">
  8.             {% for message in app.session.flashbag.get('danger') %}
  9.                 <p class="text-center w-100 mb-0">{{ message }}</p>
  10.             {% endfor %}
  11.         </div>
  12.     {% endif %}
  13.     <div class="help-block form-text with-errors text-danger form-control-feedback">{{ form_errors(form) | raw }}</div>
  14.     <form id="form-register" action="{{ path('register_create_account') }}" method="post">
  15.       {{ form_widget(form._token) }}
  16.       <div class="form-group">
  17.         <label for="">{{ "menu.user_type" | trans }}</label>
  18.         {{ form_widget(form.typePerson) }}
  19.       </div>
  20.       <div id="diaspora" class="form-group">
  21.         <div class="col-sm-12 form-check diaspora d-flex justify-content-end">
  22.           <label for="">diaspora: </label>
  23.           {{ form_widget(form.diaspora) }}
  24.           <div class="slider round">
  25.             <span class="non">{{ 'menu.no' | trans }}</span>
  26.             <span class="oui">{{ 'menu.yes' | trans }}</span>
  27.           </div>
  28.           <div class="help-block form-text with-errors form-control-feedback">{{ form_errors(form.diaspora) }}</div>
  29.         </div>
  30.       </div>
  31.       <div class="form-group">
  32.         {% if struct_province_country_city == "true" %}
  33.           <label for="">   {{ 'menu.region' | trans }} </label>
  34.           {{ create_translated_select(form.region) }}
  35. {#          {{ form_widget(form.region) }}#}
  36.           <div class="pre-icon os-icon os-icon-user-male-circle"></div>
  37.           <div class="help-block form-text with-errors text-danger form-control-feedback">{{ form_errors(form.region) }}</div>
  38.         {% else %}
  39.           <label for="">   {{ 'menu.country' | trans }} </label>
  40.           {{ create_translated_select(form.country) }}
  41. {#          {{ form_widget(form.country) }}#}
  42.           <div class="pre-icon os-icon os-icon-user-male-circle"></div>
  43.           <div class="help-block form-text with-errors text-danger form-control-feedback">{{ form_errors(form.country) }}</div>
  44.         {% endif %}
  45.       </div>
  46.       <div id="residenceCountry" class="form-group" style="display: none">
  47.         <label for="">   {{ 'menu.residence_country' | trans }} </label>
  48.         {% if struct_province_country_city == "true" %}
  49.           {{ create_translated_select(form.residenceRegion) }}
  50. {#          {{ form_widget(form.residenceRegion) }}#}
  51.           <div class="pre-icon os-icon os-icon-user-male-circle"></div>
  52.           <div class="help-block form-text with-errors text-danger form-control-feedback">{{ form_errors(form.region) }}</div>
  53.         {% else %}
  54.           {{ create_translated_select(form.residenceCountry) }}
  55. {#          {{ form_widget(form.residenceCountry) }}#}
  56.           <div class="pre-icon os-icon os-icon-user-male-circle"></div>
  57.           <div class="help-block form-text with-errors text-danger form-control-feedback">{{ form_errors(form.country) }}</div>
  58.         {% endif %}
  59.       </div>
  60.       <div class="form-group">
  61.         <label for=""> {{ 'menu.phone' | trans }} : {{ 'menu.phone_indicator' | trans }} (<span id="phone_code"></span> ) + N°</label>
  62.         {{ form_widget(form.phone) }}
  63.         <div class="pre-icon os-icon os-icon-user-male-circle"></div>
  64.         <div class="help-block form-text with-errors text-danger form-control-feedback">{{ form_errors(form.phone) }}</div>
  65.       </div>
  66.       <div class="form-group" style="display: none">
  67.         <label for=""> Pseudo (Optionnel)</label>
  68.         {{ form_widget(form.username) }}
  69.         <div class="pre-icon os-icon os-icon-user-male-circle"></div>
  70.       </div>
  71.       <div class="form-group" style="display: none">
  72.         <label for=""> Email address (Optionnel)</label>
  73.         {{ form_widget(form.email) }}
  74.         <div class="pre-icon os-icon os-icon-email-2-at2"></div>
  75.       </div>
  76.       <div class="row">
  77.         <div class="col-sm-6">
  78.           <div class="form-group">
  79.             <label for=""> {{ "menu.password" | trans }}</label>
  80.             {{ form_widget(form.plainPassword.first) }}
  81.             <div class="pre-icon os-icon os-icon-fingerprint"></div>
  82.           </div>
  83.         </div>
  84.         <div class="col-sm-6">
  85.           <div class="form-group">
  86.             <label for="">{{ "menu.confirm" | trans }}</label>
  87.             {{ form_widget(form.plainPassword.second) }}
  88.           </div>
  89.         </div>
  90.       </div>
  91.     {#</form>#}
  92.       <div class="row form-group">
  93.         <div class="col-xs-6 buttons-w">
  94.           <button class="btn btn-primary" id="submitRegister"> {{ 'menu.validate' | trans }} </button>
  95.         </div>
  96.         <div class="col-xs-6 buttons-w">
  97.           <a class="btn btn-primary" href="{{ path('logout') }}">{{ 'menu.cancel' | trans }}</a>
  98.         </div>
  99.       </div>
  100.       <div class="row form-group footer_register">
  101.         <span>{{ "footer.dev_by" | trans }}</span>
  102.         <p><a target="_blank" href="https://ifef.francophonie.org/"><img style="width: 80px; height: auto" id="logo_ifef" src="{{ asset('build/images/pinsuprem/logo_ifef.jpg') }}"></a></p>
  103.         <p><a target="_blank" href="https://www.francophonie.org/"><img style="width: 80px; height: auto"  id="logo_oif" src="{{ asset('build/images/pinsuprem/logo_oif.jpg') }}"></a></p>
  104.       </div>
  105.     </form>
  106.     <select hidden id="indTel">
  107.       {% for country in allCountries %}
  108.         <option value="{{ country.id }}">{{ country.phoneCode }}</option>
  109.       {% endfor %}
  110.     </select>
  111. {% endblock fos_user_content %}
  112. {% block fos_user_script %}
  113. <script>
  114.    $( document ).ready(function() {
  115.       $('#diaspora').hide();
  116.       if ($('#userbundle_user_typePerson option:selected').val() == 'ROLE_DIPLOME' ) {
  117.          $('#diaspora').show();
  118.          showResidenceCountry ();
  119.       }
  120.    })
  121.    // $(idSelect).removeAttr('required');
  122.    $('userbundle_user_residenceCountry').prop("required", false);
  123.    $('userbundle_user_residenceRegion').prop("required", false);
  124.    // console.log("test", $('userbundle_user_residenceCountry').attr("required"))
  125.    $('#userbundle_user_typePerson').on('change', function (e) {
  126.       if ($('#userbundle_user_typePerson option:selected').val() != 'ROLE_DIPLOME' ) {
  127.          $('#userbundle_user_diaspora').prop('checked',false);
  128.          $('#diaspora').hide();
  129.          showResidenceCountry ();
  130.       } else {
  131.          $('#diaspora').show();
  132.       }
  133.    })
  134.    $('#userbundle_user_diaspora').on('change', function (e) {
  135.       showResidenceCountry ();
  136.       let selectedCountry = null;
  137.       if($('#userbundle_user_diaspora').is(':checked')) {
  138.          selectedCountry = $('#userbundle_user_residenceCountry option:selected').val();
  139.       } else {
  140.          selectedCountry = $('#userbundle_user_country option:selected').val();
  141.       }
  142.       getIndTel(selectedCountry);
  143.    })
  144.    function showResidenceCountry () {
  145.       if ($('#userbundle_user_diaspora').is(':checked')) {
  146.          $('#residenceCountry').show();
  147.       } else {
  148.          $('#residenceCountry').hide();
  149.       }
  150.    }
  151.    // $(document).ready(function () {
  152.    // const allCountryOptions = $('#userbundle_user_country').html();
  153.    $('#userbundle_user_country').on('change', function (e) {
  154.       let selectedCountry = null;
  155.       if($('#userbundle_user_diaspora').is(':checked')) {
  156.          selectedCountry = $('#userbundle_user_residenceCountry option:selected').val();
  157.          // Supprimer le pays selectionné dans la liste des pays de residence
  158.          // $("#userbundle_user_residenceCountry").html(allCountryOptions);
  159.          $("#userbundle_user_residenceCountry").find("option").each(function() {
  160.             const optionValue = $(this).val();
  161.             if (optionValue === e.target.value) {
  162.                $(this).remove();
  163.             }
  164.          });
  165.       } else {
  166.          selectedCountry = $('#userbundle_user_country option:selected').val();
  167.       }
  168.       getIndTel(selectedCountry);
  169.    })
  170.    $('#userbundle_user_residenceCountry').on('change', function (e) {
  171.       let selectedCountry = $('#userbundle_user_residenceCountry option:selected').val();
  172.       getIndTel(selectedCountry);
  173.    })
  174.    // adaptation for DBTA
  175.    $('#userbundle_user_region').on('change', function (e) {
  176.       let selectedCountry = null;
  177.       if($('#userbundle_user_diaspora').is(':checked')) {
  178.          selectedCountry = $('#userbundle_user_residenceRegion option:selected').val();
  179.           // Supprimer le pays selectionné dans la liste des pays de residence
  180.           $("#userbundle_user_residenceRegion").find("option").each(function() {
  181.               const optionValue = $(this).val();
  182.               if (optionValue === e.target.value) {
  183.                   $(this).remove();
  184.               }
  185.           });
  186.       } else {
  187.          selectedCountry = $('#userbundle_user_region option:selected').val();
  188.       }
  189.       getIndTel(selectedCountry);
  190.    })
  191.    $('#userbundle_user_residenceRegion').on('change', function (e) {
  192.       let selectedCountry = $('#userbundle_user_residenceRegion option:selected').val();
  193.       getIndTel(selectedCountry);
  194.    })
  195.    //Fin adaptation DBTA
  196.    function getIndTel(selectedCountry) {
  197.       if (selectedCountry) {
  198.           let phoneCode = '+' + $('#indTel option[value=' +selectedCountry+ ']').text();
  199.           $('#phone_code').html('+' + $('#indTel option[value=' +selectedCountry+ ']').text());
  200.           $('#userbundle_user_phone').attr('placeholder', phoneCode  + '  + Numéro de Téléphone' );
  201.           $('#userbundle_user_phone').val(phoneCode);
  202.       }
  203.    }
  204.    // $('#submitRegister').on('click', function (e) {
  205.    //    e.preventDefault();
  206.    //
  207.    //    // setTimeout(function() {
  208.    //    $('form').submit()
  209.    //    // , 5000});
  210.    //
  211.    // })
  212.    // })
  213. </script>
  214. {% endblock fos_user_script %}