Merge pull request #2184 from bookwyrm-social/userless-link-domain
Handle link domains with no associated user
This commit is contained in:
commit
cccf0ec3a0
11 changed files with 53 additions and 12 deletions
|
@ -45,7 +45,8 @@ def moderation_report_email(report):
|
||||||
"""a report was created"""
|
"""a report was created"""
|
||||||
data = email_data()
|
data = email_data()
|
||||||
data["reporter"] = report.reporter.localname or report.reporter.username
|
data["reporter"] = report.reporter.localname or report.reporter.username
|
||||||
data["reportee"] = report.user.localname or report.user.username
|
if report.user:
|
||||||
|
data["reportee"] = report.user.localname or report.user.username
|
||||||
data["report_link"] = report.remote_id
|
data["report_link"] = report.remote_id
|
||||||
|
|
||||||
for admin in models.User.objects.filter(
|
for admin in models.User.objects.filter(
|
||||||
|
|
|
@ -11,7 +11,7 @@ class Report(BookWyrmModel):
|
||||||
"User", related_name="reporter", on_delete=models.PROTECT
|
"User", related_name="reporter", on_delete=models.PROTECT
|
||||||
)
|
)
|
||||||
note = models.TextField(null=True, blank=True)
|
note = models.TextField(null=True, blank=True)
|
||||||
user = models.ForeignKey("User", on_delete=models.PROTECT)
|
user = models.ForeignKey("User", on_delete=models.PROTECT, null=True, blank=True)
|
||||||
status = models.ForeignKey(
|
status = models.ForeignKey(
|
||||||
"Status",
|
"Status",
|
||||||
null=True,
|
null=True,
|
||||||
|
|
|
@ -42,7 +42,11 @@
|
||||||
<a href="{{ link.url }}" target="_blank" rel="noopener noreferrer">{{ link.url }}</a>
|
<a href="{{ link.url }}" target="_blank" rel="noopener noreferrer">{{ link.url }}</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
{% if link.added_by %}
|
||||||
<a href="{% url 'user-feed' link.added_by.id %}">{{ link.added_by.display_name }}</a>
|
<a href="{% url 'user-feed' link.added_by.id %}">{{ link.added_by.display_name }}</a>
|
||||||
|
{% else %}
|
||||||
|
<em>{% trans "Unknown user" %}</em>
|
||||||
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{{ link.filelink.filetype }}
|
{{ link.filelink.filetype }}
|
||||||
|
@ -50,7 +54,7 @@
|
||||||
<td>
|
<td>
|
||||||
{{ link.domain.name }}
|
{{ link.domain.name }}
|
||||||
<p>
|
<p>
|
||||||
<a href="{% url 'report-link' link.added_by.id link.id %}">{% trans "Report spam" %}</a>
|
<a href="{% url 'report-link' link.id %}">{% trans "Report spam" %}</a>
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
|
@ -19,7 +19,7 @@ Is that where you'd like to go?
|
||||||
{% block modal-footer %}
|
{% block modal-footer %}
|
||||||
{% if request.user.is_authenticated %}
|
{% if request.user.is_authenticated %}
|
||||||
<div class="is-flex-grow-1">
|
<div class="is-flex-grow-1">
|
||||||
<a href="{% url 'report-link' link.added_by.id link.id %}">{% trans "Report spam" %}</a>
|
<a href="{% url 'report-link' link.id %}">{% trans "Report spam" %}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button type="button" class="button" data-modal-close>{% trans "Cancel" %}</button>
|
<button type="button" class="button" data-modal-close>{% trans "Cancel" %}</button>
|
||||||
|
|
|
@ -3,7 +3,19 @@
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<p>
|
<p>
|
||||||
{% blocktrans %}@{{ reporter }} has flagged behavior by @{{ reportee }} for moderation. {% endblocktrans %}
|
{% if report_link %}
|
||||||
|
|
||||||
|
{% blocktrans trimmed %}
|
||||||
|
@{{ reporter }} has flagged a link domain for moderation.
|
||||||
|
{% endblocktrans %}
|
||||||
|
|
||||||
|
{% else %}
|
||||||
|
|
||||||
|
{% blocktrans trimmed %}
|
||||||
|
@{{ reporter }} has flagged behavior by @{{ reportee }} for moderation.
|
||||||
|
{% endblocktrans %}
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
{% trans "View report" as text %}
|
{% trans "View report" as text %}
|
||||||
|
|
|
@ -2,7 +2,15 @@
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
{% blocktrans %}@{{ reporter}} has flagged behavior by @{{ reportee }} for moderation. {% endblocktrans %}
|
{% if report_link %}
|
||||||
|
{% blocktrans trimmed %}
|
||||||
|
@{{ reporter }} has flagged a link domain for moderation.
|
||||||
|
{% endblocktrans %}
|
||||||
|
{% else %}
|
||||||
|
{% blocktrans trimmed %}
|
||||||
|
@{{ reporter }} has flagged behavior by @{{ reportee }} for moderation.
|
||||||
|
{% endblocktrans %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% trans "View report" %}
|
{% trans "View report" %}
|
||||||
{{ report_link }}
|
{{ report_link }}
|
||||||
|
|
|
@ -15,7 +15,11 @@
|
||||||
<a href="{{ link.url }}" target="_blank" rel="noopener noreferrer">{{ link.url }}</a>
|
<a href="{{ link.url }}" target="_blank" rel="noopener noreferrer">{{ link.url }}</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
{% if link.added_by %}
|
||||||
<a href="{% url 'settings-user' link.added_by.id %}">@{{ link.added_by|username }}</a>
|
<a href="{% url 'settings-user' link.added_by.id %}">@{{ link.added_by|username }}</a>
|
||||||
|
{% else %}
|
||||||
|
<em>{% trans "Unknown user" %}</em>
|
||||||
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{% if link.filelink.filetype %}
|
{% if link.filelink.filetype %}
|
||||||
|
|
|
@ -55,9 +55,11 @@
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if report.user %}
|
||||||
{% include 'settings/users/user_info.html' with user=report.user %}
|
{% include 'settings/users/user_info.html' with user=report.user %}
|
||||||
|
|
||||||
{% include 'settings/users/user_moderation_actions.html' with user=report.user %}
|
{% include 'settings/users/user_moderation_actions.html' with user=report.user %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<h3 class="title is-4">{% trans "Moderator Comments" %}</h3>
|
<h3 class="title is-4">{% trans "Moderator Comments" %}</h3>
|
||||||
|
|
|
@ -9,9 +9,15 @@ Report #{{ report_id }}: Status posted by @{{ username }}
|
||||||
|
|
||||||
{% elif report.links.exists %}
|
{% elif report.links.exists %}
|
||||||
|
|
||||||
{% blocktrans trimmed with report_id=report.id username=report.user|username %}
|
{% if report.user %}
|
||||||
Report #{{ report_id }}: Link added by @{{ username }}
|
{% blocktrans trimmed with report_id=report.id username=report.user|username %}
|
||||||
{% endblocktrans %}
|
Report #{{ report_id }}: Link added by @{{ username }}
|
||||||
|
{% endblocktrans %}
|
||||||
|
{% else %}
|
||||||
|
{% blocktrans trimmed with report_id=report.id %}
|
||||||
|
Report #{{ report_id }}: Link domain
|
||||||
|
{% endblocktrans %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
||||||
|
|
|
@ -287,7 +287,7 @@ urlpatterns = [
|
||||||
name="report-status",
|
name="report-status",
|
||||||
),
|
),
|
||||||
re_path(
|
re_path(
|
||||||
r"^report/(?P<user_id>\d+)/link/(?P<link_id>\d+)?$",
|
r"^report/link/(?P<link_id>\d+)?$",
|
||||||
views.Report.as_view(),
|
views.Report.as_view(),
|
||||||
name="report-link",
|
name="report-link",
|
||||||
),
|
),
|
||||||
|
|
|
@ -13,9 +13,13 @@ from bookwyrm import emailing, forms, models
|
||||||
class Report(View):
|
class Report(View):
|
||||||
"""Make reports"""
|
"""Make reports"""
|
||||||
|
|
||||||
def get(self, request, user_id, status_id=None, link_id=None):
|
def get(self, request, user_id=None, status_id=None, link_id=None):
|
||||||
"""static view of report modal"""
|
"""static view of report modal"""
|
||||||
data = {"user": get_object_or_404(models.User, id=user_id)}
|
data = {"user": None}
|
||||||
|
if user_id:
|
||||||
|
# but normally we should have an error if the user is not found
|
||||||
|
data["user"] = get_object_or_404(models.User, id=user_id)
|
||||||
|
|
||||||
if status_id:
|
if status_id:
|
||||||
data["status"] = status_id
|
data["status"] = status_id
|
||||||
if link_id:
|
if link_id:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue