netbox-plugin-dns 1.4.2__tar.gz → 1.4.3__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.4.2 → netbox_plugin_dns-1.4.3}/PKG-INFO +1 -1
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/__init__.py +1 -1
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/zone.py +1 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/filtersets/zone.py +1 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/forms/dnssec_policy.py +23 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/forms/zone.py +7 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/filters/zone.py +2 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/types.py +4 -1
- netbox_plugin_dns-1.4.3/netbox_dns/migrations/0026_alter_dnssecpolicy_nsec3_opt_out.py +18 -0
- netbox_plugin_dns-1.4.3/netbox_dns/migrations/0027_zone_comments.py +18 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/models/dnssec_policy.py +2 -3
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/models/zone.py +5 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/tables/dnssec_policy.py +6 -5
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/tables/record.py +6 -4
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/tables/record_template.py +10 -4
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/tables/view.py +2 -2
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/tables/zone.py +3 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/template_content.py +26 -6
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/dnssecpolicy.html +5 -1
- netbox_plugin_dns-1.4.3/netbox_dns/templates/netbox_dns/record/related.html +21 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/zone.html +1 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_plugin_dns.egg-info/PKG-INFO +1 -1
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_plugin_dns.egg-info/SOURCES.txt +2 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/pyproject.toml +1 -1
- netbox_plugin_dns-1.4.2/netbox_dns/templates/netbox_dns/record/related.html +0 -30
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/LICENSE +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/README.md +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/field_serializers.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/nested_serializers.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/dnssec_policy.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/prefix.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/record.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/record_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/registrar.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/view.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/urls.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/views.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/apps.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/choices/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/choices/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/choices/dnssec_policy.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/choices/record.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/choices/utilities.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/choices/zone.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/fields/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/fields/address.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/fields/choice_array.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/fields/ipam.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/fields/network.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/fields/rfc2317.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/fields/timeperiod.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/filtersets/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/filtersets/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/filtersets/dnssec_policy.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/filtersets/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/filtersets/record.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/filtersets/record_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/filtersets/registrar.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/filtersets/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/filtersets/view.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/filtersets/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/forms/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/forms/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/forms/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/forms/record.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/forms/record_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/forms/registrar.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/forms/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/forms/view.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/forms/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/enums.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/filter_lookups.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/filters/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/filters/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/filters/dnssec_policy.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/filters/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/filters/record.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/filters/record_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/filters/registrar.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/filters/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/filters/view.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/filters/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/graphql/schema.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/locale/de/LC_MESSAGES/django.mo +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/locale/en/LC_MESSAGES/django.mo +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/locale/fr/LC_MESSAGES/django.mo +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/management/commands/cleanup_database.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/management/commands/cleanup_rrset_ttl.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/management/commands/rebuild_dnssync.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/management/commands/setup_dnssync.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0001_squashed_netbox_dns_0_15.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0001_squashed_netbox_dns_0_22.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0002_contact_description_registrar_description.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0003_default_view.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0004_create_and_assign_default_view.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0005_alter_zone_view_not_null.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0006_templating.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0007_alter_ordering_options.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0008_view_prefixes.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0009_rename_contact_registrationcontact.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0010_view_ip_address_filter.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0011_rename_related_fields.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0012_natural_ordering.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0013_zonetemplate_soa_mname_zonetemplate_soa_rname.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0014_alter_unique_constraints_lowercase.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0015_dnssec.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0016_dnssec_policy_status.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0017_dnssec_policy_zone_zone_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0018_zone_domain_status_zone_expiration_date.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0019_dnssecpolicy_parental_agents.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0020_netbox_3_4.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0020_remove_dnssecpolicy_parental_agents_and_more.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0021_alter_record_ptr_record.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0021_record_ip_address.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0022_alter_record_ipam_ip_address.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0022_search.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0023_alter_record_value.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0023_disable_ptr_false.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0024_tenancy.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0024_zonetemplate_parental_agents.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0025_ipam_coupling_cf.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0025_remove_zone_inline_signing_and_more.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0026_domain_registration.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0027_alter_registrar_iana_id.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0028_rfc2317_fields.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/0029_record_fqdn.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/migrations/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/mixins/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/mixins/object_modification.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/models/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/models/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/models/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/models/record.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/models/record_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/models/registrar.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/models/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/models/view.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/models/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/navigation.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/signals/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/signals/dnssec.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/signals/ipam_dnssync.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/tables/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/tables/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/tables/ipam_dnssync.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/tables/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/tables/registrar.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/tables/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/tables/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/dnsseckeytemplate.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/nameserver.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/record/managed.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/record.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/recordtemplate.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/registrar.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/registrationcontact.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/view/button.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/view/prefix.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/view/related.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/view.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/zone/base.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/zone/child.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/zone/child_zone.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/zone/delegation_record.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/zone/managed_record.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/zone/record.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/zone/registration.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/zone/rfc2317_child_zone.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/zonetemplate/child.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templates/netbox_dns/zonetemplate.html +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templatetags/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/templatetags/netbox_dns.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/urls.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/utilities/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/utilities/conversions.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/utilities/dns.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/utilities/ipam_dnssync.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/validators/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/validators/dns_name.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/validators/dns_value.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/validators/dnssec.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/validators/rfc2317.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/views/__init__.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/views/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/views/dnssec_policy.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/views/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/views/record.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/views/record_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/views/registrar.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/views/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/views/view.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/views/zone.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/views/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_plugin_dns.egg-info/dependency_links.txt +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_plugin_dns.egg-info/requires.txt +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_plugin_dns.egg-info/top_level.txt +0 -0
- {netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/setup.cfg +0 -0
|
@@ -248,5 +248,6 @@ class ZoneFilterSet(TenancyFilterSet, NetBoxModelFilterSet):
|
|
|
248
248
|
| Q(admin_c__name__icontains=value)
|
|
249
249
|
| Q(tech_c__name__icontains=value)
|
|
250
250
|
| Q(billing_c__name__icontains=value)
|
|
251
|
+
| Q(comments__icontains=value)
|
|
251
252
|
)
|
|
252
253
|
return queryset.filter(qs_filter)
|
|
@@ -113,6 +113,14 @@ class DNSSECPolicyForm(TenancyForm, NetBoxModelForm):
|
|
|
113
113
|
),
|
|
114
114
|
)
|
|
115
115
|
|
|
116
|
+
def __init__(self, *args, **kwargs):
|
|
117
|
+
super().__init__(*args, **kwargs)
|
|
118
|
+
|
|
119
|
+
if not self.initial.get("use_nsec3"):
|
|
120
|
+
self.initial["nsec3_iterations"] = None
|
|
121
|
+
self.initial["nsec3_opt_out"] = None
|
|
122
|
+
self.initial["nsec3_salt_size"] = None
|
|
123
|
+
|
|
116
124
|
key_templates = DynamicModelMultipleChoiceField(
|
|
117
125
|
queryset=DNSSECKeyTemplate.objects.all(),
|
|
118
126
|
required=False,
|
|
@@ -180,6 +188,21 @@ class DNSSECPolicyForm(TenancyForm, NetBoxModelForm):
|
|
|
180
188
|
label=_("Parent Propagation Delay"),
|
|
181
189
|
placeholder=DNSSECPolicy.get_fallback_setting("parent_propagation_delay"),
|
|
182
190
|
)
|
|
191
|
+
nsec3_opt_out = forms.NullBooleanField(
|
|
192
|
+
required=False,
|
|
193
|
+
widget=forms.Select(choices=BOOLEAN_WITH_BLANK_CHOICES),
|
|
194
|
+
label=_("NSEC3 Opt-Out"),
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
def clean(self, *args, **kwargs):
|
|
198
|
+
super().clean(*args, **kwargs)
|
|
199
|
+
|
|
200
|
+
if not self.cleaned_data.get("use_nsec3"):
|
|
201
|
+
self.cleaned_data["nsec3_iterations"] = None
|
|
202
|
+
self.cleaned_data["nsec3_opt_out"] = None
|
|
203
|
+
self.cleaned_data["nsec3_salt_size"] = None
|
|
204
|
+
|
|
205
|
+
return self.cleaned_data
|
|
183
206
|
|
|
184
207
|
|
|
185
208
|
class DNSSECPolicyFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|
@@ -20,6 +20,7 @@ from utilities.forms.fields import (
|
|
|
20
20
|
CSVModelChoiceField,
|
|
21
21
|
CSVModelMultipleChoiceField,
|
|
22
22
|
DynamicModelChoiceField,
|
|
23
|
+
CommentField,
|
|
23
24
|
)
|
|
24
25
|
from utilities.forms.widgets import BulkEditNullBooleanSelect, DatePicker, HTMXSelect
|
|
25
26
|
from utilities.forms.rendering import FieldSet
|
|
@@ -194,6 +195,7 @@ class ZoneForm(ZoneTemplateUpdateMixin, TenancyForm, NetBoxModelForm):
|
|
|
194
195
|
"billing_c",
|
|
195
196
|
"tenant_group",
|
|
196
197
|
"tenant",
|
|
198
|
+
"comments",
|
|
197
199
|
"tags",
|
|
198
200
|
)
|
|
199
201
|
|
|
@@ -412,6 +414,8 @@ class ZoneForm(ZoneTemplateUpdateMixin, TenancyForm, NetBoxModelForm):
|
|
|
412
414
|
label=_("RFC2317 Prefix"),
|
|
413
415
|
)
|
|
414
416
|
|
|
417
|
+
comments = CommentField()
|
|
418
|
+
|
|
415
419
|
def clean_default_ttl(self):
|
|
416
420
|
return (
|
|
417
421
|
self.cleaned_data["default_ttl"]
|
|
@@ -641,6 +645,7 @@ class ZoneImportForm(ZoneTemplateUpdateMixin, NetBoxModelImportForm):
|
|
|
641
645
|
"tech_c",
|
|
642
646
|
"billing_c",
|
|
643
647
|
"tenant",
|
|
648
|
+
"comments",
|
|
644
649
|
"tags",
|
|
645
650
|
)
|
|
646
651
|
|
|
@@ -891,6 +896,7 @@ class ZoneBulkEditForm(NetBoxModelBulkEditForm):
|
|
|
891
896
|
"tech_c",
|
|
892
897
|
"billing_c",
|
|
893
898
|
"tenant",
|
|
899
|
+
"comments",
|
|
894
900
|
)
|
|
895
901
|
|
|
896
902
|
view = DynamicModelChoiceField(
|
|
@@ -1035,3 +1041,4 @@ class ZoneBulkEditForm(NetBoxModelBulkEditForm):
|
|
|
1035
1041
|
required=False,
|
|
1036
1042
|
label=_("Tenant"),
|
|
1037
1043
|
)
|
|
1044
|
+
comments = CommentField()
|
|
@@ -141,5 +141,7 @@ class NetBoxDNSZoneFilter(
|
|
|
141
141
|
rfc2317_parent_zone_id: ID | None = strawberry_django.filter_field()
|
|
142
142
|
rfc2317_parent_managed: FilterLookup[bool] | None = strawberry_django.filter_field()
|
|
143
143
|
|
|
144
|
+
comments: FilterLookup[str] | None = strawberry_django.filter_field()
|
|
145
|
+
|
|
144
146
|
arpa_network: FilterLookup[str] | None = strawberry_django.filter_field()
|
|
145
147
|
active: FilterLookup[bool] | None = strawberry_django.filter_field()
|
|
@@ -136,6 +136,9 @@ class NetBoxDNSZoneType(NetBoxObjectType):
|
|
|
136
136
|
rfc2317_child_zones: List[
|
|
137
137
|
Annotated["NetBoxDNSRecordType", strawberry.lazy("netbox_dns.graphql.types")]
|
|
138
138
|
]
|
|
139
|
+
|
|
140
|
+
comments: str | None
|
|
141
|
+
|
|
139
142
|
arpa_network: str | None
|
|
140
143
|
tenant: Annotated["TenantType", strawberry.lazy("tenancy.graphql.types")] | None
|
|
141
144
|
|
|
@@ -217,7 +220,7 @@ class NetBoxDNSDNSSECPolicyType(NetBoxObjectType):
|
|
|
217
220
|
parent_propagation_delay: BigInt | None
|
|
218
221
|
use_nsec3: bool
|
|
219
222
|
nsec3_iterations: BigInt | None
|
|
220
|
-
nsec3_opt_out: bool
|
|
223
|
+
nsec3_opt_out: bool | None
|
|
221
224
|
nsec3_salt_size: BigInt | None
|
|
222
225
|
|
|
223
226
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Generated by Django 5.2.6 on 2025-10-08 14:04
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("netbox_dns", "0025_remove_zone_inline_signing_and_more"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AlterField(
|
|
14
|
+
model_name="dnssecpolicy",
|
|
15
|
+
name="nsec3_opt_out",
|
|
16
|
+
field=models.BooleanField(blank=True, null=True),
|
|
17
|
+
),
|
|
18
|
+
]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Generated by Django 5.2.7 on 2025-10-24 12:10
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("netbox_dns", "0026_alter_dnssecpolicy_nsec3_opt_out"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AddField(
|
|
14
|
+
model_name="zone",
|
|
15
|
+
name="comments",
|
|
16
|
+
field=models.TextField(blank=True),
|
|
17
|
+
),
|
|
18
|
+
]
|
|
@@ -150,9 +150,8 @@ class DNSSECPolicy(ContactsMixin, NetBoxModel):
|
|
|
150
150
|
)
|
|
151
151
|
nsec3_opt_out = models.BooleanField(
|
|
152
152
|
verbose_name=_("NSEC3 Opt-Out"),
|
|
153
|
-
blank=
|
|
154
|
-
null=
|
|
155
|
-
default=False,
|
|
153
|
+
blank=True,
|
|
154
|
+
null=True,
|
|
156
155
|
)
|
|
157
156
|
nsec3_salt_size = models.PositiveIntegerField(
|
|
158
157
|
verbose_name=_("NSEC3 Salt Size"),
|
|
@@ -135,6 +135,7 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
135
135
|
"billing_c",
|
|
136
136
|
"rfc2317_parent_managed",
|
|
137
137
|
"tenant",
|
|
138
|
+
"comments",
|
|
138
139
|
}
|
|
139
140
|
|
|
140
141
|
objects = ZoneManager()
|
|
@@ -362,6 +363,10 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
362
363
|
blank=True,
|
|
363
364
|
null=True,
|
|
364
365
|
)
|
|
366
|
+
comments = models.TextField(
|
|
367
|
+
verbose_name=_("Comments"),
|
|
368
|
+
blank=True,
|
|
369
|
+
)
|
|
365
370
|
|
|
366
371
|
@property
|
|
367
372
|
def fqdn(self):
|
|
@@ -7,6 +7,7 @@ from netbox.tables import (
|
|
|
7
7
|
TagColumn,
|
|
8
8
|
ChoiceFieldColumn,
|
|
9
9
|
ActionsColumn,
|
|
10
|
+
BooleanColumn,
|
|
10
11
|
)
|
|
11
12
|
from tenancy.tables import TenancyColumnsMixin
|
|
12
13
|
|
|
@@ -77,7 +78,7 @@ class DNSSECPolicyTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
77
78
|
zone_propagation_delay = tables.Column(
|
|
78
79
|
verbose_name=_("Zone Propagation Delay"),
|
|
79
80
|
)
|
|
80
|
-
create_cdnskey =
|
|
81
|
+
create_cdnskey = BooleanColumn(
|
|
81
82
|
verbose_name=_("Create CDNSKEY"),
|
|
82
83
|
)
|
|
83
84
|
cds_digest_types = tables.Column(
|
|
@@ -89,13 +90,13 @@ class DNSSECPolicyTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
89
90
|
parent_propagation_delay = tables.Column(
|
|
90
91
|
verbose_name=_("Parent Propagation Delay"),
|
|
91
92
|
)
|
|
92
|
-
use_nsec3 =
|
|
93
|
+
use_nsec3 = BooleanColumn(
|
|
93
94
|
verbose_name=_("Use NSEC3"),
|
|
94
95
|
)
|
|
95
96
|
nsec3_iterations = tables.Column(
|
|
96
97
|
verbose_name=_("NSEC3 Iterations"),
|
|
97
98
|
)
|
|
98
|
-
nsec3_opt_out =
|
|
99
|
+
nsec3_opt_out = BooleanColumn(
|
|
99
100
|
verbose_name=_("NSEC3 Opt Out"),
|
|
100
101
|
)
|
|
101
102
|
nsec3_salt_size = tables.Column(
|
|
@@ -126,10 +127,10 @@ class DNSSECPolicyDisplayTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
126
127
|
status = ChoiceFieldColumn(
|
|
127
128
|
verbose_name=_("Status"),
|
|
128
129
|
)
|
|
129
|
-
create_cdnskey =
|
|
130
|
+
create_cdnskey = BooleanColumn(
|
|
130
131
|
verbose_name=_("Create CDNSKEY"),
|
|
131
132
|
)
|
|
132
|
-
use_nsec3 =
|
|
133
|
+
use_nsec3 = BooleanColumn(
|
|
133
134
|
verbose_name=_("Use NSEC3"),
|
|
134
135
|
)
|
|
135
136
|
tags = TagColumn(
|
|
@@ -8,6 +8,8 @@ from netbox.tables import (
|
|
|
8
8
|
ChoiceFieldColumn,
|
|
9
9
|
TagColumn,
|
|
10
10
|
ActionsColumn,
|
|
11
|
+
BooleanColumn,
|
|
12
|
+
TemplateColumn,
|
|
11
13
|
)
|
|
12
14
|
from tenancy.tables import TenancyColumnsMixin
|
|
13
15
|
|
|
@@ -44,11 +46,11 @@ class RecordBaseTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
44
46
|
verbose_name=_("FQDN"),
|
|
45
47
|
linkify=True,
|
|
46
48
|
)
|
|
47
|
-
value =
|
|
49
|
+
value = TemplateColumn(
|
|
48
50
|
verbose_name=_("Value"),
|
|
49
51
|
template_code="{{ value|truncatechars:64 }}",
|
|
50
52
|
)
|
|
51
|
-
unicode_value =
|
|
53
|
+
unicode_value = TemplateColumn(
|
|
52
54
|
verbose_name=_("Unicode Value"),
|
|
53
55
|
template_code="{{ value|truncatechars:64 }}",
|
|
54
56
|
accessor="value",
|
|
@@ -56,7 +58,7 @@ class RecordBaseTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
56
58
|
ttl = tables.Column(
|
|
57
59
|
verbose_name=_("TTL"),
|
|
58
60
|
)
|
|
59
|
-
active =
|
|
61
|
+
active = BooleanColumn(
|
|
60
62
|
verbose_name=_("Active"),
|
|
61
63
|
)
|
|
62
64
|
|
|
@@ -89,7 +91,7 @@ class RecordTable(RecordBaseTable):
|
|
|
89
91
|
status = ChoiceFieldColumn(
|
|
90
92
|
verbose_name=_("Status"),
|
|
91
93
|
)
|
|
92
|
-
disable_ptr =
|
|
94
|
+
disable_ptr = BooleanColumn(
|
|
93
95
|
verbose_name=_("Disable PTR"),
|
|
94
96
|
)
|
|
95
97
|
tags = TagColumn(
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import django_tables2 as tables
|
|
2
2
|
from django.utils.translation import gettext_lazy as _
|
|
3
3
|
|
|
4
|
-
from netbox.tables import
|
|
4
|
+
from netbox.tables import (
|
|
5
|
+
ActionsColumn,
|
|
6
|
+
BooleanColumn,
|
|
7
|
+
NetBoxTable,
|
|
8
|
+
TagColumn,
|
|
9
|
+
TemplateColumn,
|
|
10
|
+
)
|
|
5
11
|
from tenancy.tables import TenancyColumnsMixin
|
|
6
12
|
|
|
7
13
|
from netbox_dns.models import RecordTemplate
|
|
@@ -42,11 +48,11 @@ class RecordTemplateTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
42
48
|
type = tables.Column(
|
|
43
49
|
verbose_name=_("Type"),
|
|
44
50
|
)
|
|
45
|
-
value =
|
|
51
|
+
value = TemplateColumn(
|
|
46
52
|
verbose_name=_("Value"),
|
|
47
53
|
template_code="{{ value|truncatechars:64 }}",
|
|
48
54
|
)
|
|
49
|
-
unicode_value =
|
|
55
|
+
unicode_value = TemplateColumn(
|
|
50
56
|
verbose_name=_("Unicode Value"),
|
|
51
57
|
template_code="{{ value|truncatechars:64 }}",
|
|
52
58
|
accessor="value",
|
|
@@ -54,7 +60,7 @@ class RecordTemplateTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
54
60
|
ttl = tables.Column(
|
|
55
61
|
verbose_name=_("TTL"),
|
|
56
62
|
)
|
|
57
|
-
disable_ptr =
|
|
63
|
+
disable_ptr = BooleanColumn(
|
|
58
64
|
verbose_name=_("Disable PTR"),
|
|
59
65
|
)
|
|
60
66
|
tags = TagColumn(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import django_tables2 as tables
|
|
2
2
|
from django.utils.translation import gettext_lazy as _
|
|
3
3
|
|
|
4
|
-
from netbox.tables import NetBoxTable, TagColumn
|
|
4
|
+
from netbox.tables import ActionsColumn, BooleanColumn, NetBoxTable, TagColumn
|
|
5
5
|
from tenancy.tables import TenancyColumnsMixin
|
|
6
6
|
|
|
7
7
|
from netbox_dns.models import View
|
|
@@ -31,7 +31,7 @@ class ViewTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
31
31
|
verbose_name=_("Name"),
|
|
32
32
|
linkify=True,
|
|
33
33
|
)
|
|
34
|
-
default_view =
|
|
34
|
+
default_view = BooleanColumn(
|
|
35
35
|
verbose_name=_("Default View"),
|
|
36
36
|
)
|
|
37
37
|
tags = TagColumn(url_name="plugins:netbox_dns:view_list")
|
|
@@ -6,6 +6,7 @@ from netbox.tables import (
|
|
|
6
6
|
NetBoxTable,
|
|
7
7
|
TagColumn,
|
|
8
8
|
ActionsColumn,
|
|
9
|
+
columns,
|
|
9
10
|
)
|
|
10
11
|
from tenancy.tables import TenancyColumnsMixin
|
|
11
12
|
|
|
@@ -30,6 +31,7 @@ class ZoneTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
30
31
|
"registry_domain_id",
|
|
31
32
|
"expiration_date",
|
|
32
33
|
"domain_status",
|
|
34
|
+
"comments",
|
|
33
35
|
)
|
|
34
36
|
|
|
35
37
|
default_columns = (
|
|
@@ -94,6 +96,7 @@ class ZoneTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
94
96
|
verbose_name=_("Billing Contact"),
|
|
95
97
|
linkify=True,
|
|
96
98
|
)
|
|
99
|
+
comments = columns.MarkdownColumn()
|
|
97
100
|
|
|
98
101
|
def render_name(self, value, record):
|
|
99
102
|
return record.display_name
|
|
@@ -48,8 +48,18 @@ class RelatedDNSRecords(PluginTemplateExtension):
|
|
|
48
48
|
return self.render(
|
|
49
49
|
"netbox_dns/record/related.html",
|
|
50
50
|
extra_context={
|
|
51
|
-
"
|
|
52
|
-
|
|
51
|
+
"address_card_title": (
|
|
52
|
+
_("Synchronized Address Records")
|
|
53
|
+
if len(address_records) > 1
|
|
54
|
+
else _("Synchronized Address Record")
|
|
55
|
+
),
|
|
56
|
+
"address_record_table": address_record_table,
|
|
57
|
+
"pointer_card_title": (
|
|
58
|
+
_("Synchronized Pointer Records")
|
|
59
|
+
if len(pointer_records) > 1
|
|
60
|
+
else _("Synchronized Pointer Record")
|
|
61
|
+
),
|
|
62
|
+
"pointer_record_table": pointer_record_table,
|
|
53
63
|
},
|
|
54
64
|
)
|
|
55
65
|
|
|
@@ -99,11 +109,11 @@ class IPRelatedDNSRecords(PluginTemplateExtension):
|
|
|
99
109
|
address_records = Record.objects.filter(
|
|
100
110
|
type__in=(RecordTypeChoices.A, RecordTypeChoices.AAAA),
|
|
101
111
|
ip_address=ip_address.address.ip,
|
|
102
|
-
)
|
|
112
|
+
).exclude(ipam_ip_address=ip_address)
|
|
103
113
|
pointer_records = Record.objects.filter(
|
|
104
114
|
type=RecordTypeChoices.PTR,
|
|
105
115
|
ip_address=ip_address.address.ip,
|
|
106
|
-
)
|
|
116
|
+
).exclude(address_records__ipam_ip_address__in=[ip_address])
|
|
107
117
|
|
|
108
118
|
if address_records:
|
|
109
119
|
address_record_table = RelatedRecordTable(
|
|
@@ -124,8 +134,18 @@ class IPRelatedDNSRecords(PluginTemplateExtension):
|
|
|
124
134
|
return self.render(
|
|
125
135
|
"netbox_dns/record/related.html",
|
|
126
136
|
extra_context={
|
|
127
|
-
"
|
|
128
|
-
|
|
137
|
+
"address_card_title": (
|
|
138
|
+
_("Related Address Records")
|
|
139
|
+
if len(address_records) > 1
|
|
140
|
+
else _("Related Address Record")
|
|
141
|
+
),
|
|
142
|
+
"address_record_table": address_record_table,
|
|
143
|
+
"pointer_card_title": (
|
|
144
|
+
_("Related Pointer Records")
|
|
145
|
+
if len(pointer_records) > 1
|
|
146
|
+
else _("Related Pointer Record")
|
|
147
|
+
),
|
|
148
|
+
"pointer_record_table": pointer_record_table,
|
|
129
149
|
},
|
|
130
150
|
)
|
|
131
151
|
|
|
@@ -138,7 +138,11 @@
|
|
|
138
138
|
</tr>
|
|
139
139
|
<tr>
|
|
140
140
|
<th scope="row">{% trans "NSEC3 Opt Out" %}</th>
|
|
141
|
-
|
|
141
|
+
{% if object.nsec3_opt_out is None %}
|
|
142
|
+
<td>{{ ''|placeholder }}</td>
|
|
143
|
+
{% else %}
|
|
144
|
+
<td>{% checkmark object.nsec3_opt_out %}</td>
|
|
145
|
+
{% endif %}
|
|
142
146
|
</tr>
|
|
143
147
|
<tr>
|
|
144
148
|
<th scope="row">{% trans "NSEC3 Salt Size" %}</th>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{% load render_table from django_tables2 %}
|
|
2
|
+
{% load perms %}
|
|
3
|
+
|
|
4
|
+
{% if perms.netbox_dns.view_record %}
|
|
5
|
+
{% if address_record_table %}
|
|
6
|
+
<div class="card">
|
|
7
|
+
<h2 class="card-header">{{ address_card_title }}</h2>
|
|
8
|
+
<div class="table-responsive">
|
|
9
|
+
{% render_table address_record_table 'inc/table.html' %}
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
{% endif %}
|
|
13
|
+
{% if pointer_record_table %}
|
|
14
|
+
<div class="card">
|
|
15
|
+
<h2 class="card-header">{{ pointer_card_title }}</h2>
|
|
16
|
+
<div class="table-responsive">
|
|
17
|
+
{% render_table pointer_record_table 'inc/table.html' %}
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
{% endif %}
|
|
21
|
+
{% endif %}
|
|
@@ -113,8 +113,10 @@ netbox_dns/migrations/0024_tenancy.py
|
|
|
113
113
|
netbox_dns/migrations/0024_zonetemplate_parental_agents.py
|
|
114
114
|
netbox_dns/migrations/0025_ipam_coupling_cf.py
|
|
115
115
|
netbox_dns/migrations/0025_remove_zone_inline_signing_and_more.py
|
|
116
|
+
netbox_dns/migrations/0026_alter_dnssecpolicy_nsec3_opt_out.py
|
|
116
117
|
netbox_dns/migrations/0026_domain_registration.py
|
|
117
118
|
netbox_dns/migrations/0027_alter_registrar_iana_id.py
|
|
119
|
+
netbox_dns/migrations/0027_zone_comments.py
|
|
118
120
|
netbox_dns/migrations/0028_rfc2317_fields.py
|
|
119
121
|
netbox_dns/migrations/0029_record_fqdn.py
|
|
120
122
|
netbox_dns/migrations/__init__.py
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
{% load render_table from django_tables2 %}
|
|
2
|
-
{% load perms %}
|
|
3
|
-
{% load i18n %}
|
|
4
|
-
|
|
5
|
-
{% if perms.netbox_dns.view_record %}
|
|
6
|
-
{% if related_address_records %}
|
|
7
|
-
<div class="card">
|
|
8
|
-
{% if related_address_records.rows|length == 1 %}
|
|
9
|
-
<h2 class="card-header">{% trans "Related DNS Address Record" %}</h2>
|
|
10
|
-
{% else %}
|
|
11
|
-
<h2 class="card-header">{% trans "Related DNS Address Records" %}</h2>
|
|
12
|
-
{% endif %}
|
|
13
|
-
<div class="table-responsive">
|
|
14
|
-
{% render_table related_address_records 'inc/table.html' %}
|
|
15
|
-
</div>
|
|
16
|
-
</div>
|
|
17
|
-
{% endif %}
|
|
18
|
-
{% if related_pointer_records %}
|
|
19
|
-
<div class="card">
|
|
20
|
-
{% if related_pointer_records.rows|length == 1 %}
|
|
21
|
-
<h2 class="card-header">{% trans "Related DNS Pointer Record" %}</h2>
|
|
22
|
-
{% else %}
|
|
23
|
-
<h2 class="card-header">{% trans "Related DNS Pointer Records" %}</h2>
|
|
24
|
-
{% endif %}
|
|
25
|
-
<div class="table-responsive">
|
|
26
|
-
{% render_table related_pointer_records 'inc/table.html' %}
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
29
|
-
{% endif %}
|
|
30
|
-
{% endif %}
|
|
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.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/dnssec_policy.py
RENAMED
|
File without changes
|
{netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/nameserver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/record_template.py
RENAMED
|
File without changes
|
{netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/registrar.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/api/serializers_/zone_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/choices/dnssec_key_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
|
{netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/filtersets/dnssec_key_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.4.2 → netbox_plugin_dns-1.4.3}/netbox_dns/filtersets/record_template.py
RENAMED
|
File without changes
|