diff --git a/docs/release-notes/version-3.0.md b/docs/release-notes/version-3.0.md index 160f8b892..e88d1fc6f 100644 --- a/docs/release-notes/version-3.0.md +++ b/docs/release-notes/version-3.0.md @@ -6,6 +6,7 @@ * [#7070](https://github.com/netbox-community/netbox/issues/7070) - Fix exception when filtering by prefix max length in UI * [#7071](https://github.com/netbox-community/netbox/issues/7071) - Fix exception when removing a primary IP from a device/VM +* [#7072](https://github.com/netbox-community/netbox/issues/7072) - Fix table configuration under prefix child object views * [#7083](https://github.com/netbox-community/netbox/issues/7083) - Correct labeling for VM memory attribute * [#7084](https://github.com/netbox-community/netbox/issues/7084) - Fix KeyError exception when editing access VLAN on an interface * [#7096](https://github.com/netbox-community/netbox/issues/7096) - Home links should honor `BASE_PATH` configuration diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index eed03885e..5151fdd20 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -404,12 +404,11 @@ class PrefixPrefixesView(generic.ObjectView): bulk_querystring = 'vrf_id={}&within={}'.format(instance.vrf.pk if instance.vrf else '0', instance.prefix) return { - 'first_available_prefix': instance.get_first_available_prefix(), 'table': table, 'bulk_querystring': bulk_querystring, 'active_tab': 'prefixes', + 'first_available_prefix': instance.get_first_available_prefix(), 'show_available': request.GET.get('show_available', 'true') == 'true', - 'table_config_form': TableConfigForm(table=table), } @@ -421,7 +420,7 @@ class PrefixIPRangesView(generic.ObjectView): # Find all IPRanges belonging to this Prefix ip_ranges = instance.get_child_ranges().restrict(request.user, 'view').prefetch_related('vrf') - table = tables.IPRangeTable(ip_ranges) + table = tables.IPRangeTable(ip_ranges, user=request.user) if request.user.has_perm('ipam.change_iprange') or request.user.has_perm('ipam.delete_iprange'): table.columns.show('pk') paginate_table(table, request) @@ -449,7 +448,7 @@ class PrefixIPAddressesView(generic.ObjectView): if request.GET.get('show_available', 'true') == 'true': ipaddresses = add_available_ipaddresses(instance.prefix, ipaddresses, instance.is_pool) - table = tables.IPAddressTable(ipaddresses) + table = tables.IPAddressTable(ipaddresses, user=request.user) if request.user.has_perm('ipam.change_ipaddress') or request.user.has_perm('ipam.delete_ipaddress'): table.columns.show('pk') paginate_table(table, request) @@ -457,10 +456,10 @@ class PrefixIPAddressesView(generic.ObjectView): bulk_querystring = 'vrf_id={}&parent={}'.format(instance.vrf.pk if instance.vrf else '0', instance.prefix) return { - 'first_available_ip': instance.get_first_available_ip(), 'table': table, 'bulk_querystring': bulk_querystring, 'active_tab': 'ip-addresses', + 'first_available_ip': instance.get_first_available_ip(), 'show_available': request.GET.get('show_available', 'true') == 'true', } diff --git a/netbox/netbox/views/generic.py b/netbox/netbox/views/generic.py index b00999b15..aafb2f3d8 100644 --- a/netbox/netbox/views/generic.py +++ b/netbox/netbox/views/generic.py @@ -181,7 +181,6 @@ class ObjectListView(ObjectPermissionRequiredMixin, View): 'table': table, 'permissions': permissions, 'action_buttons': self.action_buttons, - 'table_config_form': TableConfigForm(table=table), 'filter_form': self.filterset_form(request.GET, label_suffix='') if self.filterset_form else None, } context.update(self.extra_context()) diff --git a/netbox/templates/ipam/prefix/ip_addresses.html b/netbox/templates/ipam/prefix/ip_addresses.html index e8c9704bb..0b1fe83b4 100644 --- a/netbox/templates/ipam/prefix/ip_addresses.html +++ b/netbox/templates/ipam/prefix/ip_addresses.html @@ -1,4 +1,6 @@ {% extends 'ipam/prefix/base.html' %} +{% load helpers %} +{% load static %} {% block extra_controls %} {% if perms.ipam.add_ipaddress and active_tab == 'ip-addresses' and first_available_ip %} @@ -11,7 +13,13 @@ {% block content %}
+ {% include 'inc/table_controls.html' with table_modal="IPAddressTable_config" %} {% include 'utilities/obj_table.html' with heading='IP Addresses' bulk_edit_url='ipam:ipaddress_bulk_edit' bulk_delete_url='ipam:ipaddress_bulk_delete' %}
+ {% table_config_form table table_name="IPAddressTable" %} +{% endblock %} + +{% block javascript %} + {% endblock %} diff --git a/netbox/templates/ipam/prefix/ip_ranges.html b/netbox/templates/ipam/prefix/ip_ranges.html index 334cc90b0..18b53d945 100644 --- a/netbox/templates/ipam/prefix/ip_ranges.html +++ b/netbox/templates/ipam/prefix/ip_ranges.html @@ -1,10 +1,17 @@ {% extends 'ipam/prefix/base.html' %} - +{% load helpers %} +{% load static %} {% block content %}
+ {% include 'inc/table_controls.html' with table_modal="IPRangeTable_config" %} {% include 'utilities/obj_table.html' with heading='Child IP Ranges' bulk_edit_url='ipam:prefix_bulk_edit' bulk_delete_url='ipam:prefix_bulk_delete' parent=prefix %}
+ {% table_config_form table table_name="IPRangeTable" %} +{% endblock %} + +{% block javascript %} + {% endblock %} diff --git a/netbox/templates/ipam/prefix/prefixes.html b/netbox/templates/ipam/prefix/prefixes.html index 998b7b70b..6dcbed77d 100644 --- a/netbox/templates/ipam/prefix/prefixes.html +++ b/netbox/templates/ipam/prefix/prefixes.html @@ -2,20 +2,17 @@ {% load helpers %} {% load static %} -{% block buttons %} +{% block extra_controls %} {% include 'ipam/inc/toggle_available.html' %} - {% if request.user.is_authenticated and table_config_form %} - - {% endif %} {% if perms.ipam.add_prefix and active_tab == 'prefixes' and first_available_prefix %} - + Add Child Prefix {% endif %} {% if perms.ipam.add_ipaddress and active_tab == 'ip-addresses' and first_available_ip %} - + - Add an IP Address + Add Child IP Address {% endif %} {{ block.super }} @@ -24,12 +21,13 @@ {% block content %}
+ {% include 'inc/table_controls.html' with table_modal="PrefixDetailTable_config" %} {% include 'utilities/obj_table.html' with heading='Child Prefixes' bulk_edit_url='ipam:prefix_bulk_edit' bulk_delete_url='ipam:prefix_bulk_delete' parent=prefix %}
- {% table_config_form prefix_table table_name="PrefixDetailTable" %} + {% table_config_form table table_name="PrefixDetailTable" %} {% endblock %} {% block javascript %} - + {% endblock %} diff --git a/netbox/templates/utilities/templatetags/table_config_form.html b/netbox/templates/utilities/templatetags/table_config_form.html index 3c44642d4..5e17497e9 100644 --- a/netbox/templates/utilities/templatetags/table_config_form.html +++ b/netbox/templates/utilities/templatetags/table_config_form.html @@ -7,11 +7,11 @@ -
+