Просмотр исходного кода

Clean up and document the bulk import/edit/delete templates

jeremystretch 4 лет назад
Родитель
Сommit
e796fd1e11

+ 4 - 4
netbox/netbox/views/generic/bulk_views.py

@@ -14,6 +14,7 @@ from django_tables2.export import TableExport
 
 from extras.models import ExportTemplate
 from extras.signals import clear_webhooks
+from netbox.tables import configure_table
 from utilities.error_handlers import handle_protectederror
 from utilities.exceptions import PermissionsViolation
 from utilities.forms import (
@@ -21,7 +22,6 @@ from utilities.forms import (
 )
 from utilities.htmx import is_htmx
 from utilities.permissions import get_permission_for_model
-from netbox.tables import configure_table
 from utilities.views import GetReturnURLMixin
 from .base import BaseMultiObjectView
 
@@ -369,9 +369,9 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView):
     def get(self, request):
 
         return render(request, self.template_name, {
+            'model': self.model_form._meta.model,
             'form': self._import_form(),
             'fields': self.model_form().fields,
-            'obj_type': self.model_form._meta.model._meta.verbose_name,
             'return_url': self.get_return_url(request),
             **self.get_extra_context(request),
         })
@@ -418,9 +418,9 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView):
             logger.debug("Form validation failed")
 
         return render(request, self.template_name, {
+            'model': self.model_form._meta.model,
             'form': form,
             'fields': self.model_form().fields,
-            'obj_type': self.model_form._meta.model._meta.verbose_name,
             'return_url': self.get_return_url(request),
             **self.get_extra_context(request),
         })
@@ -759,8 +759,8 @@ class BulkDeleteView(GetReturnURLMixin, BaseMultiObjectView):
             return redirect(self.get_return_url(request))
 
         return render(request, self.template_name, {
+            'model': model,
             'form': form,
-            'obj_type_plural': model._meta.verbose_name_plural,
             'table': table,
             'return_url': self.get_return_url(request),
             **self.get_extra_context(request),

+ 35 - 25
netbox/templates/generic/object_bulk_delete.html

@@ -2,34 +2,44 @@
 {% load helpers %}
 {% load render_table from django_tables2 %}
 
-{% block title %}Delete {{ table.rows|length }} {{ obj_type_plural|bettertitle }}?{% endblock %}
+{% comment %}
+Blocks:
+  message_extra: Supplementary warning message content
+
+Context:
+  model: The model class of the objects being deleted
+  form: The bulk delete form class
+  table: The table class for rendering list of objects being deleted
+  return_url: The URL to which the user is redirected after submitting the form
+{% endcomment %}
+
+{% block title %}Delete {{ table.rows|length }} {{ model|meta:"verbose_name_plural"|bettertitle }}?{% endblock %}
 
 {% block content %}
-    <div class="container-md px-0">
-        <div class="alert alert-danger mb-3" role="alert">
-            <h4 class="alert-heading">Confirm Bulk Deletion</h4>
-            <hr />
-            <div>
-                <strong>Warning:</strong> The following operation will delete <strong>{{ table.rows|length }}</strong> {{ obj_type_plural }}. Please carefully review the {{ obj_type_plural }} to be deleted and confirm below.
-            </div>
-            {% block message_extra %}{% endblock %}
-        </div>
+  <div class="container-md px-0">
+    <div class="alert alert-danger mb-3" role="alert">
+      <h4 class="alert-heading">Confirm Bulk Deletion</h4>
+      <hr />
+      <strong>Warning:</strong> The following operation will delete <strong>{{ table.rows|length }}</strong>
+      {{ model|meta:"verbose_name_plural" }}. Please carefully review the objects to be deleted and confirm below.
+      {% block message_extra %}{% endblock %}
     </div>
-    <div class="container-xl px-0">
-      <div class="table-responsive">
-        {% render_table table 'inc/table.html' %}
-      </div>
-      <div class="row mt-3">
-        <form action="" method="post">
-            {% csrf_token %}
-            {% for field in form.hidden_fields %}
-                {{ field }}
-            {% endfor %}
-            <div class="text-end">
-                <a href="{{ return_url }}" class="btn btn-outline-dark">Cancel</a>
-                <button type="submit" name="_confirm" class="btn btn-danger">Delete {{ table.rows|length }} {{ obj_type_plural }}</button>
-            </div>
-        </form>
+  </div>
+  <div class="container-xl px-0">
+    <div class="table-responsive">
+      {% render_table table 'inc/table.html' %}
     </div>
+    <div class="row mt-3">
+      <form action="" method="post">
+        {% csrf_token %}
+        {% for field in form.hidden_fields %}
+          {{ field }}
+        {% endfor %}
+        <div class="text-end">
+          <a href="{{ return_url }}" class="btn btn-outline-dark">Cancel</a>
+          <button type="submit" name="_confirm" class="btn btn-danger">Delete {{ table.rows|length }} {{ model|meta:"verbose_name_plural" }}</button>
+        </div>
+      </form>
     </div>
+  </div>
 {% endblock content %}

+ 12 - 4
netbox/templates/generic/object_bulk_edit.html

@@ -3,7 +3,15 @@
 {% load form_helpers %}
 {% load render_table from django_tables2 %}
 
-{% block title %}Editing {{ table.rows|length }} {{ model|meta:"verbose_name_plural" }}{% endblock %}
+{% comment %}
+Context:
+  model: The model class of the objects being modified
+  form: The bulk edit form class
+  table: The table class for rendering list of objects being modified
+  return_url: The URL to which the user is redirected after submitting the form
+{% endcomment %}
+
+{% block title %}Editing {{ table.rows|length }} {{ model|meta:"verbose_name_plural"|bettertitle }}{% endblock %}
 
 {% block tabs %}
   <ul class="nav nav-tabs px-3">
@@ -19,7 +27,7 @@
       </button>
     </li>
   </ul>
-{% endblock %}
+{% endblock tabs %}
 
 {% block content-wrapper %}
   <div class="tab-content">
@@ -128,6 +136,6 @@
         </div>
       </div>
 
-    {% endblock %}
+    {% endblock content %}
   </div>
-{% endblock %}
+{% endblock content-wrapper %}

+ 11 - 3
netbox/templates/generic/object_bulk_import.html

@@ -2,7 +2,15 @@
 {% load helpers %}
 {% load form_helpers %}
 
-{% block title %}{{ obj_type|bettertitle }} Bulk Import{% endblock %}
+{% comment %}
+Context:
+  model: The model class being imported
+  form: The bulk import form
+  fields: A dictionary of form fields, to display import options (optional)
+  return_url: The URL to which the user is redirected after submitting the form
+{% endcomment %}
+
+{% block title %}{{ model|meta:"verbose_name"|bettertitle }} Bulk Import{% endblock %}
 
 {% block tabs %}
   <ul class="nav nav-tabs px-3">
@@ -10,7 +18,7 @@
       <a class ="nav-link active" href="#">Bulk Import</a>
     </li>
   </ul>
-{% endblock %}
+{% endblock tabs %}
 
 {% block content-wrapper %}
   <div class="tab-content">
@@ -145,4 +153,4 @@
         </div>
     {% endblock content %}
   </div>
-{% endblock %}
+{% endblock content-wrapper %}