netbox-plugin-dns 1.1.0b4__tar.gz → 1.1.0b5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of netbox-plugin-dns might be problematic. Click here for more details.
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/PKG-INFO +1 -1
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/__init__.py +1 -1
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/views.py +2 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/fields/ipam.py +0 -3
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/tables/record.py +36 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/views/record.py +5 -3
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/pyproject.toml +1 -1
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/LICENSE +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/README.md +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/nested_serializers.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/contact.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/nameserver.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/prefix.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/record.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/record_template.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/registrar.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/view.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/zone.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/zone_template.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/urls.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/apps.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/choices/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/choices/record.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/choices/zone.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/fields/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/fields/address.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/fields/network.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/fields/rfc2317.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/filtersets/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/filtersets/contact.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/filtersets/nameserver.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/filtersets/record.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/filtersets/record_template.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/filtersets/registrar.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/filtersets/view.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/filtersets/zone.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/filtersets/zone_template.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/forms/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/forms/contact.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/forms/nameserver.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/forms/record.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/forms/record_template.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/forms/registrar.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/forms/view.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/forms/zone.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/forms/zone_template.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/graphql/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/graphql/filters.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/graphql/schema.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/graphql/types.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/management/commands/cleanup_database.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/management/commands/cleanup_rrset_ttl.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/management/commands/setup_dnssync.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/management/commands/update_soa.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0001_squashed_netbox_dns_0_15.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0001_squashed_netbox_dns_0_22.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0002_contact_description_registrar_description.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0003_default_view.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0004_create_and_assign_default_view.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0005_alter_zone_view_not_null.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0006_templating.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0007_view_prefixes.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0020_netbox_3_4.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0021_record_ip_address.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0022_search.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0023_alter_record_value.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0024_tenancy.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0025_ipam_coupling_cf.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0026_domain_registration.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0027_alter_registrar_iana_id.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0028_rfc2317_fields.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0029_record_fqdn.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/mixins/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/mixins/object_modification.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/models/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/models/contact.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/models/nameserver.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/models/record.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/models/record_template.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/models/registrar.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/models/view.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/models/zone.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/models/zone_template.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/navigation.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/signals/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/signals/ipam_dnssync.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/tables/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/tables/contact.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/tables/ipam_dnssync.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/tables/nameserver.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/tables/record_template.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/tables/registrar.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/tables/view.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/tables/zone.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/tables/zone_template.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/template_content.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/contact.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/nameserver.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/record/managed.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/record/related.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/record.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/recordtemplate.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/registrar.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/view/button.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/view/prefix.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/view/related.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/view.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/zone/base.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/zone/child.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/zone/child_zone.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/zone/managed_record.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/zone/record.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/zone/registration.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/zone/rfc2317_child_zone.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/zone.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/zonetemplate.html +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/urls/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/urls/contact.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/urls/nameserver.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/urls/record.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/urls/record_template.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/urls/registrar.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/urls/view.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/urls/zone.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/urls/zone_template.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/utilities/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/utilities/conversions.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/utilities/ipam_dnssync.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/validators/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/validators/dns_name.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/validators/dns_value.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/validators/rfc2317.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/views/__init__.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/views/contact.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/views/nameserver.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/views/record_template.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/views/registrar.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/views/view.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/views/zone.py +0 -0
- {netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/views/zone_template.py +0 -0
|
@@ -4,6 +4,7 @@ from rest_framework.response import Response
|
|
|
4
4
|
from rest_framework.routers import APIRootView
|
|
5
5
|
|
|
6
6
|
from ipam.models import Prefix
|
|
7
|
+
from ipam.filtersets import PrefixFilterSet
|
|
7
8
|
|
|
8
9
|
from netbox.api.viewsets import NetBoxModelViewSet
|
|
9
10
|
|
|
@@ -160,3 +161,4 @@ class RecordTemplateViewSet(NetBoxModelViewSet):
|
|
|
160
161
|
class PrefixViewSet(NetBoxModelViewSet):
|
|
161
162
|
queryset = Prefix.objects.all()
|
|
162
163
|
serializer_class = PrefixSerializer
|
|
164
|
+
filterset_class = PrefixFilterSet
|
|
@@ -6,9 +6,6 @@ __all__ = ("PrefixDynamicModelMultipleChoiceField",)
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class PrefixDynamicModelMultipleChoiceField(DynamicModelMultipleChoiceField):
|
|
9
|
-
def __init__(self, *args, **kwargs):
|
|
10
|
-
super().__init__(*args, **kwargs)
|
|
11
|
-
|
|
12
9
|
widget = APISelectMultiple(api_url="/api/plugins/netbox-dns/prefixes")
|
|
13
10
|
|
|
14
11
|
def label_from_instance(self, obj):
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import django_tables2 as tables
|
|
2
|
+
from django_tables2.utils import Accessor
|
|
3
|
+
from django.utils.html import format_html
|
|
4
|
+
|
|
2
5
|
|
|
3
6
|
from netbox.tables import (
|
|
4
7
|
NetBoxTable,
|
|
@@ -6,11 +9,16 @@ from netbox.tables import (
|
|
|
6
9
|
TagColumn,
|
|
7
10
|
ActionsColumn,
|
|
8
11
|
)
|
|
12
|
+
from ipam.lookups import Host, Inet
|
|
9
13
|
from tenancy.tables import TenancyColumnsMixin
|
|
10
14
|
|
|
11
15
|
from netbox_dns.models import Record
|
|
12
16
|
from netbox_dns.utilities import value_to_unicode
|
|
13
17
|
|
|
18
|
+
import logging
|
|
19
|
+
|
|
20
|
+
logger = logging.getLogger("netbox_dns")
|
|
21
|
+
|
|
14
22
|
|
|
15
23
|
__all__ = (
|
|
16
24
|
"RecordTable",
|
|
@@ -100,6 +108,11 @@ class ManagedRecordTable(RecordBaseTable):
|
|
|
100
108
|
verbose_name="IPAM IP Address",
|
|
101
109
|
linkify=True,
|
|
102
110
|
)
|
|
111
|
+
related_ip_address = tables.Column(
|
|
112
|
+
verbose_name="Related IP Address",
|
|
113
|
+
empty_values=(),
|
|
114
|
+
orderable=False,
|
|
115
|
+
)
|
|
103
116
|
actions = ActionsColumn(actions=("changelog",))
|
|
104
117
|
|
|
105
118
|
class Meta(NetBoxTable.Meta):
|
|
@@ -113,6 +126,7 @@ class ManagedRecordTable(RecordBaseTable):
|
|
|
113
126
|
"unicode_value",
|
|
114
127
|
"address_record",
|
|
115
128
|
"ipam_ip_address",
|
|
129
|
+
"related_ip_address",
|
|
116
130
|
"active",
|
|
117
131
|
)
|
|
118
132
|
default_columns = (
|
|
@@ -124,6 +138,28 @@ class ManagedRecordTable(RecordBaseTable):
|
|
|
124
138
|
"active",
|
|
125
139
|
)
|
|
126
140
|
|
|
141
|
+
def render_related_ip_address(self, record):
|
|
142
|
+
if record.ipam_ip_address is not None:
|
|
143
|
+
address = record.ipam_ip_address
|
|
144
|
+
elif (
|
|
145
|
+
hasattr(record, "address_record")
|
|
146
|
+
and record.address_record.ipam_ip_address is not None
|
|
147
|
+
):
|
|
148
|
+
address = record.address_record.ipam_ip_address
|
|
149
|
+
else:
|
|
150
|
+
return format_html("—")
|
|
151
|
+
|
|
152
|
+
return format_html(f"<a href='{address.get_absolute_url()}'>{address}</a>")
|
|
153
|
+
|
|
154
|
+
def value_related_ip_address(self, record):
|
|
155
|
+
if record.ipam_ip_address is not None:
|
|
156
|
+
return record.ipam_ip_address
|
|
157
|
+
elif (
|
|
158
|
+
hasattr(record, "address_record")
|
|
159
|
+
and record.address_record.ipam_ip_address is not None
|
|
160
|
+
):
|
|
161
|
+
return record.address_record.ipam_ip_address
|
|
162
|
+
|
|
127
163
|
|
|
128
164
|
class RelatedRecordTable(RecordBaseTable):
|
|
129
165
|
actions = ActionsColumn(actions=())
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
from dns import name as dns_name
|
|
2
2
|
|
|
3
|
+
from django.db.models import F, Q, Case, When, OuterRef, Subquery
|
|
4
|
+
|
|
3
5
|
from netbox.views import generic
|
|
6
|
+
from ipam.fields import IPAddressField
|
|
7
|
+
from ipam.models import IPAddress
|
|
4
8
|
|
|
5
9
|
from netbox_dns.filtersets import RecordFilterSet
|
|
6
10
|
from netbox_dns.forms import (
|
|
@@ -37,9 +41,7 @@ class RecordListView(generic.ObjectListView):
|
|
|
37
41
|
|
|
38
42
|
|
|
39
43
|
class ManagedRecordListView(generic.ObjectListView):
|
|
40
|
-
queryset = Record.objects.
|
|
41
|
-
"zone", "address_record"
|
|
42
|
-
)
|
|
44
|
+
queryset = Record.objects.prefetch_related("ipam_ip_address", "address_record")
|
|
43
45
|
filterset = RecordFilterSet
|
|
44
46
|
filterset_form = RecordFilterForm
|
|
45
47
|
table = ManagedRecordTable
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "netbox-plugin-dns"
|
|
3
|
-
version = "1.1.
|
|
3
|
+
version = "1.1.0b5"
|
|
4
4
|
description = "NetBox DNS is a NetBox plugin for managing DNS data."
|
|
5
5
|
authors = ["Peter Eckel <pete@netbox-dns.org>"]
|
|
6
6
|
homepage = "https://github.com/peteeckel/netbox-plugin-dns"
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/nested_serializers.py
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/__init__.py
RENAMED
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/contact.py
RENAMED
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/nameserver.py
RENAMED
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/prefix.py
RENAMED
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/record.py
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/registrar.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/api/serializers_/zone_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/filtersets/record_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/filtersets/zone_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/management/commands/update_soa.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0003_default_view.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0006_templating.py
RENAMED
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0007_view_prefixes.py
RENAMED
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0020_netbox_3_4.py
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0022_search.py
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0024_tenancy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0028_rfc2317_fields.py
RENAMED
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/migrations/0029_record_fqdn.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/mixins/object_modification.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/models/record_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/tables/record_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/contact.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/record.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/view.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/templates/netbox_dns/zone.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.1.0b4 → netbox_plugin_dns-1.1.0b5}/netbox_dns/utilities/ipam_dnssync.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|