mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
* show objects that would be deleted by cascade * some items were not showing (eg ips on devices) * dont include the item being deleted in the list of related items * Revert "dont include the item being deleted in the list of related items" This reverts commit 298a7860b20c2fd90e887c66c4f196460097e71e. * cleanup - migrate code to use collector directly instead of the NestedObjects wrapper from admin.utils - adjust object names and text output * requested adjustments * remove comma from end of list * linting * refactor, add accordion * migrate to defaultdict, use title for capitalisation of accordian titles * Misc cleanup --------- Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
60 lines
2.5 KiB
HTML
60 lines
2.5 KiB
HTML
{% load form_helpers %}
|
|
{% load i18n %}
|
|
|
|
<form action="{{ form_url }}" method="post">
|
|
{% csrf_token %}
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">{% trans "Confirm Deletion" %}</h5>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p>
|
|
{% blocktrans trimmed %}
|
|
Are you sure you want to <strong class="text-danger">delete</strong> {{ object_type }} <strong>{{ object }}</strong>?
|
|
{% endblocktrans %}
|
|
</p>
|
|
{% if dependent_objects %}
|
|
<p>
|
|
{% trans "The following objects will be deleted as a result of this action." %}
|
|
</p>
|
|
<div class="accordion" id="deleteAccordion">
|
|
{% for model, instances in dependent_objects.items %}
|
|
<div class="accordion-item">
|
|
<h2 class="accordion-header" id="deleteheading{{ forloop.counter }}">
|
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse{{ forloop.counter }}" aria-expanded="false" aria-controls="collapse{{ forloop.counter }}">
|
|
{% with object_count=instances|length %}
|
|
{{ object_count }}
|
|
{% if object_count == 1 %}
|
|
{{ model|meta:"verbose_name" }}
|
|
{% else %}
|
|
{{ model|meta:"verbose_name_plural" }}
|
|
{% endif %}
|
|
{% endwith %}
|
|
</button>
|
|
</h2>
|
|
<div id="collapse{{ forloop.counter }}" class="accordion-collapse collapse" aria-labelledby="deleteheading{{ forloop.counter }}" data-bs-parent="#deleteAccordion">
|
|
<div class="accordion-body p-0">
|
|
<div class="list-group list-group-flush">
|
|
{% for instance in instances %}
|
|
{% with url=instance.get_absolute_url %}
|
|
<a {% if url %}href="{{ url }}" {% endif %}class="list-group-item list-group-item-action">{{ instance }}</a>
|
|
{% endwith %}
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
{% render_form form %}
|
|
</div>
|
|
<div class="modal-footer">
|
|
{% if return_url %}
|
|
<a href="{{ return_url }}" class="btn btn-outline-secondary">{% trans "Cancel" %}</a>
|
|
{% else %}
|
|
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">{% trans "Cancel" %}</button>
|
|
{% endif %}
|
|
<button type="submit" class="btn btn-danger">{% trans "Delete" %}</button>
|
|
</div>
|
|
</form>
|