netbox-plugin-dns 1.3.2__tar.gz → 1.3.4__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.

Files changed (202) hide show
  1. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/PKG-INFO +1 -1
  2. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/__init__.py +1 -1
  3. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/forms/zone.py +9 -2
  4. netbox_plugin_dns-1.3.4/netbox_dns/locale/de/LC_MESSAGES/django.mo +0 -0
  5. netbox_plugin_dns-1.3.4/netbox_dns/locale/fr/LC_MESSAGES/django.mo +0 -0
  6. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/models/zone.py +30 -24
  7. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/models/zone_template.py +2 -0
  8. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/zone/base.html +1 -1
  9. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/zone.html +7 -0
  10. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/utilities/ipam_dnssync.py +9 -4
  11. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/views/zone.py +2 -0
  12. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_plugin_dns.egg-info/PKG-INFO +1 -1
  13. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/pyproject.toml +4 -2
  14. netbox_plugin_dns-1.3.2/netbox_dns/locale/de/LC_MESSAGES/django.mo +0 -0
  15. netbox_plugin_dns-1.3.2/netbox_dns/locale/fr/LC_MESSAGES/django.mo +0 -0
  16. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/LICENSE +0 -0
  17. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/README.md +0 -0
  18. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/field_serializers.py +0 -0
  19. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/nested_serializers.py +0 -0
  20. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/serializers.py +0 -0
  21. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/serializers_/__init__.py +0 -0
  22. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/serializers_/dnssec_key_template.py +0 -0
  23. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/serializers_/dnssec_policy.py +0 -0
  24. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/serializers_/nameserver.py +0 -0
  25. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/serializers_/prefix.py +0 -0
  26. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/serializers_/record.py +0 -0
  27. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/serializers_/record_template.py +0 -0
  28. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/serializers_/registrar.py +0 -0
  29. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/serializers_/registration_contact.py +0 -0
  30. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/serializers_/view.py +0 -0
  31. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/serializers_/zone.py +0 -0
  32. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/serializers_/zone_template.py +0 -0
  33. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/urls.py +0 -0
  34. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/api/views.py +0 -0
  35. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/apps.py +0 -0
  36. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/choices/__init__.py +0 -0
  37. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/choices/dnssec_key_template.py +0 -0
  38. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/choices/dnssec_policy.py +0 -0
  39. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/choices/record.py +0 -0
  40. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/choices/utilities.py +0 -0
  41. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/choices/zone.py +0 -0
  42. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/fields/__init__.py +0 -0
  43. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/fields/address.py +0 -0
  44. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/fields/choice_array.py +0 -0
  45. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/fields/ipam.py +0 -0
  46. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/fields/network.py +0 -0
  47. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/fields/rfc2317.py +0 -0
  48. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/fields/timeperiod.py +0 -0
  49. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/filtersets/__init__.py +0 -0
  50. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/filtersets/dnssec_key_template.py +0 -0
  51. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/filtersets/dnssec_policy.py +0 -0
  52. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/filtersets/nameserver.py +0 -0
  53. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/filtersets/record.py +0 -0
  54. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/filtersets/record_template.py +0 -0
  55. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/filtersets/registrar.py +0 -0
  56. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/filtersets/registration_contact.py +0 -0
  57. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/filtersets/view.py +0 -0
  58. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/filtersets/zone.py +0 -0
  59. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/filtersets/zone_template.py +0 -0
  60. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/forms/__init__.py +0 -0
  61. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/forms/dnssec_key_template.py +0 -0
  62. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/forms/dnssec_policy.py +0 -0
  63. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/forms/nameserver.py +0 -0
  64. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/forms/record.py +0 -0
  65. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/forms/record_template.py +0 -0
  66. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/forms/registrar.py +0 -0
  67. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/forms/registration_contact.py +0 -0
  68. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/forms/view.py +0 -0
  69. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/forms/zone_template.py +0 -0
  70. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/__init__.py +0 -0
  71. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/enums.py +0 -0
  72. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/filter_lookups.py +0 -0
  73. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/filters/__init__.py +0 -0
  74. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/filters/dnssec_key_template.py +0 -0
  75. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/filters/dnssec_policy.py +0 -0
  76. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/filters/nameserver.py +0 -0
  77. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/filters/record.py +0 -0
  78. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/filters/record_template.py +0 -0
  79. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/filters/registrar.py +0 -0
  80. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/filters/registration_contact.py +0 -0
  81. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/filters/view.py +0 -0
  82. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/filters/zone.py +0 -0
  83. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/filters/zone_template.py +0 -0
  84. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/schema.py +0 -0
  85. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/graphql/types.py +0 -0
  86. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/locale/en/LC_MESSAGES/django.mo +0 -0
  87. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/management/commands/cleanup_database.py +0 -0
  88. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/management/commands/cleanup_rrset_ttl.py +0 -0
  89. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/management/commands/rebuild_dnssync.py +0 -0
  90. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/management/commands/remove_orphaned_ptr_records.py +0 -0
  91. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/management/commands/setup_dnssync.py +0 -0
  92. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/management/commands/update_soa.py +0 -0
  93. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0001_squashed_netbox_dns_0_15.py +0 -0
  94. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0001_squashed_netbox_dns_0_22.py +0 -0
  95. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0002_contact_description_registrar_description.py +0 -0
  96. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0003_default_view.py +0 -0
  97. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0004_create_and_assign_default_view.py +0 -0
  98. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0005_alter_zone_view_not_null.py +0 -0
  99. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0006_templating.py +0 -0
  100. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0007_alter_ordering_options.py +0 -0
  101. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0008_view_prefixes.py +0 -0
  102. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0009_rename_contact_registrationcontact.py +0 -0
  103. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0010_view_ip_address_filter.py +0 -0
  104. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0011_rename_related_fields.py +0 -0
  105. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0012_natural_ordering.py +0 -0
  106. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0013_zonetemplate_soa_mname_zonetemplate_soa_rname.py +0 -0
  107. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0014_alter_unique_constraints_lowercase.py +0 -0
  108. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0015_dnssec.py +0 -0
  109. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0016_dnssec_policy_status.py +0 -0
  110. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0017_dnssec_policy_zone_zone_template.py +0 -0
  111. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0018_zone_domain_status_zone_expiration_date.py +0 -0
  112. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0019_dnssecpolicy_parental_agents.py +0 -0
  113. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0020_netbox_3_4.py +0 -0
  114. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0020_remove_dnssecpolicy_parental_agents_and_more.py +0 -0
  115. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0021_alter_record_ptr_record.py +0 -0
  116. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0021_record_ip_address.py +0 -0
  117. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0022_alter_record_ipam_ip_address.py +0 -0
  118. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0022_search.py +0 -0
  119. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0023_alter_record_value.py +0 -0
  120. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0024_tenancy.py +0 -0
  121. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0025_ipam_coupling_cf.py +0 -0
  122. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0026_domain_registration.py +0 -0
  123. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0027_alter_registrar_iana_id.py +0 -0
  124. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0028_rfc2317_fields.py +0 -0
  125. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/0029_record_fqdn.py +0 -0
  126. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/migrations/__init__.py +0 -0
  127. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/mixins/__init__.py +0 -0
  128. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/mixins/object_modification.py +0 -0
  129. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/models/__init__.py +0 -0
  130. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/models/dnssec_key_template.py +0 -0
  131. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/models/dnssec_policy.py +0 -0
  132. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/models/nameserver.py +0 -0
  133. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/models/record.py +0 -0
  134. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/models/record_template.py +0 -0
  135. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/models/registrar.py +0 -0
  136. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/models/registration_contact.py +0 -0
  137. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/models/view.py +0 -0
  138. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/navigation.py +55 -55
  139. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/signals/__init__.py +0 -0
  140. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/signals/dnssec.py +0 -0
  141. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/signals/ipam_dnssync.py +0 -0
  142. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/tables/__init__.py +0 -0
  143. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/tables/dnssec_key_template.py +0 -0
  144. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/tables/dnssec_policy.py +0 -0
  145. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/tables/ipam_dnssync.py +0 -0
  146. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/tables/nameserver.py +0 -0
  147. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/tables/record.py +0 -0
  148. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/tables/record_template.py +0 -0
  149. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/tables/registrar.py +0 -0
  150. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/tables/registration_contact.py +0 -0
  151. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/tables/view.py +0 -0
  152. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/tables/zone.py +0 -0
  153. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/tables/zone_template.py +0 -0
  154. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/template_content.py +0 -0
  155. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/dnsseckeytemplate.html +0 -0
  156. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/dnssecpolicy.html +0 -0
  157. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/nameserver.html +0 -0
  158. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/record/managed.html +0 -0
  159. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/record/related.html +0 -0
  160. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/record.html +0 -0
  161. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/recordtemplate.html +0 -0
  162. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/registrar.html +0 -0
  163. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/registrationcontact.html +0 -0
  164. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/view/button.html +0 -0
  165. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/view/prefix.html +0 -0
  166. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/view/related.html +0 -0
  167. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/view.html +0 -0
  168. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/zone/child.html +0 -0
  169. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/zone/child_zone.html +0 -0
  170. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/zone/delegation_record.html +0 -0
  171. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/zone/managed_record.html +0 -0
  172. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/zone/record.html +0 -0
  173. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/zone/registration.html +0 -0
  174. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/zone/rfc2317_child_zone.html +0 -0
  175. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/zonetemplate/child.html +0 -0
  176. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templates/netbox_dns/zonetemplate.html +0 -0
  177. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templatetags/__init__.py +0 -0
  178. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/templatetags/netbox_dns.py +0 -0
  179. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/urls.py +0 -0
  180. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/utilities/__init__.py +0 -0
  181. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/utilities/conversions.py +0 -0
  182. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/utilities/dns.py +0 -0
  183. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/validators/__init__.py +0 -0
  184. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/validators/dns_name.py +0 -0
  185. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/validators/dns_value.py +0 -0
  186. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/validators/dnssec.py +0 -0
  187. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/validators/rfc2317.py +0 -0
  188. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/views/__init__.py +0 -0
  189. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/views/dnssec_key_template.py +0 -0
  190. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/views/dnssec_policy.py +0 -0
  191. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/views/nameserver.py +0 -0
  192. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/views/record.py +0 -0
  193. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/views/record_template.py +0 -0
  194. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/views/registrar.py +0 -0
  195. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/views/registration_contact.py +0 -0
  196. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/views/view.py +0 -0
  197. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_dns/views/zone_template.py +0 -0
  198. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_plugin_dns.egg-info/SOURCES.txt +0 -0
  199. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_plugin_dns.egg-info/dependency_links.txt +0 -0
  200. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_plugin_dns.egg-info/requires.txt +0 -0
  201. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/netbox_plugin_dns.egg-info/top_level.txt +0 -0
  202. {netbox_plugin_dns-1.3.2 → netbox_plugin_dns-1.3.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: netbox-plugin-dns
3
- Version: 1.3.2
3
+ Version: 1.3.4
4
4
  Summary: NetBox DNS is a NetBox plugin for managing DNS data.
5
5
  Author-email: Peter Eckel <pete@netbox-dns.org>
6
6
  Project-URL: Homepage, https://github.com/peteeckel/netbox-plugin-dns
@@ -4,7 +4,7 @@ from django.core.exceptions import ImproperlyConfigured
4
4
  from netbox.plugins import PluginConfig
5
5
  from netbox.plugins.utils import get_plugin_config
6
6
 
7
- __version__ = "1.3.2"
7
+ __version__ = "1.3.4"
8
8
 
9
9
 
10
10
  def _check_list(setting):
@@ -1,5 +1,5 @@
1
1
  from django import forms
2
- from django.db import transaction
2
+ from django.db import models, transaction
3
3
  from django.conf import settings
4
4
  from django.core.validators import MinValueValidator, MaxValueValidator
5
5
  from django.core.exceptions import ValidationError
@@ -101,7 +101,14 @@ class ZoneTemplateUpdateMixin:
101
101
  custom_fields = {}
102
102
  for key, value in zone_data.copy().items():
103
103
  if key.startswith("cf_"):
104
- custom_fields[key[3:]] = value
104
+ if isinstance(value, models.Model):
105
+ custom_fields[key[3:]] = value.pk
106
+ elif isinstance(value, models.QuerySet):
107
+ custom_fields[key[3:]] = list(
108
+ value.values_list("pk", flat=True)
109
+ )
110
+ else:
111
+ custom_fields[key[3:]] = value
105
112
  zone_data.pop(key)
106
113
  if custom_fields:
107
114
  zone_data["custom_field_data"] = custom_fields
@@ -585,6 +585,30 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
585
585
  managed=True,
586
586
  )
