themes/brunex/security/registration/request.html.twig line 1

Open in your IDE?
  1. {% extends 'layout/login.html.twig' %}
  2. {% form_theme requestForm '@EasyAdmin/symfony-form-themes/bootstrap_5_layout.html.twig' %}
  3. {% block page_title %}
  4. {{ btrans('login.registration.index.pageTitle', 'Ihre Registrierung bei {title}', {title: site.title}) }}
  5. {% endblock %}
  6. {# Kompilierte Assets fuer den Bot-Schutz (ALTCHA-Widget + Styling) nur auf dieser Seite laden #}
  7. {% block head_stylesheets %}
  8. {{ parent() }}
  9. {{ encore_entry_link_tags('registration', null, 'theme_brunex') }}
  10. {% endblock %}
  11. {% block head_javascript %}
  12. {{ parent() }}
  13. {{ encore_entry_script_tags('registration', null, 'theme_brunex') }}
  14. {% endblock %}
  15. {% block login_form %}
  16. {% for flashError in app.flashes('reset_password_error') %}
  17. <div class="alert alert-danger" role="alert">{{ flashError }}</div>
  18. {% endfor %}
  19. {% for flashError in app.flashes('registration_error') %}
  20. <div class="alert alert-danger" role="alert">{{ flashError }}</div>
  21. {% endfor %}
  22. {% if error|default(false) %}
  23. <div class="w-100 alert alert-danger rounded mb-3">
  24. <i class="fas fa-times-circle mr-1"></i>
  25. {{ error.messageKey|trans(error.messageData, 'security') }}
  26. </div>
  27. {% endif %}
  28. {{ form_start(requestForm) }}
  29. {{ form_row(requestForm.email) }}
  30. {# Honeypot: muss leer bleiben - nur Bots fuellen dieses versteckte Feld aus. #}
  31. <div aria-hidden="true" style="position:absolute;left:-9999px;top:-9999px;width:0;height:0;overflow:hidden;" tabindex="-1">
  32. <label for="homepage">Homepage</label>
  33. <input type="text" id="homepage" name="homepage" value="" tabindex="-1" autocomplete="off">
  34. </div>
  35. {% if altcha.isEnabled() %}
  36. {# ALTCHA - selbst gehosteter Proof-of-Work-Captcha. Custom Element,
  37. Styling und Uebersetzungen kommen aus dem kompilierten registration-
  38. Bundle; die Sprache wird per language-Attribut an die Seiten-Locale
  39. gekoppelt. Das Widget legt automatisch das Feld "altcha" an. #}
  40. <altcha-widget
  41. class="registration-altcha"
  42. challenge="{{ path('altcha_challenge') }}"
  43. language="{{ app.request.locale == 'fr' ? 'fr-fr' : 'de' }}"
  44. theme="light"
  45. ></altcha-widget>
  46. {% endif %}
  47. <button type="submit" class="btn btn-primary btn-lg btn-block" onclick="this.form.submit(); this.disabled=true;">
  48. {{ btrans('login.registration.index.submit', 'Absenden') }}
  49. </button>
  50. {{ form_end(requestForm) }}
  51. <script type="text/javascript">
  52. const loginForm = document.querySelector('form');
  53. loginForm.addEventListener('submit', () => {
  54. loginForm.querySelector('button[type="submit"]').setAttribute('disabled', 'disabled');
  55. }, false);
  56. </script>
  57. {% endblock %}
  58. {% block login_box %}
  59. <h5>{{ btrans('login.registration.index.box.title', 'Ihre Registrierung') }}</h5>
  60. <p>{{ btrans('login.registration.index.box.content', 'Bitte geben Sie Ihre E-Mail-Adresse ein!
  61. Sie erhalten von uns einen Link, über den Sie sich registrieren können.') | nl2br }}</p>
  62. {% endblock %}
  63. {% block login_footer %}
  64. <div class="mb-1">
  65. <a href="{{ path('app_login') }}">{{ btrans('login.link.backToLogin', 'Zurück zum Login') }}</a>
  66. </div>
  67. {% endblock %}