{% extends 'account/base_account.html.twig' %} {% block title %}Changer mon mot de passe{% endblock %} {% block stylesheets %} {{ parent() }} {% endblock %} {% block content %} {# ── Flash messages Symfony (PasswordExpiryListener + autres) ── #} {% for msg in app.flashes('warning') %}
⚠️ {{ msg|raw }}
{% endfor %} {% for msg in app.flashes('info') %}
ℹ️ {{ msg|raw }}
{% endfor %} {% for msg in app.flashes('success') %}
{{ msg|raw }}
{% endfor %} {% for msg in app.flashes('error') %}
{{ msg|raw }}
{% endfor %} {# ── Bannière expiration — affichée si passwordChangedAt renseigné ── #} {% if app.user.passwordChangedAt is not null %} {% set months_ago = date(app.user.passwordChangedAt|date('Y-m-d'))|date_modify('+12 months') %} {% set days_left = ((months_ago|date('U') - date('now')|date('U')) / 86400)|abs|round %} {% if app.user.isPasswordExpired %}
🔒
Mot de passe expiré
Votre mot de passe a plus de 12 mois. Renouvelez-le maintenant pour rester conforme à la politique de sécurité SANAGENCY.
{% endif %} {% endif %}
{{ form_start(form, {'attr': {'novalidate': 'novalidate'}}) }}
{{ form_label(form.currentPassword) }} {{ form_widget(form.currentPassword) }} {{ form_errors(form.currentPassword) }}

{{ form_label(form.newPassword.first) }} {{ form_widget(form.newPassword.first, {'attr': {'id': 'change-password-input'}}) }} {{ form_errors(form.newPassword.first) }} {# ── Indicateur de force — Politique MDP V1.0 §2 ── #}
{{ form_label(form.newPassword.second) }} {{ form_widget(form.newPassword.second) }} {{ form_errors(form.newPassword.second) }}
Annuler
{{ form_end(form) }}
💡 Règles de sécurité (Politique interne V1.0)
{% endblock %}