{% extends 'base.html' %} {% block body %} {% if not user.mfa_enabled and user.compute_groups() != user.compute_groups(ignore_mfa=True) %} {% endif %}
{{_("Profile")}}

{{_("Your profile information is used by all services that are integrated into the Single-Sign-On.")}}

{{_("Changes may take several minutes to be visible in all services.")}}


{{_("E-Mail Addresses")}}

{{_("Add and delete addresses associated with your account. You will need to verify new addresses by opening a link set to them.")}}

{% for email in user.all_emails|sort(attribute='id') %} {% endfor %}
{{ email.address }} {% if email == user.primary_email %} {{ _('primary') }} {% elif not email.verified %} {{ _('unverified') }} {% endif %}
{% if not email.verified %} {{_("Retry verification")}} {% endif %}

{% set service_users_with_email_prefs = user.service_users|selectattr('has_email_preferences')|list %} {% set collapse_email_prefs = service_users_with_email_prefs|length > 2 %}
{{_("E-Mail Preferences")}}

{{ _("Choose your primary e-mail address and the address password recovery e-mails will be sent to.") }} {% if service_users_with_email_prefs %} {{ _("You can also select different addresses for different services.") }} {% endif %}

{{ _("Adresses must be verified before you can select them here.") }}

{% for service_user in service_users_with_email_prefs %} {% if collapse_email_prefs and loop.index == 2 %}
{% endif %}
{% endfor %} {% if collapse_email_prefs %}
{% endif %}

{{_("Password")}}

{{_("Your login password for the Single-Sign-On. Only enter it on the Single-Sign-On login page! No other legit websites will ask you for this password. We do not ever need your password to assist you.")}}

{{ User.PASSWORD_DESCRIPTION|safe }}

{{_("Two-Factor Authentication")}}

{{_("Setting up Two-Factor Authentication (2FA) adds an additional step to the Single-Sign-On login and increases the security of your account significantly.")}}

{% if user.mfa_enabled %} {{ _("Two-factor authentication is currently enabled.")|safe }} {% else %} {{ _("Two-factor authentication is currently disabled.")|safe }} {% endif %}

{{_("Manage two-factor authentication")}}

{{_("Active Sessions")}}

{{_("Your active login sessions on this device and other devices.")}}

{{_("Revoke a session to log yourself out on another device. Note that this is limited to the Single-Sign-On session and does not affect login sessions on services.")}}

{% for session in user.sessions|sort(attribute='last_used', reverse=True) if not session.expired and session != request.session %} {% endfor %}
{{_("Last used")}} {{_("Device")}}
{{_("Just now")}} {{ request.session.user_agent_browser }} on {{ request.session.user_agent_platform }} ({{ request.session.ip_address }})
{% set last_used_rel = session.last_used - datetime.utcnow() %} {% if -last_used_rel.total_seconds() <= 60 %} {{_("Just now")}} {% else %} {{ last_used_rel|timedeltaformat(add_direction=True, granularity='minute') }} {% endif %} {{ session.user_agent_browser }} on {{ session.user_agent_platform }} ({{ session.ip_address }}) {% if session != request.session %}
{% endif %}

{{_("Roles")}}

{{_("Aside from a set of base permissions, your roles determine the permissions of your account.")}}

{% if config['SERVICES'] %}

{{_("See Services for an overview of your current permissions.", services_url=url_for('service.overview'))}}

{% endif %}

{{_("Administrators and role moderators can invite you to new roles.")}}

{% for role in user.roles|sort(attribute='name') %} {% endfor %} {% if not user.roles %} {% endif %}
{{_("Name")}} {{_("Description")}}
{{ role.name }} {% if not user.mfa_enabled and role.groups.values()|selectattr('requires_mfa')|list %} {% endif %} {{ role.description }}
{{_("You currently don't have any roles")}}
{% endblock %}