{% extends "layout/home_base.html" %} {% block home_content %}
{% if handler.user.mail.endsWith('.local') %}
{{ _("You haven't set an email.")}}
{% endif %}

{{ _('Change Password') }}

{{ form.form_text({ type:'password', label:"SuperUser's Password" if sudoUid else 'Current Password', columns:10, name:'current', required:true }) }} {{ form.form_text({ type:'password', label:'New Password', columns:10, name:'password', required:true }) }} {{ form.form_text({ type:'password', label:'Repeat Password', columns:10, name:'verifyPassword', required:true }) }}

{{ _('Linked Accounts') }}

  • {{ _('Email Account') }}: {{ handler.user.mail }}

  • {%- for relation in relations -%}{% if relation.platform != 'mail' %} {% set platform = handler.loginMethods.find(eval("r => r.id === '" + relation.platform + "'")) %}
  • {% if platform.icon %}
    {{ platform.icon|safe }}
    {% endif %}

    {{ platform.name }}: {{ relation.id }}

  • {%- endif -%}{%- endfor -%}
    {%- for method in handler.loginMethods -%} {%- if not relations.some(eval("r => r.platform === '" + method.id + "'")) -%}
  • {% if method.icon %}
    {{ method.icon|safe }}
    {% endif %}

    {{ method.name }}

  • {%- endif -%} {%- endfor -%}

{{ _('Authenticators') }}

    {%- if handler.user.tfa -%}
  • {{ _('Authenticator') }}: {{ _('Two Factor Authentication') }}

  • {%- endif -%} {%- for authenticator in authenticators -%}
  • {{ _('Authenticator') }}: {{ authenticator.name }} ({{ authenticator.credentialID.buffer.toString('base64')|truncate(6, end='') }})

    {{ _('Type') }}: {{ authenticator.credentialDeviceType }}:{{ authenticator.fmt }}

    {{ _('Registered at') }}: {{ datetimeSpan(authenticator.regat)|safe }}

  • {%- endfor -%}

{{ _('Active Sessions') }}

    {%- for session in sessions -%}
  • {{ _('Last Update At') }}: {{ datetimeSpan(session.updateAt)|safe }}

    {% if session.createHost %}

    {{ _('Hostname') }}: {{ session.createHost }}

    {% endif %}

    {{ _('Location') }}: {{ _(session.updateGeoip.display) }} ({{ session.updateIp }})

    {{ _('Operating System') }}: {{ session.updateUaInfo.os.name }} {{ session.updateUaInfo.os.version }}

    {{ _('Browser') }}: {{ session.updateUaInfo.browser.name }} {{ session.updateUaInfo.browser.version }}

    {% if session.isCurrent %}

    {{ _('This is the current session') }}

    {% endif %}
    {% if not session.isCurrent %}
    {% endif %}
  • {%- endfor -%}
{% if geoipProvider %}

IP geo-location data is provided by {{ geoipProvider|safe }}.

{% endif %}
{% endblock %}