remove report model which is no longer in use

This commit is contained in:
Your Name 2024-04-13 01:21:28 -04:00 committed by Henri Dickson
parent 43907cb48d
commit 7ab1187b47
9 changed files with 1 additions and 237 deletions

View file

@ -2,6 +2,5 @@ from django.contrib import admin
from .models import *
admin.site.register(Report)
admin.site.register(User)
admin.site.register(Preference)

View file

@ -1,22 +0,0 @@
from django import forms
from django.utils.translation import gettext_lazy as _
from common.forms import PreviewImageInput
from .models import Report
class ReportForm(forms.ModelForm):
class Meta:
model = Report
fields = [
"reported_user",
"image",
"message",
]
widgets = {
"message": forms.Textarea(attrs={"placeholder": _("详情")}),
"image": PreviewImageInput(),
"reported_user": forms.HiddenInput(),
}
labels = {"reported_user": _("投诉对象"), "image": _("相关证据"), "message": _("详情")}

View file

@ -8,7 +8,6 @@ from django.conf import settings
from django.db import migrations, models
import users.models
from users.models.report import report_image_path
class Migration(migrations.Migration):
@ -177,47 +176,6 @@ class Migration(migrations.Migration):
("no_anonymous_view", models.PositiveSmallIntegerField(default=0)),
],
),
migrations.CreateModel(
name="Report",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"image",
models.ImageField(
blank=True, default="", upload_to=report_image_path
),
),
("is_read", models.BooleanField(default=False)),
("submitted_time", models.DateTimeField(auto_now_add=True)),
("message", models.CharField(max_length=1000)),
(
"reported_user",
models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="accused_reports",
to=settings.AUTH_USER_MODEL,
),
),
(
"submit_user",
models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="sumbitted_reports",
to=settings.AUTH_USER_MODEL,
),
),
],
),
migrations.AddConstraint(
model_name="user",
constraint=models.UniqueConstraint(

View file

@ -1,5 +1,4 @@
from .apidentity import APIdentity
from .preference import Preference
from .report import Report
from .task import Task
from .user import User

View file

@ -1,30 +0,0 @@
from django.conf import settings
from django.db import models
from django.utils.translation import gettext_lazy as _
from loguru import logger
from common.utils import GenerateDateUUIDMediaFilePath
from mastodon.api import *
from .user import User
def report_image_path(instance, filename):
return GenerateDateUUIDMediaFilePath(filename, settings.REPORT_MEDIA_PATH_ROOT)
class Report(models.Model):
submit_user = models.ForeignKey(
User, on_delete=models.SET_NULL, related_name="sumbitted_reports", null=True
)
reported_user = models.ForeignKey(
User, on_delete=models.SET_NULL, related_name="accused_reports", null=True
)
image = models.ImageField(
upload_to=report_image_path,
blank=True,
default="",
)
is_read = models.BooleanField(default=False)
submitted_time = models.DateTimeField(auto_now_add=True)
message = models.CharField(max_length=1000)

View file

@ -1,33 +0,0 @@
{% load static %}
{% load i18n %}
{% load admin_url %}
{% load mastodon %}
{% load oauth_token %}
{% load truncate %}
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ site_name }} - {% trans '管理投诉' %}</title>
{% include "common_libs.html" %}
</head>
<body>
{% include "_header.html" %}
<main class="container">
{% for report in reports %}
<article>
<header>
<a href="{{ report.submit_user.url }}">{{ report.submit_user.display_name }}</a>
{% trans '投诉了' %}
<a href="{{ report.reported_user.url }}">{{ report.reported_user.display_name }}</a>
@{{ report.submitted_time }}
</header>
<p>{{ report.message }}</p>
{% if report.image %}<img src="{{ report.image.url }}" alt="" style="max-height: 80vh;">{% endif %}
</article>
{% endfor %}
</main>
{% include "_footer.html" %}
</body>
</html>

View file

@ -1,43 +0,0 @@
{% load static %}
{% load i18n %}
{% load admin_url %}
{% load mastodon %}
{% load oauth_token %}
{% load truncate %}
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ site_name }} - {% trans '投诉用户' %}</title>
{% include "common_libs.html" %}
</head>
<body>
{% include "_header.html" %}
<div class="container">
<form action="{% url 'users:report' %}"
method="post"
enctype="multipart/form-data"
class="report-form">
{% csrf_token %}
{{ form }}
<input class="button" type="submit" value="{% trans '提交' %}">
</form>
</div>
{% include "_footer.html" %}
<script>
// preview uploaded pic
$("input[type='file']").on("change", function () {
if (this.files && this.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#previewImage').attr('src', e.target.result);
}
reader.readAsDataURL(this.files[0]);
}
});
</script>
</body>
</html>

View file

@ -51,8 +51,6 @@ urlpatterns = [
path("unmute/<str:user_name>", unmute, name="unmute"),
path("block/<str:user_name>", block, name="block"),
path("unblock/<str:user_name>", unblock, name="unblock"),
path("report", report, name="report"),
path("manage_report", manage_report, name="manage_report"),
path(
"mark_announcements_read/",
mark_announcements_read,

View file

@ -20,8 +20,7 @@ from takahe.utils import Takahe
from .account import *
from .data import *
from .forms import ReportForm
from .models import APIdentity, Preference, Report, User
from .models import APIdentity, Preference, User
from .profile import account_info, account_profile
@ -216,67 +215,6 @@ def set_layout(request: AuthedHttpRequest):
raise BadRequest()
@login_required
def report(request: AuthedHttpRequest):
if request.method == "GET":
user_id = request.GET.get("user_id")
if user_id:
user = get_object_or_404(User, pk=user_id)
form = ReportForm(initial={"reported_user": user})
else:
form = ReportForm()
return render(
request,
"users/report.html",
{
"form": form,
},
)
elif request.method == "POST":
form = ReportForm(request.POST, request.FILES)
if form.is_valid():
form.instance.is_read = False
form.instance.submit_user = request.user
form.save()
dw = settings.DISCORD_WEBHOOKS.get("user-report")
if dw:
webhook = SyncWebhook.from_url(dw)
webhook.send(
f"New report from {request.user} about {form.instance.reported_user} : {form.instance.message}"
)
return redirect(reverse("common:home"))
else:
return render(
request,
"users/report.html",
{
"form": form,
},
)
else:
raise BadRequest()
@login_required
def manage_report(request: AuthedHttpRequest):
if not request.user.is_staff:
raise PermissionDenied()
if request.method == "GET":
reports = Report.objects.all()
for r in reports.filter(is_read=False):
r.is_read = True
r.save()
return render(
request,
"users/manage_report.html",
{
"reports": reports,
},
)
else:
raise BadRequest()
@login_required
def mark_announcements_read(request: AuthedHttpRequest):
if request.method == "POST":