templates/security/create_account.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}{{ 'auth.inscription_title'|trans }} - {{ 'app.name'|trans }}{% endblock %}
  3. {% form_theme form 'bootstrap_4_layout.html.twig' %}
  4. {% block bodyClass %}auth-page create-page{% endblock %}
  5. {# {% form_theme form 'bootstrap_4_layout.html.twig' %} #}
  6. {% block body %}
  7. <div class="auth-wrap">
  8.     <div class="auth-header">
  9.         <!-- Logo -->
  10.         <img class="auth-logo" src="{{ asset('images/labo.svg') }}" alt="{{ 'app.name'|trans }}">
  11.         <!-- Lang -->
  12.         {#<div class="dropdown lang-dropdown">
  13.             <button class="btn btn-lang dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown"
  14.                 aria-haspopup="true" aria-expanded="false">
  15.                 {% if app.request.locale == 'fr' %}
  16.                 {{ 'header.fr'|trans }}
  17.                 {% else %}
  18.                 {{ 'header.en'|trans }}
  19.                 {% endif %}
  20.             </button>
  21.             <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
  22.                 {% if app.request.locale == 'fr' %}
  23.                 <a class="dropdown-item" href="{{ path('setlocale', {'language': 'en'}) }}">{{ 'header.en'|trans }}</a>
  24.                 {% else %}
  25.                 <a href="{{ path('setlocale', {'language': 'fr'}) }}">{{ 'header.fr'|trans }}</a>
  26.                 {% endif %}
  27.             </div>
  28.         </div>#}
  29.     </div>
  30.     <!-- Flash messages-->
  31.     {% include 'common/all_flash.html.twig' %}
  32.     <div class="auth-content">
  33.         <div class="form-col">
  34.             <div class="auth-block">
  35.                 <h1 class="auth-title">{{ 'auth.inscription_title'|trans }}</h1>
  36.                 <div class="auth-text">{{ 'auth.or'|trans }} <a href="{{ path('app_login') }}">{{
  37.                         'auth.connect_account'|trans }}</a></div>
  38.                 {# <form method="post" class="auth-form" autocomplete="off"> #}
  39.                     {{ form_start(form, {
  40.                         'attr': {
  41.                             'id': 'form_create_account',
  42.                             'class': 'form-create-account validate',
  43.                             'method': 'POST'
  44.                         }
  45.                     }) }}
  46.                     {{ form_errors(form) }}
  47.                     {#{% if error %}
  48.                     <div class="alert alert-danger">{{ error.messageKey|trans(error.messageData, 'security') }}</div>
  49.                     {% endif %}#}
  50.                     <div class="form-group  {#{% if error %}has-error{% endif %}#}">
  51.                         {# <input type="text" id="first_name" class="form-control" name="_first_name" value=""
  52.                             placeholder="{{ 'form.label.first_name'|trans }}" required="required"
  53.                             autocomplete="first_name" />
  54.                         <label class="required" for="first_name">{{ 'form.label.first_name'|trans }}</label> #}
  55.                         {{ form_row(form.firstName) }}
  56.                         <div class="help-text">
  57.                             {{ 'form.alert.first_name'|trans }}
  58.                         </div>
  59.                     </div>
  60.                     <div class="form-group  {#{% if error %}has-error{% endif %}#}">
  61.                         {# <input type="text" id="last_name" class="form-control" name="_last_name" value=""
  62.                             placeholder="{{ 'form.label.last_name'|trans }}" required="required"
  63.                             autocomplete="last_name" />
  64.                         <label class="required" for="last_name">{{ 'form.label.last_name'|trans }}</label> #}
  65.                         {{ form_row(form.lastName) }}
  66.                         <div class="help-text">
  67.                             {{ 'form.alert.last_name'|trans }}
  68.                         </div>
  69.                     </div>
  70.                     <div class="form-group">
  71.                         {{ form_row(form.statut) }}
  72.                     </div>
  73.                     <div class="form-group  {#{% if error %}has-error{% endif %}#}">
  74.                         {# <input type="text" id="university" class="form-control" name="_university" value=""
  75.                             placeholder="{{ 'form.label.organization'|trans }}" />
  76.                         <label for="university">{{ 'form.label.organization'|trans }}</label> #}
  77.                         {{ form_row(form.organization) }}
  78.                     </div>
  79.                     <div class="form-group  {#{% if error %}has-error{% endif %}#}">
  80.                         {# <input type="text" id="username" class="form-control" name="_username" value=""
  81.                             placeholder="{{ 'form.label.email'|trans }}" required="required" autocomplete="off" />
  82.                         <label class="required" for="username">{{ 'form.label.email'|trans }}</label> #}
  83.                         {{ form_row(form.email) }}
  84.                         <div class="help-text">
  85.                             {{ 'form.alert.email'|trans }}
  86.                         </div>
  87.                     </div>
  88.                     <div class="form-group form-password-group {#{% if error %}has-error{% endif %}#}">
  89.                         <div class="form-password-box">
  90.                             {# <input type="password" id="password" class="form-control check-password-valid"
  91.                                 name="_password" required="required" placeholder="{{ 'form.label.password'|trans }}"
  92.                                 autocomplete="off" />
  93.                             <label class="required" for="password">{{ 'form.label.password'|trans }}</label> #}
  94.                             {{ form_row(form.password.first, {'attr' : {'class' : 'check-password-valid'}}) }}
  95.                             <a href="javascript:void(0)" class="password-text-link password-show-link2"><i
  96.                                     class="icon-eye"></i></a>
  97.                             <a href="javascript:void(0)" class="password-text-link password-hide-link2"><i
  98.                                     class="icon-eye-slash"></i></a>
  99.                         </div>
  100.                         <div class="help-text">
  101.                             {{ 'form.alert.password'|trans }}
  102.                         </div>
  103.                         <div class="password-strength d-none">
  104.                             <span data-regex="3">{{ 'form.password.checkPassword3'|trans }}</span>
  105.                             <span data-regex="2">{{ 'form.password.checkPassword2'|trans }}</span>
  106.                             <span data-regex="1">{{ 'form.password.checkPassword1'|trans }}</span>
  107.                             <span data-regex="0">{{ 'form.password.checkPassword0'|trans }}</span>
  108.                         </div>
  109.                     </div>
  110.                     <div class="form-group form-password-group {#{% if error %}has-error{% endif %}#}">
  111.                         <div class="form-password-box">
  112.                             {# <input type="password" id="confirmation_password" class="form-control"
  113.                                 name="_confirmation_password" required="required"
  114.                                 placeholder="{{ 'form.label.confirmation_password'|trans }}" autocomplete="off" />
  115.                             <label class="required" for="confirmation_password">{{
  116.                                 'form.label.confirmation_password'|trans }}</label> #}
  117.                             {{ form_row(form.password.second, {'attr' : {'class' : 'check-password-valid'}}) }}
  118.                             <a href="javascript:void(0)" class="password-text-link password-show-link2"><i
  119.                                     class="icon-eye"></i></a>
  120.                             <a href="javascript:void(0)" class="password-text-link password-hide-link2"><i
  121.                                     class="icon-eye-slash"></i></a>
  122.                         </div>
  123.                         <div class="help-text">
  124.                             {{ 'form.alert.password'|trans }}
  125.                         </div>
  126.                     </div>
  127.                     <div class="form-group">
  128.                         <div class="form-checkbox">
  129.                             <input type="checkbox" name="cgu" value="1" id="cgu" required="required">
  130.                             <label for="cgu">
  131.                                 <span class="icon"></span>
  132.                                 {% set url_cgu = path('page', {'code': constant('App\\Entity\\Page::CODE')['TERMS_OF_SERVICE']}) %}
  133.                                 {{ 'form.label.read_accept'|trans }} <a href="{{ url_cgu }}">{{ 'form.action.cgu'|trans }}</a>
  134.                             </label>
  135.                         </div>
  136.                     </div>
  137.                     {{ form_row(form.submit) }}
  138.                     {# <button class="btn btn-primary btn-lg" type="submit">
  139.                         {{ 'form.action.register'|trans }}
  140.                     </button> #}
  141.                     <div class="mandatory-text">{{ 'form.label.mandatory'|trans }}</div>
  142.                     {#
  143.                 </form> #}
  144.                 {{ form_end(form) }}
  145.             </div>
  146.         </div>
  147.         <!-- Text -->
  148.         <div class="text-col">
  149.             <div class="auth-text-block">
  150.                 <div id="typed-strings">
  151.                     <p>{{ 'auth.title.first_word'|trans }} </p>
  152.                     <p>{{ 'auth.title.second_word'|trans }} </p>
  153.                     <p>{{ 'auth.title.third_word'|trans }} </p>
  154.                 </div>
  155.                 <div id="typed-strings2">
  156.                     <p>{{ 'auth.title.fourth_word'|trans }} </p>
  157.                     <p>{{ 'auth.title.fith_word'|trans }} </p>
  158.                 </div>
  159.                 <h2 class="auth-text-title">
  160.                     <p class="typed-text" id="typed"></p>{{ 'auth.title.last_sentence'|trans }} <p class="typed-text typed-alt-text" id="typed2"></p>
  161.                 </h2>
  162.                 <div class="auth-text-text">
  163.                     {{ 'auth.text'|trans }}
  164.                 </div>
  165.                 {#<div class="auth-text-action">
  166.                     <a class="btn btn-primary-outline btn-lg" href="#" target="_blank">{{ 'auth.btn'|trans }}</a>
  167.                 </div>#}
  168.             </div>
  169.         </div>
  170.     </div>
  171. </div>
  172.     <style>
  173.         .password-hide-link2 { display: none;}
  174.     </style>
  175.     <script>
  176.         // code doublon avec app/integration/js/front.js line 208 because yarn install bug
  177.         // fait en full JS et non jquery car jquery pas dispo ici
  178.         document.addEventListener('DOMContentLoaded', function () {
  179.             // SHOW PASSWORD
  180.             document.addEventListener('click', function (e) {
  181.                 if (e.target.closest('.password-show-link2')) {
  182.                     const link = e.target.closest('.password-show-link2');
  183.                     const box = link.closest('.form-password-box');
  184.                     const input = box.querySelector('input.form-control');
  185.                     box.querySelector('.password-show-link2').style.display = 'none';
  186.                     box.querySelector('.password-hide-link2').style.display = 'inline';
  187.                     input.type = 'text';
  188.                 }
  189.             });
  190.             // HIDE PASSWORD
  191.             document.addEventListener('click', function (e) {
  192.                 if (e.target.closest('.password-hide-link2')) {
  193.                     const link = e.target.closest('.password-hide-link2');
  194.                     const box = link.closest('.form-password-box');
  195.                     const input = box.querySelector('input.form-control');
  196.                     box.querySelector('.password-hide-link2').style.display = 'none';
  197.                     box.querySelector('.password-show-link2').style.display = 'inline';
  198.                     input.type = 'password';
  199.                 }
  200.             });
  201.         });
  202. </script>
  203. {% endblock %}