bundles/AccountBundle/Resources/views/account/login.html.twig line 1

Open in your IDE?
  1. {% extends base_layout() %}
  2. {% if not editmode and recaptcha is defined %}
  3.     {% if recaptcha == 2 %}
  4.         {% do pimcore_head_script().appendFile('https://www.google.com/recaptcha/api.js') %}
  5.     {% elseif recaptcha == 3 %}
  6.         {% do pimcore_head_script().appendFile('https://www.google.com/recaptcha/api.js?render=' ~ recaptchaPublic) %}
  7.     {% endif %}
  8. {% endif %}
  9. {% set head_title = "Login Page"|trans %}
  10. {% block content %}
  11.     <div class="container mb-5 pb-5">
  12.         <div class="row justify-content-center">
  13.             {% if signupsuccess %}
  14.                 <div class="col-lg-6">
  15.                     <div class="alert alert-info">
  16.                         <h3>{{ 'Your registration was successful'|trans }}</h3><br>
  17.                         <p>{{ 'Your request has been send for approval.'|trans }}</p>
  18.                     </div>
  19.                 </div>
  20.             {% endif %}
  21.             <div class="col-lg-6">
  22.                 <div class="login-panel panel panel-default">
  23.                     <div class="panel-body area-col">
  24.                         <div class="area-col-inner position-relative area-shape area-shape-default bg-secondary p-5">
  25.                             <div class="panel-heading">
  26.                                 <h1 class="text-center text-white mb-5"><span class="heading-line white">{{ 'LoginPortal - Login'|trans }}</span></h1>
  27.                             </div>
  28.                             {{ 'LoginPortal - Introtext'|trans|raw }}
  29.                             {#  <span id="password-success" style="color: #000">{{ 'You can access now with your email and new password'|trans }}</span>#}
  30.                             {# read and display several types of flash messages #}
  31.                             {% for label, messages in app.flashes(['success', 'warning']) %}
  32.                                 {% for message in messages %}
  33.                                     <div id="messages" class="flash-{{ label }}">
  34.                                         {{ message }}
  35.                                     </div>
  36.                                 {% endfor %}
  37.                             {% endfor %}
  38.                             <br>
  39.                             <div class="mt-3">
  40.                                 {{ form_start(form) }}
  41.                                 <div class="row">
  42.                                     <div class="col-12 mb-3">
  43.                                         {# {{ form_row(form.firstname) }}#}
  44.                                         {{ form_label(form.email, null, {'label_attr': {'class': 'form-label'}}) }}
  45.                                         {{ form_widget(form.email, {'attr': {'class': 'form-control', 'placeholder': form.email.vars.label}}) }}
  46.                                         <div id="emailHelp" class="form-text">{{ form_help(form.email) }}</div>
  47.                                         <div class="form-error">
  48.                                             {{ form_errors(form.email) }}
  49.                                         </div>
  50.                                     </div>
  51.                                     <div class="col-12 mb-3">
  52.                                         {# {{ form_row(form.lastname) }}#}
  53.                                         {{ form_label(form.password, null, {'label_attr': {'class': 'form-label'}}) }}
  54.                                         {{ form_widget(form.password, {'attr': {'class': 'form-control', 'placeholder': form.password.vars.label }}) }}
  55.                                         <div id="lastnameHelp" class="form-text">{{ form_help(form.password) }}</div>
  56.                                         <div class="form-error">
  57.                                             {{ form_errors(form.password) }}
  58.                                         </div>
  59.                                     </div>
  60.                                 </div>
  61.                                 {# {{ form_row(form.conditions) }}
  62.                                 <div class="col-12 form-check text-start mb-3">
  63.                                     {{ form_widget(form.conditions, {'attr': {'class': 'form-check-input'}}) }}
  64.                                     #}{#{{ form_label(form.conditions, null, {'label_attr': {'class': 'form-check-label'}}) }}#}{#
  65.                                     <label class="form-check-label required" for="login_form_conditions">{{ 'Ik ga akkoord met'|trans }}</label>
  66.                                     <a href="{% if check_websitesetting('privacy_document', 'document') %}{{ inotherlang('LocalizedDocument', pimcore_website_config('privacy_document')) }}{% endif %}"
  67.                                        target="_blank" class="fw-bold text-black">
  68.                                         {{ 'privacy'|trans }}
  69.                                     </a>
  70.                                     <div id="conditionsHelp" class="form-text">{{ form_help(form.conditions) }}</div>
  71.                                     <div class="form-error">
  72.                                         {{ form_errors(form.conditions) }}
  73.                                     </div>
  74.                                 </div>#}
  75.                                 {% if not editmode and recaptcha is defined %}
  76.                                     {% if recaptcha == 2 %}
  77.                                         <div class="form-group">
  78.                                             <div class="g-recaptcha" data-sitekey="{{ recaptchaPublic }}"></div>
  79.                                         </div>
  80.                                     {% elseif recaptcha == 3 %}
  81.                                         <input type="hidden" name="gtoken" id="gtoken">
  82.                                     {% endif %}
  83.                                 {% endif %}
  84.                                 <div class="text-center mb-3">
  85.                                     {{ form_row(form.submit, {'attr': {'class': 'btn btn-black w-100','value': form.submit.vars.label}}) }}
  86.                                 </div>
  87.                                 <div class="text-center mb-3">
  88.                                     <a href="{{ path("signup-page") }}" class="btn btn-outline-white signup me-3">
  89.                                         <i class="far fa-user-circle fa-1x"></i> {{ 'Create account?'|trans }}
  90.                                     </a>
  91.                                     <a href="{{ path("lostpassword-page") }}"
  92.                                        class="text-white">{{ 'Forgot password?'|trans }}</a>
  93.                                 </div>
  94.                                 {{ form_end(form) }}
  95.                             </div>
  96.                             <svg height="100%" width="100%" xmlns="http://www.w3.org/2000/svg">
  97.                                 <clipPath clipPathUnits="objectBoundingBox" id="shapeyellow">
  98.                                     <path d="M0.536,0.991 s-0.414,0.038,-0.47,-0.038 C0.013,0.879,-0.009,0.825,0.004,0.696 s0.013,-0.268,0.013,-0.376 C0.018,0.133,0.026,0.017,0.269,0.006 C0.512,-0.005,0.731,-0.001,0.854,0.023 c0.121,0.023,0.14,0.05,0.143,0.241 c0.003,0.192,0.017,0.613,-0.062,0.688 c-0.054,0.051,-0.125,0.042,-0.399,0.038"></path>
  99.                                 </clipPath>
  100.                             </svg>
  101.                         </div>
  102.                     </div>
  103.                 </div>
  104.             </div>
  105.         </div>
  106.     </div>
  107.     {% if not editmode and recaptcha == 3 and (app.flashes(['success']).success is empty or app.flashes(['warning']).warning is empty) %}
  108.         <script>
  109.             function getReCaptcha() {
  110.                 grecaptcha.ready(function () {
  111.                     grecaptcha.execute('{{ recaptchaPublic }}', {action: 'account_login'}).then(function (token) {
  112.                         var recaptchaResponse = document.getElementById('gtoken');
  113.                         recaptchaResponse.value = token;
  114.                     });
  115.                 });
  116.             }
  117.             getReCaptcha();  // This is the initial call
  118.             setInterval(function () {
  119.                 getReCaptcha();
  120.             }, 60000);
  121.         </script>
  122.     {% endif %}
  123. {% endblock %}