{% extends "base.html" %} {% block title %}{{ t('accounts.title') }} — painfree{% endblock %} {% block body %}
{{ t('accounts.lede') }}
{% if auth_mode != 'basic' %}{{ t('accounts.other_mode') }}
{% endif %} {# Under a provider, every password here is a credential sign-in refuses. The page already said a new one could not sign in; these already cannot, and saying which is the difference between a warning and a fact. #} {% if inert %}{{ t('accounts.inert_body') }}
{% for subject in inert %}{{ subject }} {% endfor %}
| {{ t('accounts.account') }} | {{ t('api.role') }} | {{ t('accounts.password_set') }} | {{ t('accounts.status') }} | |
|---|---|---|---|---|
{{ row.display_name or '—' }}
{{ row.subject }} |
{{ row.role.value }} | {{ row.password_changed_at | moment }} | {% if row.disabled %}{{ t('accounts.suspended') }} {% else %}{{ t('accounts.active') }}{% endif %} |
{{ t('accounts.manage') }}
{# The two that stop somebody signing in, separated from the two that
do not, with the reversible one named as reversible. #}
{{ t('accounts.stops_sign_in') }}
|
{{ t('accounts.none') }}
{% endif %}{{ t('accounts.provider_owns_these_body') }}
{{ t('accounts.lockouts_why') }}
{% if lockouts %}| {{ t('accounts.lockout_scope') }} | {{ t('accounts.lockout_value') }} | {{ t('accounts.failures') }} | {{ t('accounts.locked_until') }} | |
|---|---|---|---|---|
| {% if row.scope == 'subject' %}{{ t('accounts.scope_subject') }} {% else %}{{ t('accounts.scope_source') }}{% endif %} | {{ row.value }} |
{{ row.failures }} | {% if row.locked() %}{{ row.locked_until | moment }}{% else %}—{% endif %} |
{{ t('accounts.no_lockouts') }}
{% endif %}