{{ 'ezplatform.reset_user_password.change_password'|trans|desc('Set new password') }}
{% if form_reset_user_password is defined %}
+ {% set new_password_form = form_reset_user_password.new_password %}
+ {% set requirements = content_type is defined ? ibexa_password_requirements(content_type) : [] %}
+ {% set requirement_identifiers = requirements|map((requirement) => requirement.identifier) %}
+
+ {% set password_errors = [] %}
+ {% for error in new_password_form.vars.errors %}
+ {% set password_errors = password_errors|merge([error]) %}
+ {% endfor %}
+ {% for error in new_password_form.first.vars.errors %}
+ {% set password_errors = password_errors|merge([error]) %}
+ {% endfor %}
+
+ {% set policy_errors = password_errors|filter((error) => error.cause.code|default(null) in requirement_identifiers) %}
+ {% set other_errors = password_errors|filter((error) => error.cause.code|default(null) not in requirement_identifiers) %}
+ {% set failed_requirement_identifiers = policy_errors|map((error) => error.cause.code) %}
+ {% set can_mark_requirements = form_reset_user_password.vars.submitted and other_errors is empty %}
+
+ {% if requirements is not empty %}
+
+
+ {{ 'ezplatform.reset_user_password.requirements_intro'|trans|desc('To keep your account secure, your password must meet the following requirements:') }}
+
+
+ {% for requirement in requirements %}
+ {% set is_met = can_mark_requirements and requirement.identifier not in failed_requirement_identifiers %}
+