|
31 | 31 | from django.contrib.auth.views import LogoutView |
32 | 32 | from django.contrib.contenttypes.admin import GenericTabularInline |
33 | 33 | from django.contrib.contenttypes.models import ContentType |
| 34 | +from django.contrib.messages.api import get_messages |
34 | 35 | from django.core import checks |
35 | 36 | from django.core.exceptions import FieldDoesNotExist |
36 | 37 | from django.core.exceptions import FieldError |
@@ -1394,6 +1395,7 @@ class DejacodeUserAdmin( |
1394 | 1395 | add_form = DejacodeUserCreationForm |
1395 | 1396 | change_list_template = "admin/change_list_extended.html" |
1396 | 1397 | add_form_template = "admin/dje/dejacode_user/change_form.html" |
| 1398 | + delete_confirmation_template = "admin/dje/dejacode_user/delete_confirmation.html" |
1397 | 1399 | change_form_template = add_form_template |
1398 | 1400 | activity_log = True |
1399 | 1401 | readonly_fields = ("last_login", "last_api_access", "date_joined") |
@@ -1506,6 +1508,30 @@ def log_addition(self, request, object, change_message=None): |
1506 | 1508 | self.message_user(request, self.activation_email_msg, messages.SUCCESS) |
1507 | 1509 | return super().log_addition(request, object, change_message) |
1508 | 1510 |
|
| 1511 | + def changeform_view(self, request, object_id=None, form_url="", extra_context=None): |
| 1512 | + extra_context = extra_context or {} |
| 1513 | + extra_context["delete_button_label"] = _("Disable") |
| 1514 | + return super().changeform_view(request, object_id, form_url, extra_context) |
| 1515 | + |
| 1516 | + def response_delete(self, request, obj_display, obj_id): |
| 1517 | + """Use the "disabled" label in place of "deleted".""" |
| 1518 | + response = super().response_delete(request, obj_display, obj_id) |
| 1519 | + |
| 1520 | + updated_messages = [] |
| 1521 | + # Iterate over messages and modify the one you want |
| 1522 | + for message in get_messages(request): |
| 1523 | + if "deleted" in message.message: |
| 1524 | + new_message = message.message.replace("deleted", "disabled") |
| 1525 | + updated_messages.append(new_message) |
| 1526 | + else: |
| 1527 | + updated_messages.append(message.message) |
| 1528 | + |
| 1529 | + # Clear the existing messages and add updated ones |
| 1530 | + for msg in updated_messages: |
| 1531 | + messages.success(request, msg) |
| 1532 | + |
| 1533 | + return response |
| 1534 | + |
1509 | 1535 | def delete_model(self, request, obj): |
1510 | 1536 | """ |
1511 | 1537 | Instead of deleting the User, makes it inactive. |
|
0 commit comments