Merge pull request #1885 from bookwyrm-social/reporting-improvements

Reporting improvements
This commit is contained in:
Mouse Reeve 2022-01-30 09:55:37 -08:00 committed by GitHub
commit 79be02230b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 41 additions and 17 deletions

View file

@ -48,7 +48,9 @@ def moderation_report_email(report):
data["reportee"] = report.user.localname or report.user.username
data["report_link"] = report.remote_id
for admin in models.User.objects.filter(groups__name__in=["admin", "moderator"]):
for admin in models.User.objects.filter(
groups__name__in=["admin", "moderator"]
).distinct():
data["user"] = admin.display_name
send_email.delay(admin.email, *format_email("moderation_report", data))

View file

@ -1,5 +1,6 @@
""" flagged for moderation """
from django.db import models
from bookwyrm.settings import DOMAIN
from .base_model import BookWyrmModel
@ -15,6 +16,9 @@ class Report(BookWyrmModel):
links = models.ManyToManyField("Link", blank=True)
resolved = models.BooleanField(default=False)
def get_remote_id(self):
return f"https://{DOMAIN}/settings/reports/{self.id}"
class Meta:
"""set order by default"""

View file

@ -17,6 +17,19 @@
{% include 'settings/reports/report_preview.html' with report=report %}
</div>
<div class="block">
<details class="details-panel box">
<summary>
<span class="title is-4">{% trans "Message reporter" %}</span>
<span class="details-close icon icon-x" aria-hidden></span>
</summary>
<div class="box">
{% trans "Update on your report:" as dm_template %}
{% include 'snippets/create_status/status.html' with type="direct" uuid=1 mention=report.reporter prepared_content=dm_template no_script=True %}
</div>
</details>
</div>
{% if report.statuses.exists %}
<div class="block">
<h3 class="title is-4">{% trans "Reported statuses" %}</h3>
@ -68,9 +81,13 @@
{% endfor %}
<form class="block" name="report-comment" method="post" action="{% url 'settings-report' report.id %}">
{% csrf_token %}
<label for="report_comment" class="label">Comment on report</label>
<textarea name="note" id="report_comment" class="textarea"></textarea>
<button class="button">{% trans "Comment" %}</button>
<div class="field">
<label for="report_comment" class="label">Comment on report</label>
<textarea name="note" id="report_comment" class="textarea"></textarea>
</div>
<div class="field">
<button class="button">{% trans "Comment" %}</button>
</div>
</form>
</div>
{% endblock %}

View file

@ -8,13 +8,14 @@ reply_parent: if applicable, the Status object that this post is in reply to
mention: a user who is @ mentioned by default in the post
draft: an existing Status object that is providing default values for input fields
{% endcomment %}
<textarea
name="content"
class="textarea save-draft"
{% if not draft %}data-cache-draft="id_content_{{ type }}_{{ book.id }}{{ reply_parent.id }}"{% endif %}
id="id_content_{{ type }}_{{ book.id }}{{ reply_parent.id }}{{ uuid }}"
placeholder="{{ placeholder }}"
aria-label="{% if reply_parent %}{% trans 'Reply' %}{% else %}{% trans 'Content' %}{% endif %}"
{% if not optional and type != "quotation" and type != "review" %}required{% endif %}
>{% if reply_parent %}{{ reply_parent|mentions:request.user }}{% endif %}{% if mention %}@{{ mention|username }} {% endif %}{% firstof draft.raw_content draft.content '' %}</textarea>
<div class="control">
<textarea
name="content"
class="textarea save-draft"
{% if not draft %}data-cache-draft="id_content_{{ type }}_{{ book.id }}{{ reply_parent.id }}"{% endif %}
id="id_content_{{ type }}_{{ book.id }}{{ reply_parent.id }}{{ uuid }}"
placeholder="{{ placeholder }}"
aria-label="{% if reply_parent %}{% trans 'Reply' %}{% else %}{% trans 'Content' %}{% endif %}"
{% if not optional and type != "quotation" and type != "review" %}required{% endif %}
>{% if reply_parent %}{{ reply_parent|mentions:request.user }}{% endif %}{% if mention %}@{{ mention|username }} {% endif %}{{ prepared_content }}{% firstof draft.raw_content draft.content '' %}</textarea>
</div>

View file

@ -15,7 +15,7 @@
{% endif %}
</div>
</div>
<div class="column is-narrow">
<div class="column is-narrow control">
<button class="button is-link" type="submit">
<span class="icon icon-spinner" aria-hidden="true"></span>
<span>{% trans "Post" %}</span>

View file

@ -22,7 +22,7 @@
{% csrf_token %}
<input type="hidden" name="reporter" value="{{ request.user.id }}">
<input type="hidden" name="user" value="{{ user.id }}">
{% if status %}
{% if status_id %}
<input type="hidden" name="statuses" value="{{ status_id }}">
{% endif %}
{% if link %}

View file

@ -3,7 +3,6 @@
{% load book_display_tags %}
{% load markdown %}
{% load i18n %}
{% load cache %}
{% if not hide_book %}
{% with book=status.book|default:status.mention_books.first %}

View file

@ -58,6 +58,7 @@ class ReportAdmin(View):
"""load a report"""
data = {
"report": get_object_or_404(models.Report, id=report_id),
"group_form": forms.UserGroupForm(),
}
return TemplateResponse(request, "settings/reports/report.html", data)