Every stale reset link produced a bare 'Ungültiges Token', which sent users into a loop of requesting ever more e-mails. The overridden core messages now explain that only the link from the newest e-mail counts, the auth message template offers a direct 'Neuen Link anfordern' button, and the change-password page asks for the 'Aktuelles Passwort' with a hint covering freshly reset passwords. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
36 lines
1.6 KiB
Twig
36 lines
1.6 KiB
Twig
{% extends '@Contao/block_unsearchable.html.twig' %}
|
|
{% trans_default_domain 'messages' %}
|
|
|
|
{#
|
|
Contao setzt beim Passwort-vergessen-Modul in mehreren Faellen auf mod_message um
|
|
(ungueltiger Token, bereits benutzter Token, zu viele Versuche, Passwort gesetzt).
|
|
Der Wrapper behaelt dabei die Klasse mod_lostPassword. In genau diesen Faellen
|
|
ergaenzen wir den Weg zurueck zur Anmeldung, damit der Nutzer nicht in einer
|
|
Sackgasse landet.
|
|
#}
|
|
{% set surveyIsAuthMessage = 'mod_lostPassword' in (class|default('')) %}
|
|
{% if surveyIsAuthMessage %}
|
|
{% set wrapperAttributes = attrs().addClass('survey-auth-module') %}
|
|
{% endif %}
|
|
|
|
{% block content %}
|
|
|
|
{% if surveyIsAuthMessage %}
|
|
{# Fehler bei einem Reset-Link (?token=pw-...): direkt den Weg zu einem
|
|
neuen Link anbieten - die Seite ohne Token zeigt das Anforderungsformular. #}
|
|
{% set surveyTokenError = type == 'error' and (app.request.query.get('token')|default('')) starts with 'pw-' %}
|
|
<div class="survey-auth-card">
|
|
<p class="{{ type }} message">{{ message }}</p>
|
|
<p class="survey-auth-actions">
|
|
{% if surveyTokenError %}
|
|
<a class="survey-auth-button" href="{{ app.request.baseUrl ~ app.request.pathInfo }}">{{ 'survey.auth.request_new_link'|trans }}</a>
|
|
{% endif %}
|
|
<a class="survey-auth-button" href="{{ app.request.baseUrl }}/">{{ 'survey.auth.back_to_login'|trans }}</a>
|
|
</p>
|
|
</div>
|
|
{% else %}
|
|
<p class="{{ type }} message">{{ message }}</p>
|
|
{% endif %}
|
|
|
|
{% endblock %}
|