From 624eda297f1e240061b02997ddec2b19ef99f1cf Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 7 Feb 2022 16:50:17 -0500 Subject: [PATCH] Clean up and document object, object list templates --- netbox/dcim/views.py | 7 +-- netbox/netbox/views/generic/bulk_views.py | 4 +- netbox/templates/dcim/device/base.html | 8 +--- netbox/templates/dcim/devicetype/base.html | 8 +--- netbox/templates/dcim/moduletype.html | 2 - netbox/templates/dcim/moduletype/base.html | 8 +--- netbox/templates/generic/object.html | 28 ++++++++++-- netbox/templates/generic/object_list.html | 53 ++++++++++++++-------- netbox/templates/ipam/aggregate/base.html | 7 +-- netbox/templates/ipam/iprange/base.html | 7 +-- netbox/templates/ipam/prefix/base.html | 7 +-- 11 files changed, 67 insertions(+), 72 deletions(-) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index c70f33074..1df1eb1ac 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -803,7 +803,6 @@ class DeviceTypeView(generic.ObjectView): return { 'instance_count': instance_count, - 'active_tab': 'devicetype', } @@ -953,11 +952,10 @@ class ModuleTypeView(generic.ObjectView): queryset = ModuleType.objects.prefetch_related('manufacturer') def get_extra_context(self, request, instance): - # instance_count = Module.objects.restrict(request.user).filter(device_type=instance).count() + instance_count = Module.objects.restrict(request.user).filter(module_type=instance).count() return { - # 'instance_count': instance_count, - 'active_tab': 'moduletype', + 'instance_count': instance_count, } @@ -1570,7 +1568,6 @@ class DeviceView(generic.ObjectView): return { 'services': services, 'vc_members': vc_members, - 'active_tab': 'device', } diff --git a/netbox/netbox/views/generic/bulk_views.py b/netbox/netbox/views/generic/bulk_views.py index 8a6d1e49f..69ab42199 100644 --- a/netbox/netbox/views/generic/bulk_views.py +++ b/netbox/netbox/views/generic/bulk_views.py @@ -7,7 +7,7 @@ from django.contrib.contenttypes.models import ContentType from django.core.exceptions import FieldDoesNotExist, ValidationError from django.db import transaction, IntegrityError from django.db.models import ManyToManyField, ProtectedError -from django.forms import Form, ModelMultipleChoiceField, MultipleHiddenInput, Textarea +from django.forms import Form, ModelMultipleChoiceField, MultipleHiddenInput from django.http import HttpResponse from django.shortcuts import get_object_or_404, redirect, render from django_tables2.export import TableExport @@ -178,7 +178,7 @@ class ObjectListView(BaseMultiObjectView): }) context = { - 'content_type': content_type, + 'model': model, 'table': table, 'permissions': permissions, 'action_buttons': self.action_buttons, diff --git a/netbox/templates/dcim/device/base.html b/netbox/templates/dcim/device/base.html index 4d24717cd..ff139ee4a 100644 --- a/netbox/templates/dcim/device/base.html +++ b/netbox/templates/dcim/device/base.html @@ -95,13 +95,7 @@ {% endif %} {% endblock %} -{% block tab_items %} - - +{% block extra_tabs %} {% with tab_name='device-bays' devicebay_count=object.devicebays.count %} {% if active_tab == tab_name or devicebay_count %} - +{% block extra_tabs %} {% with tab_name='device-bay-templates' devicebay_count=object.devicebaytemplates.count %} {% if active_tab == tab_name or devicebay_count %} - +{% block extra_tabs %} {% with interface_count=object.interfacetemplates.count %} {% if interface_count %}
  • elements) + object_identifier: Unique identifier for the object + extra_controls: Additional action buttons to display + extra_tabs: Additional tabs to include + content: Page content + +Context: + object: The object instance being viewed +{% endcomment %} + {% block header %}
    {# Breadcrumbs #} @@ -66,11 +78,15 @@ {% block tabs %}