2024-06-12 07:47:04 +08:00
{% if theme() and file_exists('app/templates/themes/' + theme() + '/base.html') %}
{% extends 'themes/' + theme() + '/base.html' %}
{% else %}
{% extends "base.html" %}
{% endif %} %}
{% from 'bootstrap/form.html' import render_form %}
2024-06-29 20:49:33 +02:00
{% set active_child = 'admin_users_trash' %}
2024-06-12 07:47:04 +08:00
{% block app_content %}
< div class = "row" >
< div class = "col" >
< h1 > {{ _('Users') }}< / h1 >
< a class = "btn btn-primary" href = "{{ url_for('admin.admin_users_add') }}" style = "float: right;" > {{ _('Add local user') }}< / a >
< form method = "get" >
< input type = "search" name = "search" value = "{{ search }}" >
< input type = "radio" name = "local_remote" value = "local" id = "local_remote_local" { { ' checked ' if local_remote = = ' local ' } } > < label for = "local_remote_local" > Local< / label >
< input type = "radio" name = "local_remote" value = "remote" id = "local_remote_remote" { { ' checked ' if local_remote = = ' remote ' } } > < label for = "local_remote_remote" > Remote< / label >
< input type = "radio" name = "type" value = "bad_rep" id = "type_bad_rep" { { ' checked ' if type = = ' bad_rep ' } } > < label for = "type_bad_rep" > Bad rep< / label >
< input type = "radio" name = "type" value = "bad_attitude" id = "type_bad_attitude" { { ' checked ' if type = = ' bad_attitude ' } } > < label for = "type_bad_attitude" > Bad attitude< / label >
< input type = "submit" name = "submit" value = "Search" class = "btn btn-primary" >
< / form >
< table class = "table table-striped mt-1" >
< tr >
< th > Name< / th >
< th > Local/Remote< / th >
< th > Seen< / th >
< th > Attitude< / th >
< th > Rep< / th >
< th > Banned< / th >
< th > Reports< / th >
< th > IP< / th >
< th > Source< / th >
< th > Actions< / th >
< / tr >
{% for user in users.items %}
< tr >
2024-06-29 19:43:09 +02:00
< td > < a href = "/u/{{ user.link() }}" >
< img src = "{{ user.avatar_thumbnail() }}" class = "community_icon rounded-circle" loading = "lazy" / >
{{ user.display_name() }}< / a > < / td >
< td > {% if user.is_local() %}Local{% else %}< a href = "{{ user.ap_profile_id }}" > Remote< / a > {% endif %}< / td >
2024-06-12 07:47:04 +08:00
< td > {% if request.args.get('local_remote', '') == 'local' %}
2024-08-23 11:14:47 +12:00
{{ arrow.get(user.last_seen).humanize(locale=locale) }}
2024-06-12 07:47:04 +08:00
{% else %}
{{ user.last_seen }}
{% endif %}
< / td >
2024-11-25 20:51:12 +01:00
< td > {% if user.attitude != 1 %}{{ (user.attitude * 100) | round | int }}%{% endif %}< / td >
2024-11-25 20:39:10 +01:00
< td > {% if user.reputation %}R {{ user.reputation | round | int }}{% endif %}< / td >
2024-06-12 07:47:04 +08:00
< td > {{ '< span class = "red" > Banned< / span > '|safe if user.banned }} < / td >
< td > {{ user.reports if user.reports > 0 }} < / td >
< td > {{ user.ip_address if user.ip_address }} < / td >
< td > {{ user.referrer if user.referrer }} < / td >
< td > < a href = "/u/{{ user.link() }}" > View local< / a > |
{% if not user.is_local() %}
< a href = "{{ user.ap_profile_id }}" > View remote< / a > |
{% else %}
View remote |
{% endif %}
< a href = "{{ url_for('admin.admin_user_edit', user_id=user.id) }}" > Edit< / a > |
< a href = "{{ url_for('admin.admin_user_delete', user_id=user.id) }}" class = "confirm_first" > Delete< / a >
< / td >
< / tr >
{% endfor %}
< / table >
< nav aria-label = "Pagination" class = "mt-4" role = "navigation" >
{% if prev_url %}
< a href = "{{ prev_url }}" class = "btn btn-primary" >
< span aria-hidden = "true" > ← < / span > {{ _('Previous page') }}
< / a >
{% endif %}
{% if next_url %}
< a href = "{{ next_url }}" class = "btn btn-primary" >
{{ _('Next page') }} < span aria-hidden = "true" > → < / span >
< / a >
{% endif %}
< / nav >
< / div >
< / div >
< hr / >
< div class = "row" >
< div class = "col" >
{% include 'admin/_nav.html' %}
< / div >
< / div >
< hr / >
{% endblock %}