587
587
 
588
+ def _check_nameserver_address_records(self, nameserver):
589
+ name = dns_name.from_text(nameserver.name, origin=None)
590
+ parent = name.parent()
591
+
592
+ if len(parent) < 2:
593
+ return None
594
+
595
+ try:
596
+ ns_zone = Zone.objects.get(view_id=self.view.pk, name=parent.to_text())
597
+ except ObjectDoesNotExist:
598
+ return None
599
+
600
+ relative_name = name.relativize(parent).to_text()
601
+ address_records = ns_zone.records.filter(
602
+ Q(status__in=RECORD_ACTIVE_STATUS_LIST),
603
+ Q(Q(name=f"{nameserver.name}.") | Q(name=relative_name)),
604
+ Q(Q(type=RecordTypeChoices.A) | Q(type=RecordTypeChoices.AAAA)),
605
+ )
606
+
607
+ if not address_records.exists():
608
+ return _(
609
+ "Nameserver {ns} does not have an active address record in zone {zone}"
610
+ ).format(ns=nameserver.name, zone=ns_zone)
611
+
588
612
  def check_nameservers(self):
589
613
  nameservers = self.nameservers.all()
590
614
 
@@ -597,33 +621,15 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
597
621
  )
598
622
 
599
623
  for _nameserver in nameservers:
