Show users as deleted in admin view

This commit is contained in:
Mouse Reeve 2021-06-14 11:35:06 -07:00
parent 607bfa9160
commit e98138e84f
3 changed files with 14 additions and 2 deletions

View file

@ -1,6 +1,12 @@
{% load i18n %}
<div class="block content">
{% if not user.is_active and user.deactivation_reason == "self_deletion" %}
<div class="notification is-danger">
{% trans "Permanently deleted" %}
</div>
{% else %}
<h3>{% trans "Actions" %}</h3>
<div class="is-flex">
<p class="mr-1">
<a class="button" href="{% url 'direct-messages-user' user.username %}">{% trans "Send direct message" %}</a>
@ -14,6 +20,7 @@
{% endif %}
</form>
</div>
{% if user.local %}
<div>
<form name="permission" method="post" action="{% url 'settings-user' user.id %}">
@ -39,4 +46,6 @@
</form>
</div>
{% endif %}
{% endif %}
</div>

View file

@ -106,7 +106,7 @@ class EditUserViews(TestCase):
)
image = Image.open(image_file)
result = views.user.crop_avatar(image)
result = views.edit_user.crop_avatar(image)
self.assertIsInstance(result, ContentFile)
image_result = Image.open(result)
self.assertEqual(image_result.size, (120, 120))
@ -145,4 +145,6 @@ class EditUserViews(TestCase):
activity["cc"][0], "https://www.w3.org/ns/activitystreams#Public"
)
self.local_user.refresh_from_db()
self.assertFalse(self.local_user.is_active)
self.assertEqual(self.local_user.deactivation_reason, "self_deletion")

View file

@ -59,7 +59,8 @@ class DeleteUser(View):
# idk why but I couldn't get check_password to work on request.user
user = models.User.objects.get(id=request.user.id)
if form.is_valid() and user.check_password(form.cleaned_data["password"]):
request.user.delete()
user.deactivation_reason = "self_deletion"
user.delete()
logout(request)
return redirect("/")