{% extends "meta.html" %} {% import "invoice.html" as invoice %} {% block title %} ~{{user.username}} - {{cfg("sr.ht", "site-name")}} meta {% endblock %} {% block content %}

~{{user.username}}

{{icon('exclamation-circle')}} Notice: This page contains private user information.
User ID
{{user.id}}
Email
{{user.email}}
Registered
{{user.created | date}}
User type
{{user.user_type.value}}
{% if user.user_type.value == "SUSPENDED" %}
Suspension Notice
{{user.suspension_notice}}
{% endif %}
Payment status
{{user.payment_status.value}}
{% if user.location %}
Location
{{user.location}}
{% endif %} {% if user.url %}
URL
{{user.url}}
{% endif %} {% if user.payment_processor_id %}
Stripe customer
{{user.payment_processor_id}}
{% endif %} {% if sub %}
Payment amount
${{"{:.2f}".format(sub.subtotal / 100)}}
Payment interval
{{sub.interval}}
{% endif %} {% if user.payment_due %}
Payment due
{{user.payment_due | date}}
{% endif %}
{% if user.bio %}
{{user.bio | md}}
{% endif %}
{{csrf_token()}}
{% if totp %}
{{csrf_token()}} This account has TOTP enabled.
{% endif %}
{{csrf_token()}} Check both boxes to delete this account:

User notes

{% for note in user.notes %}
{{note.note}} {{note.created | date}}
{% endfor %}
{{valid.summary('notes')}}
{{csrf_token()}}

Suspend account

{{csrf_token()}}
{% if user.payment_status != PaymentStatus.current %}

Issue financial aid

{{csrf_token()}}
{% else %}

Transfer billing information

{{valid.summary('from')}}
{{valid.summary('to')}}
{{csrf_token()}}
{% endif %}
{% if any(user.ssh_keys) %}

SSH keys

{% for key in user.ssh_keys %} {% endfor %}
Name Fingerprint Authorized Last Used
{{key.comment}}
{{key.fingerprint}}
{{key.key}}
{{key.created|date}} {{key.last_used|date}}
{% endif %} {% if any(user.pgp_keys) %}

PGP keys

{% for key in user.pgp_keys %} {% endfor %}
ID Fingerprint Authorized
{{key.id}}
{{key.fingerprint_hex}}
{{key.key}}
{{key.created|date}}
{% endif %}

Audit Log

{% for log in audit_log %} {% endfor %}
IP Address Host Details Date
{{log.ip_address}} {{rdns.get(log.ip_address.exploded, "unknown")}} {{log.details or log.event_type}} {{log.created | date }}

Personal Access Tokens

{% for token in personal_tokens %} {% endfor %}
Comment Issued Expires
{{ token.comment }} {{ token.issued | date }} {{ token.expires | date }} Revoke

Authorized Clients

{% for grant in oauth_grants %} {% endfor %}
Service Operator Issued Expires
{# lol this hack is awful #} {{ grant.client.name }} {{icon('external-link-alt')}} {{grant.client.owner.canonicalName}} {{grant.issued | date}} {{grant.expires | date}} Revoke

Registered Clients

{% for client in oauth_clients %} {% endfor %}
Name Client ID
{# lol this hack is awful #} {{ client.name }} {{icon('external-link-alt')}} {{ client.uuid }} Manage {{icon('caret-right')}}

Invoices

{% if invoices %}
{% for i in invoices %} {{ invoice.render(i) }} {% endfor %}
{% else %} None {% endif %}
{{csrf_token()}}

Impersonate user

{{valid.summary('reason')}}
This will send a security notification to the user and the admin security mailing list. You must have the user's permission to use this feature.
{% endblock %}