600
- name = dns_name.from_text(_nameserver.name, origin=None)
601
- parent = name.parent()
602
-
603
- if len(parent) < 2:
604
- continue
605
-
606
- try:
607
- ns_zone = Zone.objects.get(view_id=self.view.pk, name=parent.to_text())
608
- except ObjectDoesNotExist:
609
- continue
610
-
611
- relative_name = name.relativize(parent).to_text()
612
- address_records = ns_zone.records.filter(
613
- Q(status__in=RECORD_ACTIVE_STATUS_LIST),
614
- Q(Q(name=f"{_nameserver.name}.") | Q(name=relative_name)),
615
- Q(Q(type=RecordTypeChoices.A) | Q(type=RecordTypeChoices.AAAA)),
616
- )
617
-
618
- if not address_records:
619
- ns_warnings.append(
620
- _(
621
- "Nameserver {nameserver} does not have an active address record in zone {zone}"
622
- ).format(nameserver=_nameserver.name, zone=ns_zone)
623
- )
624
+ warning = self._check_nameserver_address_records(_nameserver)
625
+ if warning is not None:
626
+ ns_warnings.append(warning)
624
627
 
625
628
  return ns_warnings, ns_errors
626
629
 
630
+ def check_soa_mname(self):
631
+ return self._check_nameserver_address_records(self.soa_mname)
632
+
627
633
  def check_expiration(self):
