forked from mirrors/bookwyrm
130 lines
4.7 KiB
HTML
130 lines
4.7 KiB
HTML
{% extends 'settings/layout.html' %}
|
|
{% load i18n %}
|
|
{% load utilities %}
|
|
|
|
{% block title %}
|
|
{% trans "Auto-moderation rules" %}
|
|
{% endblock %}
|
|
|
|
{% block header %}
|
|
{% trans "Auto-moderation rules" %}
|
|
{% endblock %}
|
|
|
|
{% block panel %}
|
|
|
|
<div class="notification content">
|
|
<p>
|
|
{% trans "Auto-moderation rules will create reports for any local user or status with fields matching the provided string." %}
|
|
{% trans "Users or statuses that have already been reported (regardless of whether the report was resolved) will not be flagged." %}
|
|
{% trans "At this time, reports are <em>not</em> being generated automatically, and you must manually trigger a scan." %}
|
|
</p>
|
|
<form name="run-scan" method="POST" action="{% url 'settings-automod-run' %}">
|
|
{% csrf_token %}
|
|
<button class="button is-warning">{% trans "Run scan" %}</button>
|
|
</form>
|
|
</div>
|
|
|
|
{% if success %}
|
|
<div class="notification is-success is-light">
|
|
<span class="icon icon-check" aria-hidden="true"></span>
|
|
<span>
|
|
{% trans "Successfully added rule" %}
|
|
</span>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="block content">
|
|
<h2 class="title is-4">{% trans "Add Rule" %}</h2>
|
|
<div class="box">
|
|
<form action="{% url 'settings-automod' %}" method="POST">
|
|
{% csrf_token %}
|
|
<input type="hidden" value="{{ request.user.id }}" name="created_by">
|
|
|
|
<div class="columns">
|
|
<div class="column">
|
|
<div class="field">
|
|
<label class="label" for="id_string_match">{% trans "String match" %}</label>
|
|
{{ form.string_match }}
|
|
{% include 'snippets/form_errors.html' with errors_list=form.string_match.errors id="desc_string_match" %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="column">
|
|
<div class="field">
|
|
<label class="label" for="id_flag_users">
|
|
{{ form.flag_users }}
|
|
{% trans "Flag users" %}
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field">
|
|
<label class="label" for="id_flag_statuses">
|
|
{{ form.flag_statuses }}
|
|
{% trans "Flag statuses" %}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="field">
|
|
<button type="submit" class="button is-primary">{% trans "Add rule" %}</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="block content">
|
|
<h2 class="title is-4">{% trans "Current Rules" %}</h2>
|
|
<details class="details-panel">
|
|
<summary>
|
|
<span class="title is-5" role="heading" aria-level="3">
|
|
{% trans "Show rules" %} ({{ rules.count }})
|
|
</span>
|
|
<span class="details-close icon icon-x" aria-hidden="true"></span>
|
|
</summary>
|
|
|
|
<div class="table-container">
|
|
<table class="table is-striped">
|
|
<tr>
|
|
<th>
|
|
<label for="id_string_match">{% trans "String match" %}</label>
|
|
</th>
|
|
<th>
|
|
<label for="id_flag_users">{% trans "Flag users" %}</label>
|
|
</th>
|
|
<th>
|
|
<label for="id_flag_statuses">{% trans "Flag statuses" %}</label>
|
|
</th>
|
|
<th>
|
|
</th>
|
|
</tr>
|
|
{% for rule in rules %}
|
|
<tr>
|
|
<td>
|
|
<code>{{ rule.string_match }}</code>
|
|
</td>
|
|
<td>
|
|
{{ rule.flag_users|yesno }}
|
|
</td>
|
|
<td>
|
|
{{ rule.flag_statuses|yesno }}
|
|
</td>
|
|
<td>
|
|
<form action="{% url 'settings-automod-delete' rule.id %}" method="POST">
|
|
{% csrf_token %}
|
|
<div class="control">
|
|
<button type="submit" class="button is-danger is-light is-small">
|
|
<span class="icon icon-x m-0-mobile" aria-hidden="true"></span>
|
|
<span class="is-sr-only-mobile">{% trans "Remove rule" %}</span>
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
</div>
|
|
</details>
|
|
</div>
|
|
{% endblock %}
|
|
|