netbox-plugin-dns 1.1.0b7__py3-none-any.whl → 1.1.1__py3-none-any.whl
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_dns/__init__.py +1 -1
- netbox_dns/api/nested_serializers.py +17 -16
- netbox_dns/api/serializers.py +1 -1
- netbox_dns/api/serializers_/record.py +1 -0
- netbox_dns/api/serializers_/{contact.py → registration_contact.py} +5 -5
- netbox_dns/api/serializers_/zone.py +5 -5
- netbox_dns/api/serializers_/zone_template.py +5 -5
- netbox_dns/api/urls.py +2 -2
- netbox_dns/api/views.py +7 -35
- netbox_dns/filtersets/__init__.py +1 -1
- netbox_dns/filtersets/nameserver.py +0 -0
- netbox_dns/filtersets/record.py +0 -0
- netbox_dns/filtersets/record_template.py +0 -0
- netbox_dns/filtersets/{contact.py → registration_contact.py} +4 -4
- netbox_dns/filtersets/zone.py +15 -15
- netbox_dns/filtersets/zone_template.py +15 -15
- netbox_dns/forms/__init__.py +1 -1
- netbox_dns/forms/nameserver.py +0 -0
- netbox_dns/forms/record.py +0 -0
- netbox_dns/forms/record_template.py +0 -0
- netbox_dns/forms/{contact.py → registration_contact.py} +16 -16
- netbox_dns/forms/zone.py +13 -13
- netbox_dns/forms/zone_template.py +13 -13
- netbox_dns/graphql/__init__.py +2 -2
- netbox_dns/graphql/filters.py +5 -5
- netbox_dns/graphql/schema.py +24 -44
- netbox_dns/graphql/types.py +38 -12
- netbox_dns/migrations/0007_alter_ordering_options.py +25 -0
- netbox_dns/migrations/{0007_view_prefixes.py → 0008_view_prefixes.py} +1 -1
- netbox_dns/migrations/0009_rename_contact_registrationcontact.py +36 -0
- netbox_dns/models/__init__.py +1 -1
- netbox_dns/models/nameserver.py +8 -3
- netbox_dns/models/record.py +15 -4
- netbox_dns/models/record_template.py +4 -1
- netbox_dns/models/registrar.py +7 -1
- netbox_dns/models/{contact.py → registration_contact.py} +15 -9
- netbox_dns/models/view.py +9 -2
- netbox_dns/models/zone.py +13 -12
- netbox_dns/models/zone_template.py +12 -9
- netbox_dns/navigation.py +7 -7
- netbox_dns/tables/__init__.py +1 -1
- netbox_dns/tables/nameserver.py +1 -7
- netbox_dns/tables/record.py +10 -35
- netbox_dns/tables/record_template.py +0 -17
- netbox_dns/tables/registrar.py +0 -2
- netbox_dns/tables/{contact.py → registration_contact.py} +5 -6
- netbox_dns/tables/view.py +1 -8
- netbox_dns/tables/zone.py +0 -15
- netbox_dns/tables/zone_template.py +2 -16
- netbox_dns/templates/netbox_dns/{contact.html → registrationcontact.html} +1 -1
- netbox_dns/urls/__init__.py +2 -2
- netbox_dns/urls/nameserver.py +14 -38
- netbox_dns/urls/record.py +7 -19
- netbox_dns/urls/record_template.py +18 -27
- netbox_dns/urls/registrar.py +11 -35
- netbox_dns/urls/registration_contact.py +60 -0
- netbox_dns/urls/view.py +8 -22
- netbox_dns/urls/zone.py +8 -46
- netbox_dns/urls/zone_template.py +16 -26
- netbox_dns/utilities/ipam_dnssync.py +1 -1
- netbox_dns/views/__init__.py +1 -1
- netbox_dns/views/nameserver.py +7 -3
- netbox_dns/views/record.py +12 -3
- netbox_dns/views/record_template.py +1 -1
- netbox_dns/views/registrar.py +0 -1
- netbox_dns/views/registration_contact.py +94 -0
- netbox_dns/views/view.py +6 -1
- netbox_dns/views/zone.py +7 -6
- netbox_dns/views/zone_template.py +2 -2
- {netbox_plugin_dns-1.1.0b7.dist-info → netbox_plugin_dns-1.1.1.dist-info}/METADATA +14 -14
- {netbox_plugin_dns-1.1.0b7.dist-info → netbox_plugin_dns-1.1.1.dist-info}/RECORD +75 -72
- {netbox_plugin_dns-1.1.0b7.dist-info → netbox_plugin_dns-1.1.1.dist-info}/WHEEL +2 -1
- netbox_plugin_dns-1.1.1.dist-info/top_level.txt +1 -0
- netbox_dns/urls/contact.py +0 -51
- netbox_dns/views/contact.py +0 -95
- {netbox_plugin_dns-1.1.0b7.dist-info → netbox_plugin_dns-1.1.1.dist-info}/LICENSE +0 -0
|
@@ -8,12 +8,12 @@ from taggit.managers import TaggableManager
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
__all__ = (
|
|
11
|
-
"
|
|
12
|
-
"
|
|
11
|
+
"RegistrationContact",
|
|
12
|
+
"RegistrationContactIndex",
|
|
13
13
|
)
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
class
|
|
16
|
+
class RegistrationContact(NetBoxModel):
|
|
17
17
|
# +
|
|
18
18
|
# Data fields according to https://www.icann.org/resources/pages/rdds-labeling-policy-2017-02-01-en
|
|
19
19
|
# -
|
|
@@ -87,7 +87,7 @@ class Contact(NetBoxModel):
|
|
|
87
87
|
related_name="netbox_dns_contact_set",
|
|
88
88
|
)
|
|
89
89
|
|
|
90
|
-
clone_fields =
|
|
90
|
+
clone_fields = (
|
|
91
91
|
"name",
|
|
92
92
|
"description",
|
|
93
93
|
"organization",
|
|
@@ -102,10 +102,10 @@ class Contact(NetBoxModel):
|
|
|
102
102
|
"fax_ext",
|
|
103
103
|
"email",
|
|
104
104
|
"tags",
|
|
105
|
-
|
|
105
|
+
)
|
|
106
106
|
|
|
107
107
|
def get_absolute_url(self):
|
|
108
|
-
return reverse("plugins:netbox_dns:
|
|
108
|
+
return reverse("plugins:netbox_dns:registrationcontact", kwargs={"pk": self.pk})
|
|
109
109
|
|
|
110
110
|
def __str__(self):
|
|
111
111
|
if self.name is not None:
|
|
@@ -114,7 +114,13 @@ class Contact(NetBoxModel):
|
|
|
114
114
|
return self.contact_id
|
|
115
115
|
|
|
116
116
|
class Meta:
|
|
117
|
-
|
|
117
|
+
verbose_name = "Registration Contact"
|
|
118
|
+
verbose_name_plural = "Registration Contacts"
|
|
119
|
+
|
|
120
|
+
ordering = (
|
|
121
|
+
"name",
|
|
122
|
+
"contact_id",
|
|
123
|
+
)
|
|
118
124
|
|
|
119
125
|
@property
|
|
120
126
|
def zones(self):
|
|
@@ -127,8 +133,8 @@ class Contact(NetBoxModel):
|
|
|
127
133
|
|
|
128
134
|
|
|
129
135
|
@register_search
|
|
130
|
-
class
|
|
131
|
-
model =
|
|
136
|
+
class RegistrationContactIndex(SearchIndex):
|
|
137
|
+
model = RegistrationContact
|
|
132
138
|
fields = (
|
|
133
139
|
("name", 100),
|
|
134
140
|
("contact_id", 100),
|
netbox_dns/models/view.py
CHANGED
|
@@ -3,6 +3,7 @@ from django.urls import reverse
|
|
|
3
3
|
from django.core.exceptions import ValidationError
|
|
4
4
|
|
|
5
5
|
from netbox.models import NetBoxModel
|
|
6
|
+
from netbox.models.features import ContactsMixin
|
|
6
7
|
from netbox.search import SearchIndex, register_search
|
|
7
8
|
from netbox.context import current_request
|
|
8
9
|
from utilities.exceptions import AbortRequest
|
|
@@ -16,7 +17,7 @@ __all__ = (
|
|
|
16
17
|
)
|
|
17
18
|
|
|
18
19
|
|
|
19
|
-
class View(ObjectModificationMixin, NetBoxModel):
|
|
20
|
+
class View(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
20
21
|
name = models.CharField(
|
|
21
22
|
unique=True,
|
|
22
23
|
max_length=255,
|
|
@@ -41,7 +42,10 @@ class View(ObjectModificationMixin, NetBoxModel):
|
|
|
41
42
|
null=True,
|
|
42
43
|
)
|
|
43
44
|
|
|
44
|
-
clone_fields =
|
|
45
|
+
clone_fields = (
|
|
46
|
+
"name",
|
|
47
|
+
"description",
|
|
48
|
+
)
|
|
45
49
|
|
|
46
50
|
@classmethod
|
|
47
51
|
def get_default_view(cls):
|
|
@@ -54,6 +58,9 @@ class View(ObjectModificationMixin, NetBoxModel):
|
|
|
54
58
|
return str(self.name)
|
|
55
59
|
|
|
56
60
|
class Meta:
|
|
61
|
+
verbose_name = "View"
|
|
62
|
+
verbose_name_plural = "Views"
|
|
63
|
+
|
|
57
64
|
ordering = ("name",)
|
|
58
65
|
|
|
59
66
|
def delete(self, *args, **kwargs):
|
netbox_dns/models/zone.py
CHANGED
|
@@ -5,8 +5,6 @@ from datetime import datetime
|
|
|
5
5
|
from dns import name as dns_name
|
|
6
6
|
from dns.exception import DNSException
|
|
7
7
|
from dns.rdtypes.ANY import SOA
|
|
8
|
-
from dns.exception import DNSException
|
|
9
|
-
|
|
10
8
|
from django.core.validators import (
|
|
11
9
|
MinValueValidator,
|
|
12
10
|
MaxValueValidator,
|
|
@@ -20,6 +18,7 @@ from django.dispatch import receiver
|
|
|
20
18
|
from django.conf import settings
|
|
21
19
|
|
|
22
20
|
from netbox.models import NetBoxModel
|
|
21
|
+
from netbox.models.features import ContactsMixin
|
|
23
22
|
from netbox.search import SearchIndex, register_search
|
|
24
23
|
from netbox.plugins.utils import get_plugin_config
|
|
25
24
|
from utilities.querysets import RestrictedQuerySet
|
|
@@ -37,7 +36,6 @@ from netbox_dns.utilities import (
|
|
|
37
36
|
NameFormatError,
|
|
38
37
|
)
|
|
39
38
|
from netbox_dns.validators import (
|
|
40
|
-
validate_fqdn,
|
|
41
39
|
validate_rname,
|
|
42
40
|
validate_domain_name,
|
|
43
41
|
)
|
|
@@ -71,7 +69,7 @@ class ZoneManager(models.Manager.from_queryset(RestrictedQuerySet)):
|
|
|
71
69
|
)
|
|
72
70
|
|
|
73
71
|
|
|
74
|
-
class Zone(ObjectModificationMixin, NetBoxModel):
|
|
72
|
+
class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
75
73
|
ACTIVE_STATUS_LIST = (ZoneStatusChoices.STATUS_ACTIVE,)
|
|
76
74
|
|
|
77
75
|
def __init__(self, *args, **kwargs):
|
|
@@ -194,7 +192,7 @@ class Zone(ObjectModificationMixin, NetBoxModel):
|
|
|
194
192
|
null=True,
|
|
195
193
|
)
|
|
196
194
|
registrant = models.ForeignKey(
|
|
197
|
-
to="
|
|
195
|
+
to="RegistrationContact",
|
|
198
196
|
on_delete=models.SET_NULL,
|
|
199
197
|
verbose_name="Registrant",
|
|
200
198
|
help_text="The owner of the domain",
|
|
@@ -202,7 +200,7 @@ class Zone(ObjectModificationMixin, NetBoxModel):
|
|
|
202
200
|
null=True,
|
|
203
201
|
)
|
|
204
202
|
admin_c = models.ForeignKey(
|
|
205
|
-
to="
|
|
203
|
+
to="RegistrationContact",
|
|
206
204
|
on_delete=models.SET_NULL,
|
|
207
205
|
verbose_name="Admin Contact",
|
|
208
206
|
related_name="admin_c_zones",
|
|
@@ -211,16 +209,16 @@ class Zone(ObjectModificationMixin, NetBoxModel):
|
|
|
211
209
|
null=True,
|
|
212
210
|
)
|
|
213
211
|
tech_c = models.ForeignKey(
|
|
214
|
-
to="
|
|
212
|
+
to="RegistrationContact",
|
|
215
213
|
on_delete=models.SET_NULL,
|
|
216
|
-
verbose_name="
|
|
214
|
+
verbose_name="Technical Contact",
|
|
217
215
|
related_name="tech_c_zones",
|
|
218
216
|
help_text="The technical contact for the domain",
|
|
219
217
|
blank=True,
|
|
220
218
|
null=True,
|
|
221
219
|
)
|
|
222
220
|
billing_c = models.ForeignKey(
|
|
223
|
-
to="
|
|
221
|
+
to="RegistrationContact",
|
|
224
222
|
on_delete=models.SET_NULL,
|
|
225
223
|
verbose_name="Billing Contact",
|
|
226
224
|
related_name="billing_c_zones",
|
|
@@ -251,7 +249,7 @@ class Zone(ObjectModificationMixin, NetBoxModel):
|
|
|
251
249
|
|
|
252
250
|
objects = ZoneManager()
|
|
253
251
|
|
|
254
|
-
clone_fields =
|
|
252
|
+
clone_fields = (
|
|
255
253
|
"view",
|
|
256
254
|
"name",
|
|
257
255
|
"status",
|
|
@@ -265,9 +263,12 @@ class Zone(ObjectModificationMixin, NetBoxModel):
|
|
|
265
263
|
"soa_expire",
|
|
266
264
|
"soa_minimum",
|
|
267
265
|
"description",
|
|
268
|
-
|
|
266
|
+
)
|
|
269
267
|
|
|
270
268
|
class Meta:
|
|
269
|
+
verbose_name = "Zone"
|
|
270
|
+
verbose_name_plural = "Zones"
|
|
271
|
+
|
|
271
272
|
ordering = (
|
|
272
273
|
"view",
|
|
273
274
|
"name",
|
|
@@ -652,7 +653,7 @@ class Zone(ObjectModificationMixin, NetBoxModel):
|
|
|
652
653
|
old_zone = Zone.objects.get(pk=self.pk)
|
|
653
654
|
if not self.soa_serial_auto:
|
|
654
655
|
self.check_soa_serial_increment(old_zone.soa_serial, self.soa_serial)
|
|
655
|
-
|
|
656
|
+
elif not old_zone.soa_serial_auto:
|
|
656
657
|
try:
|
|
657
658
|
self.check_soa_serial_increment(
|
|
658
659
|
old_zone.soa_serial, self.get_auto_serial()
|
|
@@ -47,7 +47,7 @@ class ZoneTemplate(NetBoxModel):
|
|
|
47
47
|
null=True,
|
|
48
48
|
)
|
|
49
49
|
registrant = models.ForeignKey(
|
|
50
|
-
to="
|
|
50
|
+
to="RegistrationContact",
|
|
51
51
|
on_delete=models.SET_NULL,
|
|
52
52
|
related_name="+",
|
|
53
53
|
help_text="The owner of the domain",
|
|
@@ -55,7 +55,7 @@ class ZoneTemplate(NetBoxModel):
|
|
|
55
55
|
null=True,
|
|
56
56
|
)
|
|
57
57
|
admin_c = models.ForeignKey(
|
|
58
|
-
to="
|
|
58
|
+
to="RegistrationContact",
|
|
59
59
|
on_delete=models.SET_NULL,
|
|
60
60
|
verbose_name="Admin contact",
|
|
61
61
|
related_name="+",
|
|
@@ -64,7 +64,7 @@ class ZoneTemplate(NetBoxModel):
|
|
|
64
64
|
null=True,
|
|
65
65
|
)
|
|
66
66
|
tech_c = models.ForeignKey(
|
|
67
|
-
to="
|
|
67
|
+
to="RegistrationContact",
|
|
68
68
|
on_delete=models.SET_NULL,
|
|
69
69
|
verbose_name="Tech contact",
|
|
70
70
|
related_name="+",
|
|
@@ -73,7 +73,7 @@ class ZoneTemplate(NetBoxModel):
|
|
|
73
73
|
null=True,
|
|
74
74
|
)
|
|
75
75
|
billing_c = models.ForeignKey(
|
|
76
|
-
to="
|
|
76
|
+
to="RegistrationContact",
|
|
77
77
|
on_delete=models.SET_NULL,
|
|
78
78
|
verbose_name="Billing contact",
|
|
79
79
|
related_name="+",
|
|
@@ -82,7 +82,7 @@ class ZoneTemplate(NetBoxModel):
|
|
|
82
82
|
null=True,
|
|
83
83
|
)
|
|
84
84
|
|
|
85
|
-
clone_fields =
|
|
85
|
+
clone_fields = (
|
|
86
86
|
"description",
|
|
87
87
|
"nameservers",
|
|
88
88
|
"record_templates",
|
|
@@ -92,19 +92,22 @@ class ZoneTemplate(NetBoxModel):
|
|
|
92
92
|
"admin_c",
|
|
93
93
|
"tech_c",
|
|
94
94
|
"billing_c",
|
|
95
|
-
|
|
95
|
+
)
|
|
96
96
|
|
|
97
|
-
template_fields =
|
|
97
|
+
template_fields = (
|
|
98
98
|
"tenant",
|
|
99
99
|
"registrar",
|
|
100
100
|
"registrant",
|
|
101
101
|
"admin_c",
|
|
102
102
|
"tech_c",
|
|
103
103
|
"billing_c",
|
|
104
|
-
|
|
104
|
+
)
|
|
105
105
|
|
|
106
106
|
class Meta:
|
|
107
|
-
|
|
107
|
+
verbose_name = "Zone Template"
|
|
108
|
+
verbose_name_plural = "Zone Templates"
|
|
109
|
+
|
|
110
|
+
ordering = ("name",)
|
|
108
111
|
|
|
109
112
|
def __str__(self):
|
|
110
113
|
return str(self.name)
|
netbox_dns/navigation.py
CHANGED
|
@@ -151,21 +151,21 @@ registrar_menu_item = PluginMenuItem(
|
|
|
151
151
|
)
|
|
152
152
|
|
|
153
153
|
contact_menu_item = PluginMenuItem(
|
|
154
|
-
link="plugins:netbox_dns:
|
|
155
|
-
link_text="Contacts",
|
|
156
|
-
permissions=["netbox_dns.
|
|
154
|
+
link="plugins:netbox_dns:registrationcontact_list",
|
|
155
|
+
link_text="Registration Contacts",
|
|
156
|
+
permissions=["netbox_dns.view_registrationcontact"],
|
|
157
157
|
buttons=(
|
|
158
158
|
PluginMenuButton(
|
|
159
|
-
"plugins:netbox_dns:
|
|
159
|
+
"plugins:netbox_dns:registrationcontact_add",
|
|
160
160
|
"Add",
|
|
161
161
|
"mdi mdi-plus-thick",
|
|
162
|
-
permissions=["netbox_dns.
|
|
162
|
+
permissions=["netbox_dns.add_registrationcontact"],
|
|
163
163
|
),
|
|
164
164
|
PluginMenuButton(
|
|
165
|
-
"plugins:netbox_dns:
|
|
165
|
+
"plugins:netbox_dns:registrationcontact_import",
|
|
166
166
|
"Import",
|
|
167
167
|
"mdi mdi-upload",
|
|
168
|
-
permissions=["netbox_dns.
|
|
168
|
+
permissions=["netbox_dns.add_registrationcontact"],
|
|
169
169
|
),
|
|
170
170
|
),
|
|
171
171
|
)
|
netbox_dns/tables/__init__.py
CHANGED
netbox_dns/tables/nameserver.py
CHANGED
|
@@ -22,13 +22,7 @@ class NameServerTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
22
22
|
|
|
23
23
|
class Meta(NetBoxTable.Meta):
|
|
24
24
|
model = NameServer
|
|
25
|
-
fields = (
|
|
26
|
-
"name",
|
|
27
|
-
"description",
|
|
28
|
-
"tags",
|
|
29
|
-
"tenant",
|
|
30
|
-
"tenant_group",
|
|
31
|
-
)
|
|
25
|
+
fields = ("description",)
|
|
32
26
|
default_columns = (
|
|
33
27
|
"name",
|
|
34
28
|
"tags",
|
netbox_dns/tables/record.py
CHANGED
|
@@ -13,10 +13,6 @@ from tenancy.tables import TenancyColumnsMixin
|
|
|
13
13
|
from netbox_dns.models import Record
|
|
14
14
|
from netbox_dns.utilities import value_to_unicode
|
|
15
15
|
|
|
16
|
-
import logging
|
|
17
|
-
|
|
18
|
-
logger = logging.getLogger("netbox_dns")
|
|
19
|
-
|
|
20
16
|
|
|
21
17
|
__all__ = (
|
|
22
18
|
"RecordTable",
|
|
@@ -29,10 +25,18 @@ class RecordBaseTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
29
25
|
zone = tables.Column(
|
|
30
26
|
linkify=True,
|
|
31
27
|
)
|
|
28
|
+
view = tables.Column(
|
|
29
|
+
accessor="zone__view",
|
|
30
|
+
linkify=True,
|
|
31
|
+
)
|
|
32
32
|
type = tables.Column()
|
|
33
33
|
name = tables.Column(
|
|
34
34
|
linkify=True,
|
|
35
35
|
)
|
|
36
|
+
fqdn = tables.Column(
|
|
37
|
+
verbose_name="FQDN",
|
|
38
|
+
linkify=True,
|
|
39
|
+
)
|
|
36
40
|
value = tables.TemplateColumn(
|
|
37
41
|
template_code="{{ value|truncatechars:64 }}",
|
|
38
42
|
)
|
|
@@ -71,20 +75,8 @@ class RecordTable(RecordBaseTable):
|
|
|
71
75
|
class Meta(NetBoxTable.Meta):
|
|
72
76
|
model = Record
|
|
73
77
|
fields = (
|
|
74
|
-
"name",
|
|
75
|
-
"zone",
|
|
76
|
-
"ttl",
|
|
77
|
-
"type",
|
|
78
|
-
"value",
|
|
79
|
-
"unicode_value",
|
|
80
78
|
"status",
|
|
81
|
-
"disable_ptr",
|
|
82
|
-
"ptr_record",
|
|
83
|
-
"tags",
|
|
84
|
-
"active",
|
|
85
79
|
"description",
|
|
86
|
-
"tenant",
|
|
87
|
-
"tenant_group",
|
|
88
80
|
)
|
|
89
81
|
default_columns = (
|
|
90
82
|
"name",
|
|
@@ -115,18 +107,7 @@ class ManagedRecordTable(RecordBaseTable):
|
|
|
115
107
|
|
|
116
108
|
class Meta(NetBoxTable.Meta):
|
|
117
109
|
model = Record
|
|
118
|
-
fields = (
|
|
119
|
-
"name",
|
|
120
|
-
"zone",
|
|
121
|
-
"ttl",
|
|
122
|
-
"type",
|
|
123
|
-
"value",
|
|
124
|
-
"unicode_value",
|
|
125
|
-
"address_record",
|
|
126
|
-
"ipam_ip_address",
|
|
127
|
-
"related_ip_address",
|
|
128
|
-
"active",
|
|
129
|
-
)
|
|
110
|
+
fields = ()
|
|
130
111
|
default_columns = (
|
|
131
112
|
"name",
|
|
132
113
|
"zone",
|
|
@@ -164,13 +145,7 @@ class RelatedRecordTable(RecordBaseTable):
|
|
|
164
145
|
|
|
165
146
|
class Meta(NetBoxTable.Meta):
|
|
166
147
|
model = Record
|
|
167
|
-
fields = (
|
|
168
|
-
"name",
|
|
169
|
-
"zone",
|
|
170
|
-
"type",
|
|
171
|
-
"value",
|
|
172
|
-
"unicode_value",
|
|
173
|
-
)
|
|
148
|
+
fields = ()
|
|
174
149
|
default_columns = (
|
|
175
150
|
"name",
|
|
176
151
|
"zone",
|
|
@@ -43,18 +43,8 @@ class RecordTemplateTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
43
43
|
class Meta(NetBoxTable.Meta):
|
|
44
44
|
model = RecordTemplate
|
|
45
45
|
fields = (
|
|
46
|
-
"name",
|
|
47
|
-
"record_name",
|
|
48
|
-
"ttl",
|
|
49
|
-
"type",
|
|
50
|
-
"value",
|
|
51
|
-
"unicode_value",
|
|
52
46
|
"status",
|
|
53
|
-
"disable_ptr",
|
|
54
|
-
"tags",
|
|
55
47
|
"description",
|
|
56
|
-
"tenant",
|
|
57
|
-
"tenant_group",
|
|
58
48
|
)
|
|
59
49
|
default_columns = (
|
|
60
50
|
"name",
|
|
@@ -72,14 +62,7 @@ class RecordTemplateDisplayTable(RecordTemplateTable):
|
|
|
72
62
|
class Meta(NetBoxTable.Meta):
|
|
73
63
|
model = RecordTemplate
|
|
74
64
|
fields = (
|
|
75
|
-
"name",
|
|
76
|
-
"record_name",
|
|
77
|
-
"ttl",
|
|
78
|
-
"type",
|
|
79
|
-
"value",
|
|
80
|
-
"unicode_value",
|
|
81
65
|
"status",
|
|
82
|
-
"disable_ptr",
|
|
83
66
|
"description",
|
|
84
67
|
)
|
|
85
68
|
default_columns = (
|
netbox_dns/tables/registrar.py
CHANGED
|
@@ -19,13 +19,11 @@ class RegistrarTable(NetBoxTable):
|
|
|
19
19
|
class Meta(NetBoxTable.Meta):
|
|
20
20
|
model = Registrar
|
|
21
21
|
fields = (
|
|
22
|
-
"name",
|
|
23
22
|
"description",
|
|
24
23
|
"iana_id",
|
|
25
24
|
"referral_url",
|
|
26
25
|
"whois_server",
|
|
27
26
|
"abuse_email",
|
|
28
27
|
"abuse_phone",
|
|
29
|
-
"tags",
|
|
30
28
|
)
|
|
31
29
|
default_columns = ("name", "iana_id", "referral_url")
|
|
@@ -2,24 +2,23 @@ import django_tables2 as tables
|
|
|
2
2
|
|
|
3
3
|
from netbox.tables import NetBoxTable, TagColumn
|
|
4
4
|
|
|
5
|
-
from netbox_dns.models import
|
|
5
|
+
from netbox_dns.models import RegistrationContact
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
__all__ = ("
|
|
8
|
+
__all__ = ("RegistrationContactTable",)
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class
|
|
11
|
+
class RegistrationContactTable(NetBoxTable):
|
|
12
12
|
contact_id = tables.Column(
|
|
13
13
|
linkify=True,
|
|
14
14
|
)
|
|
15
15
|
tags = TagColumn(
|
|
16
|
-
url_name="plugins:netbox_dns:
|
|
16
|
+
url_name="plugins:netbox_dns:registrationcontact_list",
|
|
17
17
|
)
|
|
18
18
|
|
|
19
19
|
class Meta(NetBoxTable.Meta):
|
|
20
|
-
model =
|
|
20
|
+
model = RegistrationContact
|
|
21
21
|
fields = (
|
|
22
|
-
"contact_id",
|
|
23
22
|
"name",
|
|
24
23
|
"description",
|
|
25
24
|
"organization",
|
netbox_dns/tables/view.py
CHANGED
|
@@ -23,14 +23,7 @@ class ViewTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
23
23
|
|
|
24
24
|
class Meta(NetBoxTable.Meta):
|
|
25
25
|
model = View
|
|
26
|
-
fields = (
|
|
27
|
-
"name",
|
|
28
|
-
"default_view",
|
|
29
|
-
"description",
|
|
30
|
-
"tenant",
|
|
31
|
-
"tenant_group",
|
|
32
|
-
"tags",
|
|
33
|
-
)
|
|
26
|
+
fields = ("description",)
|
|
34
27
|
default_columns = ("name", "default_view")
|
|
35
28
|
|
|
36
29
|
|
netbox_dns/tables/zone.py
CHANGED
|
@@ -58,26 +58,11 @@ class ZoneTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
58
58
|
class Meta(NetBoxTable.Meta):
|
|
59
59
|
model = Zone
|
|
60
60
|
fields = (
|
|
61
|
-
"name",
|
|
62
|
-
"view",
|
|
63
|
-
"status",
|
|
64
61
|
"description",
|
|
65
|
-
"tags",
|
|
66
|
-
"default_ttl",
|
|
67
|
-
"soa_mname",
|
|
68
62
|
"soa_rname",
|
|
69
63
|
"soa_serial",
|
|
70
|
-
"rfc2317_prefix",
|
|
71
64
|
"rfc2317_parent_managed",
|
|
72
|
-
"rfc2317_parent_zone",
|
|
73
|
-
"registrar",
|
|
74
65
|
"registry_domain_id",
|
|
75
|
-
"registrant",
|
|
76
|
-
"admin_c",
|
|
77
|
-
"tech_c",
|
|
78
|
-
"billing_c",
|
|
79
|
-
"tenant",
|
|
80
|
-
"tenant_group",
|
|
81
66
|
)
|
|
82
67
|
default_columns = (
|
|
83
68
|
"name",
|
|
@@ -37,18 +37,7 @@ class ZoneTemplateTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
37
37
|
|
|
38
38
|
class Meta(NetBoxTable.Meta):
|
|
39
39
|
model = ZoneTemplate
|
|
40
|
-
fields = (
|
|
41
|
-
"name",
|
|
42
|
-
"description",
|
|
43
|
-
"tags",
|
|
44
|
-
"registrar",
|
|
45
|
-
"registrant",
|
|
46
|
-
"admin_c",
|
|
47
|
-
"tech_c",
|
|
48
|
-
"billing_c",
|
|
49
|
-
"tenant",
|
|
50
|
-
"tenant_group",
|
|
51
|
-
)
|
|
40
|
+
fields = ("description",)
|
|
52
41
|
default_columns = (
|
|
53
42
|
"name",
|
|
54
43
|
"tags",
|
|
@@ -60,10 +49,7 @@ class ZoneTemplateDisplayTable(ZoneTemplateTable):
|
|
|
60
49
|
|
|
61
50
|
class Meta(NetBoxTable.Meta):
|
|
62
51
|
model = ZoneTemplate
|
|
63
|
-
fields = (
|
|
64
|
-
"name",
|
|
65
|
-
"description",
|
|
66
|
-
)
|
|
52
|
+
fields = ("description",)
|
|
67
53
|
default_columns = (
|
|
68
54
|
"name",
|
|
69
55
|
"description",
|
netbox_dns/urls/__init__.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .
|
|
1
|
+
from .registration_contact import registrationcontact_urlpatterns
|
|
2
2
|
from .nameserver import nameserver_urlpatterns
|
|
3
3
|
from .record import record_urlpatterns
|
|
4
4
|
from .record_template import recordtemplate_urlpatterns
|
|
@@ -10,7 +10,7 @@ from .zone_template import zonetemplate_urlpatterns
|
|
|
10
10
|
app_name = "netbox_dns"
|
|
11
11
|
|
|
12
12
|
urlpatterns = (
|
|
13
|
-
|
|
13
|
+
registrationcontact_urlpatterns
|
|
14
14
|
+ nameserver_urlpatterns
|
|
15
15
|
+ record_urlpatterns
|
|
16
16
|
+ recordtemplate_urlpatterns
|
netbox_dns/urls/nameserver.py
CHANGED
|
@@ -1,39 +1,21 @@
|
|
|
1
|
-
from django.urls import path
|
|
1
|
+
from django.urls import include, path
|
|
2
2
|
|
|
3
|
-
from
|
|
3
|
+
from utilities.urls import get_model_urls
|
|
4
4
|
|
|
5
|
-
from netbox_dns.models import NameServer
|
|
6
5
|
from netbox_dns.views import (
|
|
7
|
-
NameServerListView,
|
|
8
6
|
NameServerView,
|
|
7
|
+
NameServerListView,
|
|
9
8
|
NameServerEditView,
|
|
10
9
|
NameServerDeleteView,
|
|
11
10
|
NameServerBulkImportView,
|
|
12
11
|
NameServerBulkEditView,
|
|
13
12
|
NameServerBulkDeleteView,
|
|
14
|
-
NameServerZoneListView,
|
|
15
|
-
NameServerSOAZoneListView,
|
|
16
13
|
)
|
|
17
14
|
|
|
18
15
|
nameserver_urlpatterns = [
|
|
16
|
+
path("nameservers/<int:pk>/", NameServerView.as_view(), name="nameserver"),
|
|
19
17
|
path("nameservers/", NameServerListView.as_view(), name="nameserver_list"),
|
|
20
18
|
path("nameservers/add/", NameServerEditView.as_view(), name="nameserver_add"),
|
|
21
|
-
path(
|
|
22
|
-
"nameservers/import/",
|
|
23
|
-
NameServerBulkImportView.as_view(),
|
|
24
|
-
name="nameserver_import",
|
|
25
|
-
),
|
|
26
|
-
path(
|
|
27
|
-
"nameservers/edit/",
|
|
28
|
-
NameServerBulkEditView.as_view(),
|
|
29
|
-
name="nameserver_bulk_edit",
|
|
30
|
-
),
|
|
31
|
-
path(
|
|
32
|
-
"nameservers/delete/",
|
|
33
|
-
NameServerBulkDeleteView.as_view(),
|
|
34
|
-
name="nameserver_bulk_delete",
|
|
35
|
-
),
|
|
36
|
-
path("nameservers/<int:pk>/", NameServerView.as_view(), name="nameserver"),
|
|
37
19
|
path(
|
|
38
20
|
"nameservers/<int:pk>/edit",
|
|
39
21
|
NameServerEditView.as_view(),
|
|
@@ -45,25 +27,19 @@ nameserver_urlpatterns = [
|
|
|
45
27
|
name="nameserver_delete",
|
|
46
28
|
),
|
|
47
29
|
path(
|
|
48
|
-
"nameservers
|
|
49
|
-
|
|
50
|
-
name="
|
|
51
|
-
kwargs={"model": NameServer},
|
|
52
|
-
),
|
|
53
|
-
path(
|
|
54
|
-
"nameservers/<int:pk>/changelog/",
|
|
55
|
-
ObjectChangeLogView.as_view(),
|
|
56
|
-
name="nameserver_changelog",
|
|
57
|
-
kwargs={"model": NameServer},
|
|
30
|
+
"nameservers/import/",
|
|
31
|
+
NameServerBulkImportView.as_view(),
|
|
32
|
+
name="nameserver_import",
|
|
58
33
|
),
|
|
59
34
|
path(
|
|
60
|
-
"nameservers
|
|
61
|
-
|
|
62
|
-
name="
|
|
35
|
+
"nameservers/edit/",
|
|
36
|
+
NameServerBulkEditView.as_view(),
|
|
37
|
+
name="nameserver_bulk_edit",
|
|
63
38
|
),
|
|
64
39
|
path(
|
|
65
|
-
"nameservers
|
|
66
|
-
|
|
67
|
-
name="
|
|
40
|
+
"nameservers/delete/",
|
|
41
|
+
NameServerBulkDeleteView.as_view(),
|
|
42
|
+
name="nameserver_bulk_delete",
|
|
68
43
|
),
|
|
44
|
+
path("nameservers/<int:pk>/", include(get_model_urls("netbox_dns", "nameserver"))),
|
|
69
45
|
]
|