mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-23 07:56:44 -06:00
cleanup
- migrate code to use collector directly instead of the NestedObjects wrapper from admin.utils - adjust object names and text output
This commit is contained in:
parent
7c3caf5e39
commit
63b1736c97
@ -2,9 +2,9 @@ import logging
|
|||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
|
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.contrib.admin.utils import NestedObjects
|
|
||||||
from django.db import transaction, router
|
from django.db import transaction, router
|
||||||
from django.db.models import ProtectedError
|
from django.db.models import ProtectedError
|
||||||
|
from django.db.models.deletion import Collector
|
||||||
from django.shortcuts import redirect, render
|
from django.shortcuts import redirect, render
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils.html import escape
|
from django.utils.html import escape
|
||||||
@ -336,13 +336,16 @@ class ObjectDeleteView(GetReturnURLMixin, BaseObjectView):
|
|||||||
form = ConfirmationForm(initial=request.GET)
|
form = ConfirmationForm(initial=request.GET)
|
||||||
|
|
||||||
using = router.db_for_write(obj._meta.model)
|
using = router.db_for_write(obj._meta.model)
|
||||||
collector = NestedObjects(using=using)
|
collector = Collector(using=using)
|
||||||
collector.collect([obj])
|
collector.collect([obj])
|
||||||
nested_objs = []
|
deletion_objects = []
|
||||||
if collector.instances_with_model():
|
if collector.instances_with_model():
|
||||||
for model, instance in collector.instances_with_model():
|
for model, instance in collector.instances_with_model():
|
||||||
nested_objs.append(f"{model.__name__} - {instance}")
|
# we could ignore the instance == obj so that the list doesnt contain itself...
|
||||||
|
deletion_objects.append({
|
||||||
|
"modelname":f"{model.__name__}",
|
||||||
|
"object": instance,
|
||||||
|
})
|
||||||
|
|
||||||
# If this is an HTMX request, return only the rendered deletion form as modal content
|
# If this is an HTMX request, return only the rendered deletion form as modal content
|
||||||
if is_htmx(request):
|
if is_htmx(request):
|
||||||
@ -353,7 +356,7 @@ class ObjectDeleteView(GetReturnURLMixin, BaseObjectView):
|
|||||||
'object_type': self.queryset.model._meta.verbose_name,
|
'object_type': self.queryset.model._meta.verbose_name,
|
||||||
'form': form,
|
'form': form,
|
||||||
'form_url': form_url,
|
'form_url': form_url,
|
||||||
'nested_objs': nested_objs,
|
'deletion_objects': deletion_objects,
|
||||||
**self.get_extra_context(request, obj),
|
**self.get_extra_context(request, obj),
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -361,7 +364,7 @@ class ObjectDeleteView(GetReturnURLMixin, BaseObjectView):
|
|||||||
'object': obj,
|
'object': obj,
|
||||||
'form': form,
|
'form': form,
|
||||||
'return_url': self.get_return_url(request, obj),
|
'return_url': self.get_return_url(request, obj),
|
||||||
'nested_objs': nested_objs,
|
'deletion_objects': deletion_objects,
|
||||||
**self.get_extra_context(request, obj),
|
**self.get_extra_context(request, obj),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -12,11 +12,11 @@
|
|||||||
Are you sure you want to <strong class="text-danger">delete</strong> {{ object_type }} <strong>{{ object }}</strong>?
|
Are you sure you want to <strong class="text-danger">delete</strong> {{ object_type }} <strong>{{ object }}</strong>?
|
||||||
{% endblocktrans %}
|
{% endblocktrans %}
|
||||||
</p>
|
</p>
|
||||||
{% if nested_objs %}
|
{% if deletion_objects %}
|
||||||
<p>
|
<p>
|
||||||
This will cause deltion of the following related items: <br>
|
This will cause deltion of the following items: <br>
|
||||||
{% for nested_obj in nested_objs %}
|
{% for deletion_object in deletion_objects %}
|
||||||
- {{ nested_obj }} <br>
|
- {{ deletion_object.modelname }} - {{ deletion_object.object | linkify }} <br>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</p>
|
</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
Loading…
Reference in New Issue
Block a user