Files
survey-bundle/contao/templates/frontend/mod_message.html.twig
T
admin.juergenandClaude Fable 5 024c97fce5 Clearer lost-password errors and a request-new-link action
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>
2026-08-26 14:36:46 +02:00

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 %}