628
634
  if self.expiration_date is None:
629
635
  return None, None
@@ -28,6 +28,8 @@ class ZoneTemplate(NetBoxModel):
28
28
  "description",
29
29
  "nameservers",
30
30
  "record_templates",
31
+ "soa_mname",
32
+ "soa_rname",
31
33
  "dnssec_policy",
32
34
  "registrar",
33
35
  "registrant",
@@ -7,7 +7,7 @@
7
7
 
8
8
  {% block extra_controls %}
9
9
  {% if perms.netbox_dns.add_record %}
10
- <a href="{% url 'plugins:netbox_dns:record_add' %}?zone={{ object.pk }}&return_url={{ object.get_absolute_url }}">
10
+ <a href="{% url 'plugins:netbox_dns:record_add' %}?zone={{ object.pk }}&return_url={% url 'plugins:netbox_dns:zone_records' pk=object.pk %}">
11
11
  <button type="submit" class="btn btn-primary" name="add-record">
12
12
  <i class="mdi mdi-plus-thick" aria-hidden="true"></i>{% trans "Add Record" %}
13
13
  </button>
@@ -137,6 +137,13 @@
137
137
  <th scope="row">{% trans "MName" %}</th>
138
138
  <td>{{ object.soa_mname|linkify }}</td>
