From 9c823372f5f99ec8f15e9b4a3fac2845a3e8bb5b Mon Sep 17 00:00:00 2001 From: David Schmitz <schmitz@lrz.de> Date: Wed, 19 Jul 2023 09:28:51 +0000 Subject: [PATCH] feature/admin_user_delete_with_owned_rule_reassigning: add info about owned rules on user delete confirmation page --- accounts/models.py | 6 ++++++ .../admin/auth/user/delete_confirmation.html | 20 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 templates/admin/auth/user/delete_confirmation.html diff --git a/accounts/models.py b/accounts/models.py index 6d67dc4e..23c54a78 100644 --- a/accounts/models.py +++ b/accounts/models.py @@ -55,6 +55,12 @@ class UserProfile(models.Model): return False return networks + @property + def get_owned_rules(self): + routes_owned = Route.objects.filter(applier=self.user) + #logger.info("get_owned_rules(): self="+str(self)+" => routes_owned="+str(routes_owned)) + return routes_owned + # deleting of rules by this account is allowed def is_delete_allowed(self): user_is_admin = self.user.is_superuser diff --git a/templates/admin/auth/user/delete_confirmation.html b/templates/admin/auth/user/delete_confirmation.html new file mode 100644 index 00000000..02ada091 --- /dev/null +++ b/templates/admin/auth/user/delete_confirmation.html @@ -0,0 +1,20 @@ + +{% extends "admin/delete_confirmation.html" %} + +{% block content %} + <p> + + {% if object.userprofile.get_owned_rules %} + Rules currently associated to the user to be deleted:<br> + <ul> + {% for route in object.userprofile.get_owned_rules %} + <li> route {{ route }} </li> + {% endfor %} + </ul> + {% endif %} + + </p> + + {{ block.super }} +{% endblock %} + -- GitLab