From 48d7ca7a64af881f557ac0e674b0b206ac8391d2 Mon Sep 17 00:00:00 2001
From: Jamie Murphy
Date: Fri, 20 Oct 2023 12:15:07 +0100
Subject: [PATCH] requested adjustments
---
netbox/netbox/views/generic/object_views.py | 18 ++++++++----------
netbox/templates/htmx/delete_form.html | 12 ++++++++----
2 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/netbox/netbox/views/generic/object_views.py b/netbox/netbox/views/generic/object_views.py
index de6b5cb9a..e3373350e 100644
--- a/netbox/netbox/views/generic/object_views.py
+++ b/netbox/netbox/views/generic/object_views.py
@@ -338,14 +338,12 @@ class ObjectDeleteView(GetReturnURLMixin, BaseObjectView):
using = router.db_for_write(obj._meta.model)
collector = Collector(using=using)
collector.collect([obj])
- deletion_objects = []
- if collector.instances_with_model():
- for model, instance in collector.instances_with_model():
- # we could ignore the instance == obj so that the list doesnt contain itself...
- deletion_objects.append({
- "modelname":f"{model.__name__}",
- "object": instance,
- })
+ related_objects = {}
+ for model, instance in collector.instances_with_model():
+ # we could ignore the instance == obj so that the list doesnt contain itself...
+ if not model.__name__ in related_objects:
+ related_objects[model.__name__] = []
+ related_objects[model.__name__].append(instance)
# If this is an HTMX request, return only the rendered deletion form as modal content
if is_htmx(request):
@@ -356,7 +354,7 @@ class ObjectDeleteView(GetReturnURLMixin, BaseObjectView):
'object_type': self.queryset.model._meta.verbose_name,
'form': form,
'form_url': form_url,
- 'deletion_objects': deletion_objects,
+ 'related_objects': related_objects,
**self.get_extra_context(request, obj),
})
@@ -364,7 +362,7 @@ class ObjectDeleteView(GetReturnURLMixin, BaseObjectView):
'object': obj,
'form': form,
'return_url': self.get_return_url(request, obj),
- 'deletion_objects': deletion_objects,
+ 'related_objects': related_objects,
**self.get_extra_context(request, obj),
})
diff --git a/netbox/templates/htmx/delete_form.html b/netbox/templates/htmx/delete_form.html
index f108f41ea..799e72627 100644
--- a/netbox/templates/htmx/delete_form.html
+++ b/netbox/templates/htmx/delete_form.html
@@ -12,11 +12,15 @@
Are you sure you want to delete {{ object_type }} {{ object }}?
{% endblocktrans %}
- {% if deletion_objects %}
+ {% if related_objects %}
- This will cause deltion of the following items:
- {% for deletion_object in deletion_objects %}
- - {{ deletion_object.modelname }} - {{ deletion_object.object | linkify }}
+ This will cause deletion of the following items:
+ {% for model,objects in related_objects.items %}
+ - {{ model }}:
+ {% for object in objects %}
+ {{ object | linkify }},
+ {% endfor %}
+
{% endfor %}
{% endif %}