139
139
  </tr>
140
+ {% if mname_warning %}
141
+ <tr>
142
+ <th class="text-warning" scope="row">{% trans "Warning" %}</th>
143
+ <td class="text-warning">{{ mname_warning }}</td>
144
+ </tr>
145
+ {% endif %}
146
+
140
147
  <tr>
141
148
  <th scope="row">{% trans "RName" %}</th>
142
149
  <td>{{ object.soa_rname }}</td>
@@ -227,10 +227,15 @@ def delete_dns_records(ip_address, view=None):
227
227
  # TODO: Find something better. This is really awful.
228
228
  # -
229
229
  address_records = Record.objects.filter(
230
- type__in=(RecordTypeChoices.A, RecordTypeChoices.AAAA),
231
- managed=True,
232
- ip_address=ip_address.address.ip,
233
- ipam_ip_address__isnull=True,
230
+ Q(
231
+ Q(ipam_ip_address=ip_address)
232
+ | Q(
233
+ type__in=(RecordTypeChoices.A, RecordTypeChoices.AAAA),
234
+ managed=True,
235
+ ip_address=ip_address.address,
236
+ ipam_ip_address__isnull=True,
237
+ )
238
+ ),
234
239
  )
235
240
 
236
241
  if view is not None:
@@ -52,10 +52,12 @@ class ZoneView(generic.ObjectView):
52
52
 
53
53
  def get_extra_context(self, request, instance):
54
54
  ns_warnings, ns_errors = instance.check_nameservers()
55
+ mname_warning = instance.check_soa_mname()
55
56
 
56
57
  context = {
57
58
  "nameserver_warnings": ns_warnings,
58
59
  "nameserver_errors": ns_errors,
60
+ "mname_warning": mname_warning,
59
61
  "parent_zone": instance.parent_zone,
60
62
  }
61
63
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: netbox-plugin-dns
3
- Version: 1.3.2
3
+ Version: 1.3.4
4
4
  Summary: NetBox DNS is a NetBox plugin for managing DNS data.
5
5
  Author-email: Peter Eckel <pete@netbox-dns.org>
6
6
  Project-URL: Homepage, https://github.com/peteeckel/netbox-plugin-dns
@@ -1,11 +1,13 @@
1
1
  [project]
2
2
  name = "netbox-plugin-dns"
3
- version = "1.3.2"
3
+ version = "1.3.4"
4
4
  description = "NetBox DNS is a NetBox plugin for managing DNS data."
5
5
  authors = [
6
6
  {name="Peter Eckel", email="pete@netbox-dns.org"},
7
7
  ]
8
- license = {file="LICENCE"}
8
+ license-files = [
9
+ "LICENSE"
10
+ ]
9
11
  readme = "README.md"
10
12
  keywords = ["netbox", "netbox-plugin", "dns"]
11
13
  classifiers = [