contentdb/app/templates/users/modtools.html
2024-07-05 01:19:33 +01:00

129 lines
4.3 KiB
HTML

{% extends "users/settings_base.html" %}
{% block title %}
{{ _("Moderator Tools") }}
{% endblock %}
{% block pane %}
<h2 class="mt-0">{{ _("Moderator Tools") }}</h2>
<h3>
{{ _("Storage") }}
</h3>
{% set all_releases = user.packages | map(attribute="releases") | flatten %}
{% set all_screenshots = user.packages | map(attribute="screenshots") | flatten %}
{% set release_size = ((all_releases | sum(attribute="file_size_bytes")) / 1048576) | round %}
{% set screenshot_size = ((all_screenshots | sum(attribute="file_size_bytes")) / 1048576) | round %}
<p>
{{ _("Total storage usage is %(total_size)d MB (releases %(release_size)d MB, screenshots %(screenshot_size)d MB).",
release_size=release_size, screenshot_size=screenshot_size, total_size=release_size + screenshot_size) }}
<br>
{{ _("%(releases)d releases and %(screenshots)d screenshots.",
releases=all_releases | length, screenshots=all_screenshots | length) }}
</p>
<h3>
{{ _("Edit Account") }}
</h3>
{% from "macros/forms.html" import render_field, render_field_prefix, render_submit_field %}
<form action="" method="POST" class="form" role="form">
{{ form.hidden_tag() }}
{% if user.check_perm(current_user, "CHANGE_USERNAMES") %}
{{ render_field(form.username, tabindex=230) }}
{{ render_field(form.display_name, tabindex=230) }}
{{ render_field(form.forums_username, tabindex=230) }}
{{ render_field_prefix(form.github_username, tabindex=230) }}
{% endif %}
{% if user.check_perm(current_user, "CHANGE_RANK") %}
{{ render_field(form.rank, tabindex=250) }}
{% endif %}
<p>
{{ render_submit_field(form.submit, tabindex=280) }}
</p>
</form>
<h3>{{ _("Password") }}</h3>
{% if user.password %}
<p>{{ _("Has password") }}</p>
{% else %}
<p class="text-danger">{{ _("Doesn't have password") }}</p>
{% endif %}
{% if not user.rank.at_least(current_user.rank) %}
<h3>{{ _("Ban") }}</h3>
{% if user.ban %}
<p>
Banned by {{ user.ban.banned_by.display_name }} at {{ user.ban.created_at | full_datetime }}
{% if user.ban.expires_at %}
until {{ user.ban.expires_at | date }}
{% endif %}
</p>
<blockquote>
{{ user.ban.message }}
</blockquote>
<form method="POST" action="{{ url_for('users.modtools_unban', username=user.username) }}">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
<input type="submit" value="{{ _('Unban') }}" class="btn btn-primary" />
</form>
{% else %}
<form method="POST" action="{{ url_for('users.modtools_ban', username=user.username) }}">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
<div class="form-group mb-3">
<label for="message" class="form-label">{{ _("Message") }}</label>
<span class="ms-1 text-danger">
<small>
<i class="fas fa-asterisk"></i>
</small>
</span>
<span class="ms-3 text-muted">
{{ _("Required") }}
</span>
<input id="message" class="form-control" type="text" name="message" required minlength="5">
<small class="form-text text-muted">
{{ _("Message to display to banned user") }}
</small>
</div>
<div class="form-group mb-3">
<label for="expires_at" class="form-label">{{ _("Expires At") }}</label>
<input id="expires_at" class="form-control" type="date" name="expires_at">
<small class="form-text text-muted">
{{ _("Expiry date. Leave blank for permanent ban") }}
</small>
</div>
<input type="submit" value="{{ _('Ban') }}" class="btn btn-danger" />
</form>
{% endif %}
<h3>{{ _("Change Email and Send Password Reset") }}</h3>
<form method="POST" action="{{ url_for('users.modtools_set_email', username=user.username) }}">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
<div class="form-group mb-3">
<label for="email" class="form-label">{{ _("Email Address") }}</label>
<input type="email" class="form-control" name="email" id="email" value="{{ user.email or '' }}" />
</div>
<input type="submit" value="{{ _('Save') }}" class="btn btn-primary" />
</form>
{% endif %}
<h3>{{ _("Pending email verifications") }}</h3>
<ul>
{% for ver in user.email_verifications %}
{% if not ver.is_expired %}
<li>
{{ ver.email }}, {{ ver.created_at | full_datetime }}:
<a href="{{ url_for('users.verify_email', token=ver.token) }}">verify</a>
</li>
{% endif %}
{% endfor %}
</ul>
{% endblock %}