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
netbox_dns/urls/record.py
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
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 Record
|
|
6
5
|
from netbox_dns.views import (
|
|
7
|
-
RecordListView,
|
|
8
6
|
RecordView,
|
|
7
|
+
RecordListView,
|
|
9
8
|
RecordEditView,
|
|
10
9
|
RecordDeleteView,
|
|
11
10
|
RecordBulkImportView,
|
|
@@ -15,26 +14,15 @@ from netbox_dns.views import (
|
|
|
15
14
|
)
|
|
16
15
|
|
|
17
16
|
record_urlpatterns = [
|
|
17
|
+
path("records/<int:pk>/", RecordView.as_view(), name="record"),
|
|
18
18
|
path("records/", RecordListView.as_view(), name="record_list"),
|
|
19
19
|
path("records/add/", RecordEditView.as_view(), name="record_add"),
|
|
20
|
+
path("records/<int:pk>/edit/", RecordEditView.as_view(), name="record_edit"),
|
|
21
|
+
path("records/<int:pk>/delete/", RecordDeleteView.as_view(), name="record_delete"),
|
|
20
22
|
path("records/import/", RecordBulkImportView.as_view(), name="record_import"),
|
|
21
23
|
path("records/edit/", RecordBulkEditView.as_view(), name="record_bulk_edit"),
|
|
22
24
|
path("records/delete/", RecordBulkDeleteView.as_view(), name="record_bulk_delete"),
|
|
23
|
-
path("records/<int:pk>/",
|
|
24
|
-
path("records/<int:pk>/edit/", RecordEditView.as_view(), name="record_edit"),
|
|
25
|
-
path("records/<int:pk>/delete/", RecordDeleteView.as_view(), name="record_delete"),
|
|
26
|
-
path(
|
|
27
|
-
"records/<int:pk>/journal/",
|
|
28
|
-
ObjectJournalView.as_view(),
|
|
29
|
-
name="record_journal",
|
|
30
|
-
kwargs={"model": Record},
|
|
31
|
-
),
|
|
32
|
-
path(
|
|
33
|
-
"records/<int:pk>/changelog/",
|
|
34
|
-
ObjectChangeLogView.as_view(),
|
|
35
|
-
name="record_changelog",
|
|
36
|
-
kwargs={"model": Record},
|
|
37
|
-
),
|
|
25
|
+
path("records/<int:pk>/", include(get_model_urls("netbox_dns", "record"))),
|
|
38
26
|
path(
|
|
39
27
|
"managedrecords/", ManagedRecordListView.as_view(), name="managed_record_list"
|
|
40
28
|
),
|
|
@@ -1,11 +1,10 @@
|
|
|
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 RecordTemplate
|
|
6
5
|
from netbox_dns.views import (
|
|
7
|
-
RecordTemplateListView,
|
|
8
6
|
RecordTemplateView,
|
|
7
|
+
RecordTemplateListView,
|
|
9
8
|
RecordTemplateEditView,
|
|
10
9
|
RecordTemplateDeleteView,
|
|
11
10
|
RecordTemplateBulkImportView,
|
|
@@ -14,6 +13,9 @@ from netbox_dns.views import (
|
|
|
14
13
|
)
|
|
15
14
|
|
|
16
15
|
recordtemplate_urlpatterns = [
|
|
16
|
+
path(
|
|
17
|
+
"recordtemplates/<int:pk>/", RecordTemplateView.as_view(), name="recordtemplate"
|
|
18
|
+
),
|
|
17
19
|
path(
|
|
18
20
|
"recordtemplates/", RecordTemplateListView.as_view(), name="recordtemplate_list"
|
|
19
21
|
),
|
|
@@ -22,6 +24,16 @@ recordtemplate_urlpatterns = [
|
|
|
22
24
|
RecordTemplateEditView.as_view(),
|
|
23
25
|
name="recordtemplate_add",
|
|
24
26
|
),
|
|
27
|
+
path(
|
|
28
|
+
"recordtemplates/<int:pk>/edit/",
|
|
29
|
+
RecordTemplateEditView.as_view(),
|
|
30
|
+
name="recordtemplate_edit",
|
|
31
|
+
),
|
|
32
|
+
path(
|
|
33
|
+
"recordtemplates/<int:pk>/delete/",
|
|
34
|
+
RecordTemplateDeleteView.as_view(),
|
|
35
|
+
name="recordtemplate_delete",
|
|
36
|
+
),
|
|
25
37
|
path(
|
|
26
38
|
"recordtemplates/import/",
|
|
27
39
|
RecordTemplateBulkImportView.as_view(),
|
|
@@ -38,28 +50,7 @@ recordtemplate_urlpatterns = [
|
|
|
38
50
|
name="recordtemplate_bulk_delete",
|
|
39
51
|
),
|
|
40
52
|
path(
|
|
41
|
-
"recordtemplates/<int:pk>/",
|
|
42
|
-
|
|
43
|
-
path(
|
|
44
|
-
"recordtemplates/<int:pk>/edit/",
|
|
45
|
-
RecordTemplateEditView.as_view(),
|
|
46
|
-
name="recordtemplate_edit",
|
|
47
|
-
),
|
|
48
|
-
path(
|
|
49
|
-
"recordtemplates/<int:pk>/delete/",
|
|
50
|
-
RecordTemplateDeleteView.as_view(),
|
|
51
|
-
name="recordtemplate_delete",
|
|
52
|
-
),
|
|
53
|
-
path(
|
|
54
|
-
"recordtemplates/<int:pk>/journal/",
|
|
55
|
-
ObjectJournalView.as_view(),
|
|
56
|
-
name="recordtemplate_journal",
|
|
57
|
-
kwargs={"model": RecordTemplate},
|
|
58
|
-
),
|
|
59
|
-
path(
|
|
60
|
-
"recordtemplates/<int:pk>/changelog/",
|
|
61
|
-
ObjectChangeLogView.as_view(),
|
|
62
|
-
name="recordtemplate_changelog",
|
|
63
|
-
kwargs={"model": RecordTemplate},
|
|
53
|
+
"recordtemplates/<int:pk>/",
|
|
54
|
+
include(get_model_urls("netbox_dns", "recordtemplate")),
|
|
64
55
|
),
|
|
65
56
|
]
|
netbox_dns/urls/registrar.py
CHANGED
|
@@ -1,63 +1,39 @@
|
|
|
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 Registrar
|
|
6
5
|
from netbox_dns.views import (
|
|
7
|
-
RegistrarListView,
|
|
8
6
|
RegistrarView,
|
|
9
|
-
|
|
7
|
+
RegistrarListView,
|
|
10
8
|
RegistrarEditView,
|
|
9
|
+
RegistrarDeleteView,
|
|
11
10
|
RegistrarBulkImportView,
|
|
12
11
|
RegistrarBulkEditView,
|
|
13
12
|
RegistrarBulkDeleteView,
|
|
14
|
-
RegistrarZoneListView,
|
|
15
13
|
)
|
|
16
14
|
|
|
17
15
|
registrar_urlpatterns = [
|
|
16
|
+
path("registrars/<int:pk>/", RegistrarView.as_view(), name="registrar"),
|
|
18
17
|
path("registrars/", RegistrarListView.as_view(), name="registrar_list"),
|
|
19
18
|
path("registrars/add/", RegistrarEditView.as_view(), name="registrar_add"),
|
|
20
19
|
path(
|
|
21
|
-
"registrars/
|
|
22
|
-
RegistrarBulkImportView.as_view(),
|
|
23
|
-
name="registrar_import",
|
|
24
|
-
),
|
|
25
|
-
path(
|
|
26
|
-
"registrars/edit/",
|
|
27
|
-
RegistrarBulkEditView.as_view(),
|
|
28
|
-
name="registrar_bulk_edit",
|
|
20
|
+
"registrars/<int:pk>/edit/", RegistrarEditView.as_view(), name="registrar_edit"
|
|
29
21
|
),
|
|
30
22
|
path(
|
|
31
23
|
"registrars/delete/",
|
|
32
24
|
RegistrarBulkDeleteView.as_view(),
|
|
33
25
|
name="registrar_bulk_delete",
|
|
34
26
|
),
|
|
35
|
-
path("registrars/<int:pk>/", RegistrarView.as_view(), name="registrar"),
|
|
36
27
|
path(
|
|
37
|
-
"registrars
|
|
38
|
-
|
|
39
|
-
|
|
28
|
+
"registrars/import/", RegistrarBulkImportView.as_view(), name="registrar_import"
|
|
29
|
+
),
|
|
30
|
+
path(
|
|
31
|
+
"registrars/edit/", RegistrarBulkEditView.as_view(), name="registrar_bulk_edit"
|
|
40
32
|
),
|
|
41
33
|
path(
|
|
42
34
|
"registrars/<int:pk>/delete/",
|
|
43
35
|
RegistrarDeleteView.as_view(),
|
|
44
36
|
name="registrar_delete",
|
|
45
37
|
),
|
|
46
|
-
path(
|
|
47
|
-
"registrars/<int:pk>/zones/",
|
|
48
|
-
RegistrarZoneListView.as_view(),
|
|
49
|
-
name="registrar_zones",
|
|
50
|
-
),
|
|
51
|
-
path(
|
|
52
|
-
"registrars/<int:pk>/journal/",
|
|
53
|
-
ObjectJournalView.as_view(),
|
|
54
|
-
name="registrar_journal",
|
|
55
|
-
kwargs={"model": Registrar},
|
|
56
|
-
),
|
|
57
|
-
path(
|
|
58
|
-
"registrars/<int:pk>/changelog/",
|
|
59
|
-
ObjectChangeLogView.as_view(),
|
|
60
|
-
name="registrar_changelog",
|
|
61
|
-
kwargs={"model": Registrar},
|
|
62
|
-
),
|
|
38
|
+
path("registrars/<int:pk>/", include(get_model_urls("netbox_dns", "registrar"))),
|
|
63
39
|
]
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from django.urls import include, path
|
|
2
|
+
|
|
3
|
+
from utilities.urls import get_model_urls
|
|
4
|
+
|
|
5
|
+
from netbox_dns.views import (
|
|
6
|
+
RegistrationContactView,
|
|
7
|
+
RegistrationContactListView,
|
|
8
|
+
RegistrationContactEditView,
|
|
9
|
+
RegistrationContactDeleteView,
|
|
10
|
+
RegistrationContactBulkImportView,
|
|
11
|
+
RegistrationContactBulkEditView,
|
|
12
|
+
RegistrationContactBulkDeleteView,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
registrationcontact_urlpatterns = [
|
|
16
|
+
path(
|
|
17
|
+
"registrationcontacts/<int:pk>/",
|
|
18
|
+
RegistrationContactView.as_view(),
|
|
19
|
+
name="registrationcontact",
|
|
20
|
+
),
|
|
21
|
+
path(
|
|
22
|
+
"registrationcontacts/",
|
|
23
|
+
RegistrationContactListView.as_view(),
|
|
24
|
+
name="registrationcontact_list",
|
|
25
|
+
),
|
|
26
|
+
path(
|
|
27
|
+
"registrationcontacts/add/",
|
|
28
|
+
RegistrationContactEditView.as_view(),
|
|
29
|
+
name="registrationcontact_add",
|
|
30
|
+
),
|
|
31
|
+
path(
|
|
32
|
+
"registrationcontacts/<int:pk>/edit/",
|
|
33
|
+
RegistrationContactEditView.as_view(),
|
|
34
|
+
name="registrationcontact_edit",
|
|
35
|
+
),
|
|
36
|
+
path(
|
|
37
|
+
"registrationcontacts/<int:pk>/delete/",
|
|
38
|
+
RegistrationContactDeleteView.as_view(),
|
|
39
|
+
name="registrationcontact_delete",
|
|
40
|
+
),
|
|
41
|
+
path(
|
|
42
|
+
"registrationcontacts/import/",
|
|
43
|
+
RegistrationContactBulkImportView.as_view(),
|
|
44
|
+
name="registrationcontact_import",
|
|
45
|
+
),
|
|
46
|
+
path(
|
|
47
|
+
"registrationcontacts/edit/",
|
|
48
|
+
RegistrationContactBulkEditView.as_view(),
|
|
49
|
+
name="registrationcontact_bulk_edit",
|
|
50
|
+
),
|
|
51
|
+
path(
|
|
52
|
+
"registrationcontacts/delete/",
|
|
53
|
+
RegistrationContactBulkDeleteView.as_view(),
|
|
54
|
+
name="registrationcontact_bulk_delete",
|
|
55
|
+
),
|
|
56
|
+
path(
|
|
57
|
+
"registrationcontacts/<int:pk>/",
|
|
58
|
+
include(get_model_urls("netbox_dns", "registrationcontact")),
|
|
59
|
+
),
|
|
60
|
+
]
|
netbox_dns/urls/view.py
CHANGED
|
@@ -1,42 +1,28 @@
|
|
|
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 View
|
|
6
5
|
from netbox_dns.views import (
|
|
7
|
-
ViewListView,
|
|
8
6
|
ViewView,
|
|
9
|
-
|
|
7
|
+
ViewListView,
|
|
10
8
|
ViewEditView,
|
|
9
|
+
ViewDeleteView,
|
|
11
10
|
ViewBulkImportView,
|
|
12
11
|
ViewBulkEditView,
|
|
13
12
|
ViewBulkDeleteView,
|
|
14
|
-
ViewZoneListView,
|
|
15
13
|
ViewPrefixEditView,
|
|
16
14
|
)
|
|
17
15
|
|
|
18
16
|
view_urlpatterns = [
|
|
17
|
+
path("views/<int:pk>/", ViewView.as_view(), name="view"),
|
|
19
18
|
path("views/", ViewListView.as_view(), name="view_list"),
|
|
20
19
|
path("views/add/", ViewEditView.as_view(), name="view_add"),
|
|
20
|
+
path("views/<int:pk>/edit/", ViewEditView.as_view(), name="view_edit"),
|
|
21
|
+
path("views/<int:pk>/delete/", ViewDeleteView.as_view(), name="view_delete"),
|
|
21
22
|
path("views/import/", ViewBulkImportView.as_view(), name="view_import"),
|
|
22
23
|
path("views/edit/", ViewBulkEditView.as_view(), name="view_bulk_edit"),
|
|
23
24
|
path("views/delete/", ViewBulkDeleteView.as_view(), name="view_bulk_delete"),
|
|
24
|
-
path("views/<int:pk>/",
|
|
25
|
-
path("views/<int:pk>/edit/", ViewEditView.as_view(), name="view_edit"),
|
|
26
|
-
path("views/<int:pk>/delete/", ViewDeleteView.as_view(), name="view_delete"),
|
|
27
|
-
path("views/<int:pk>/zones/", ViewZoneListView.as_view(), name="view_zones"),
|
|
28
|
-
path(
|
|
29
|
-
"views/<int:pk>/journal/",
|
|
30
|
-
ObjectJournalView.as_view(),
|
|
31
|
-
name="view_journal",
|
|
32
|
-
kwargs={"model": View},
|
|
33
|
-
),
|
|
34
|
-
path(
|
|
35
|
-
"views/<int:pk>/changelog/",
|
|
36
|
-
ObjectChangeLogView.as_view(),
|
|
37
|
-
name="view_changelog",
|
|
38
|
-
kwargs={"model": View},
|
|
39
|
-
),
|
|
25
|
+
path("views/<int:pk>/", include(get_model_urls("netbox_dns", "view"))),
|
|
40
26
|
path(
|
|
41
27
|
"prefixes/<int:pk>/assign-views/",
|
|
42
28
|
ViewPrefixEditView.as_view(),
|
netbox_dns/urls/zone.py
CHANGED
|
@@ -1,63 +1,25 @@
|
|
|
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 Zone
|
|
6
5
|
from netbox_dns.views import (
|
|
7
|
-
ZoneListView,
|
|
8
6
|
ZoneView,
|
|
9
|
-
|
|
7
|
+
ZoneListView,
|
|
10
8
|
ZoneEditView,
|
|
9
|
+
ZoneDeleteView,
|
|
11
10
|
ZoneBulkImportView,
|
|
12
11
|
ZoneBulkEditView,
|
|
13
12
|
ZoneBulkDeleteView,
|
|
14
|
-
ZoneRecordListView,
|
|
15
|
-
ZoneManagedRecordListView,
|
|
16
|
-
ZoneRegistrationView,
|
|
17
|
-
ZoneRFC2317ChildZoneListView,
|
|
18
|
-
ZoneChildZoneListView,
|
|
19
13
|
)
|
|
20
14
|
|
|
21
15
|
zone_urlpatterns = [
|
|
16
|
+
path("zones/<int:pk>/", ZoneView.as_view(), name="zone"),
|
|
22
17
|
path("zones/", ZoneListView.as_view(), name="zone_list"),
|
|
23
18
|
path("zones/add/", ZoneEditView.as_view(), name="zone_add"),
|
|
19
|
+
path("zones/<int:pk>/edit/", ZoneEditView.as_view(), name="zone_edit"),
|
|
20
|
+
path("zones/<int:pk>/delete/", ZoneDeleteView.as_view(), name="zone_delete"),
|
|
24
21
|
path("zones/import/", ZoneBulkImportView.as_view(), name="zone_import"),
|
|
25
22
|
path("zones/edit/", ZoneBulkEditView.as_view(), name="zone_bulk_edit"),
|
|
26
23
|
path("zones/delete/", ZoneBulkDeleteView.as_view(), name="zone_bulk_delete"),
|
|
27
|
-
path("zones/<int:pk>/",
|
|
28
|
-
path("zones/<int:pk>/delete/", ZoneDeleteView.as_view(), name="zone_delete"),
|
|
29
|
-
path("zones/<int:pk>/edit/", ZoneEditView.as_view(), name="zone_edit"),
|
|
30
|
-
path("zones/<int:pk>/records/", ZoneRecordListView.as_view(), name="zone_records"),
|
|
31
|
-
path(
|
|
32
|
-
"zones/<int:pk>/managedrecords/",
|
|
33
|
-
ZoneManagedRecordListView.as_view(),
|
|
34
|
-
name="zone_managed_records",
|
|
35
|
-
),
|
|
36
|
-
path(
|
|
37
|
-
"zones/<int:pk>/rfc2317childzones/",
|
|
38
|
-
ZoneRFC2317ChildZoneListView.as_view(),
|
|
39
|
-
name="zone_rfc2317_child_zones",
|
|
40
|
-
),
|
|
41
|
-
path(
|
|
42
|
-
"zones/<int:pk>/childzones/",
|
|
43
|
-
ZoneChildZoneListView.as_view(),
|
|
44
|
-
name="zone_child_zones",
|
|
45
|
-
),
|
|
46
|
-
path(
|
|
47
|
-
"zones/<int:pk>/registration/",
|
|
48
|
-
ZoneRegistrationView.as_view(),
|
|
49
|
-
name="zone_registration",
|
|
50
|
-
),
|
|
51
|
-
path(
|
|
52
|
-
"zones/<int:pk>/journal/",
|
|
53
|
-
ObjectJournalView.as_view(),
|
|
54
|
-
name="zone_journal",
|
|
55
|
-
kwargs={"model": Zone},
|
|
56
|
-
),
|
|
57
|
-
path(
|
|
58
|
-
"zones/<int:pk>/changelog/",
|
|
59
|
-
ObjectChangeLogView.as_view(),
|
|
60
|
-
name="zone_changelog",
|
|
61
|
-
kwargs={"model": Zone},
|
|
62
|
-
),
|
|
24
|
+
path("zones/<int:pk>/", include(get_model_urls("netbox_dns", "zone"))),
|
|
63
25
|
]
|
netbox_dns/urls/zone_template.py
CHANGED
|
@@ -1,21 +1,31 @@
|
|
|
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 ZoneTemplate
|
|
6
5
|
from netbox_dns.views import (
|
|
7
|
-
ZoneTemplateListView,
|
|
8
6
|
ZoneTemplateView,
|
|
9
|
-
|
|
7
|
+
ZoneTemplateListView,
|
|
10
8
|
ZoneTemplateEditView,
|
|
9
|
+
ZoneTemplateDeleteView,
|
|
11
10
|
ZoneTemplateBulkImportView,
|
|
12
11
|
ZoneTemplateBulkEditView,
|
|
13
12
|
ZoneTemplateBulkDeleteView,
|
|
14
13
|
)
|
|
15
14
|
|
|
16
15
|
zonetemplate_urlpatterns = [
|
|
16
|
+
path("zonetemplates/<int:pk>/", ZoneTemplateView.as_view(), name="zonetemplate"),
|
|
17
17
|
path("zonetemplates/", ZoneTemplateListView.as_view(), name="zonetemplate_list"),
|
|
18
18
|
path("zonetemplates/add/", ZoneTemplateEditView.as_view(), name="zonetemplate_add"),
|
|
19
|
+
path(
|
|
20
|
+
"zonetemplates/<int:pk>/edit/",
|
|
21
|
+
ZoneTemplateEditView.as_view(),
|
|
22
|
+
name="zonetemplate_edit",
|
|
23
|
+
),
|
|
24
|
+
path(
|
|
25
|
+
"zonetemplates/<int:pk>/delete/",
|
|
26
|
+
ZoneTemplateDeleteView.as_view(),
|
|
27
|
+
name="zonetemplate_delete",
|
|
28
|
+
),
|
|
19
29
|
path(
|
|
20
30
|
"zonetemplates/import/",
|
|
21
31
|
ZoneTemplateBulkImportView.as_view(),
|
|
@@ -31,27 +41,7 @@ zonetemplate_urlpatterns = [
|
|
|
31
41
|
ZoneTemplateBulkDeleteView.as_view(),
|
|
32
42
|
name="zonetemplate_bulk_delete",
|
|
33
43
|
),
|
|
34
|
-
path("zonetemplates/<int:pk>/", ZoneTemplateView.as_view(), name="zonetemplate"),
|
|
35
|
-
path(
|
|
36
|
-
"zonetemplates/<int:pk>/delete/",
|
|
37
|
-
ZoneTemplateDeleteView.as_view(),
|
|
38
|
-
name="zonetemplate_delete",
|
|
39
|
-
),
|
|
40
|
-
path(
|
|
41
|
-
"zonetemplates/<int:pk>/edit/",
|
|
42
|
-
ZoneTemplateEditView.as_view(),
|
|
43
|
-
name="zonetemplate_edit",
|
|
44
|
-
),
|
|
45
|
-
path(
|
|
46
|
-
"zonetemplates/<int:pk>/journal/",
|
|
47
|
-
ObjectJournalView.as_view(),
|
|
48
|
-
name="zonetemplate_journal",
|
|
49
|
-
kwargs={"model": ZoneTemplate},
|
|
50
|
-
),
|
|
51
44
|
path(
|
|
52
|
-
"zonetemplates/<int:pk>/
|
|
53
|
-
ObjectChangeLogView.as_view(),
|
|
54
|
-
name="zonetemplate_changelog",
|
|
55
|
-
kwargs={"model": ZoneTemplate},
|
|
45
|
+
"zonetemplates/<int:pk>/", include(get_model_urls("netbox_dns", "zonetemplate"))
|
|
56
46
|
),
|
|
57
47
|
]
|
|
@@ -88,7 +88,7 @@ def get_zones(ip_address, view=None, old_zone=None):
|
|
|
88
88
|
fqdn = dns_name.from_text(ip_address.dns_name)
|
|
89
89
|
zone_name_candidates = [
|
|
90
90
|
fqdn.split(i)[1].to_text().rstrip(".")
|
|
91
|
-
for i in range(min_labels + 1, len(fqdn.labels))
|
|
91
|
+
for i in range(min_labels + 1, len(fqdn.labels) + 1)
|
|
92
92
|
]
|
|
93
93
|
|
|
94
94
|
zones = _zone.Zone.objects.filter(
|
netbox_dns/views/__init__.py
CHANGED
netbox_dns/views/nameserver.py
CHANGED
|
@@ -2,6 +2,7 @@ from dns import name as dns_name
|
|
|
2
2
|
|
|
3
3
|
from netbox.views import generic
|
|
4
4
|
from utilities.views import ViewTab, register_model_view
|
|
5
|
+
from tenancy.views import ObjectContactsView
|
|
5
6
|
|
|
6
7
|
from netbox_dns.filtersets import NameServerFilterSet, ZoneFilterSet
|
|
7
8
|
from netbox_dns.forms import (
|
|
@@ -15,15 +16,13 @@ from netbox_dns.tables import NameServerTable, ZoneTable
|
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
__all__ = (
|
|
18
|
-
"NameServerListView",
|
|
19
19
|
"NameServerView",
|
|
20
|
+
"NameServerListView",
|
|
20
21
|
"NameServerEditView",
|
|
21
22
|
"NameServerDeleteView",
|
|
22
23
|
"NameServerBulkEditView",
|
|
23
24
|
"NameServerBulkImportView",
|
|
24
25
|
"NameServerBulkDeleteView",
|
|
25
|
-
"NameServerZoneListView",
|
|
26
|
-
"NameServerSOAZoneListView",
|
|
27
26
|
)
|
|
28
27
|
|
|
29
28
|
|
|
@@ -77,6 +76,11 @@ class NameServerBulkDeleteView(generic.BulkDeleteView):
|
|
|
77
76
|
table = NameServerTable
|
|
78
77
|
|
|
79
78
|
|
|
79
|
+
@register_model_view(NameServer, "contacts")
|
|
80
|
+
class NameServerContactsView(ObjectContactsView):
|
|
81
|
+
queryset = NameServer.objects.all()
|
|
82
|
+
|
|
83
|
+
|
|
80
84
|
@register_model_view(NameServer, "zones")
|
|
81
85
|
class NameServerZoneListView(generic.ObjectChildrenView):
|
|
82
86
|
queryset = NameServer.objects.all().prefetch_related("zones")
|
netbox_dns/views/record.py
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
from dns import name as dns_name
|
|
2
2
|
|
|
3
3
|
from netbox.views import generic
|
|
4
|
+
from utilities.views import register_model_view
|
|
5
|
+
from tenancy.views import ObjectContactsView
|
|
4
6
|
|
|
5
7
|
from netbox_dns.filtersets import RecordFilterSet
|
|
6
8
|
from netbox_dns.forms import (
|
|
@@ -16,14 +18,14 @@ from netbox_dns.utilities import value_to_unicode
|
|
|
16
18
|
|
|
17
19
|
|
|
18
20
|
__all__ = (
|
|
19
|
-
"RecordListView",
|
|
20
|
-
"ManagedRecordListView",
|
|
21
21
|
"RecordView",
|
|
22
|
+
"RecordListView",
|
|
22
23
|
"RecordEditView",
|
|
23
24
|
"RecordDeleteView",
|
|
24
25
|
"RecordBulkImportView",
|
|
25
26
|
"RecordBulkEditView",
|
|
26
27
|
"RecordBulkDeleteView",
|
|
28
|
+
"ManagedRecordListView",
|
|
27
29
|
)
|
|
28
30
|
|
|
29
31
|
|
|
@@ -37,7 +39,9 @@ class RecordListView(generic.ObjectListView):
|
|
|
37
39
|
|
|
38
40
|
|
|
39
41
|
class ManagedRecordListView(generic.ObjectListView):
|
|
40
|
-
queryset = Record.objects.prefetch_related(
|
|
42
|
+
queryset = Record.objects.filter(managed=True).prefetch_related(
|
|
43
|
+
"ipam_ip_address", "address_record"
|
|
44
|
+
)
|
|
41
45
|
filterset = RecordFilterSet
|
|
42
46
|
filterset_form = RecordFilterForm
|
|
43
47
|
table = ManagedRecordTable
|
|
@@ -153,3 +157,8 @@ class RecordBulkEditView(generic.BulkEditView):
|
|
|
153
157
|
class RecordBulkDeleteView(generic.BulkDeleteView):
|
|
154
158
|
queryset = Record.objects.filter(managed=False)
|
|
155
159
|
table = RecordTable
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
@register_model_view(Record, "contacts")
|
|
163
|
+
class RecordContactsView(ObjectContactsView):
|
|
164
|
+
queryset = Record.objects.all()
|
netbox_dns/views/registrar.py
CHANGED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
from django.db.models import Q
|
|
2
|
+
|
|
3
|
+
from netbox.views import generic
|
|
4
|
+
|
|
5
|
+
from utilities.views import ViewTab, register_model_view
|
|
6
|
+
|
|
7
|
+
from netbox_dns.models import RegistrationContact, Zone
|
|
8
|
+
from netbox_dns.filtersets import RegistrationContactFilterSet, ZoneFilterSet
|
|
9
|
+
from netbox_dns.forms import (
|
|
10
|
+
RegistrationContactForm,
|
|
11
|
+
RegistrationContactFilterForm,
|
|
12
|
+
RegistrationContactImportForm,
|
|
13
|
+
RegistrationContactBulkEditForm,
|
|
14
|
+
)
|
|
15
|
+
from netbox_dns.tables import RegistrationContactTable, ZoneTable
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
__all__ = (
|
|
19
|
+
"RegistrationContactView",
|
|
20
|
+
"RegistrationContactEditView",
|
|
21
|
+
"RegistrationContactListView",
|
|
22
|
+
"RegistrationContactDeleteView",
|
|
23
|
+
"RegistrationContactBulkImportView",
|
|
24
|
+
"RegistrationContactBulkEditView",
|
|
25
|
+
"RegistrationContactBulkDeleteView",
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class RegistrationContactView(generic.ObjectView):
|
|
30
|
+
queryset = RegistrationContact.objects.all()
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class RegistrationContactListView(generic.ObjectListView):
|
|
34
|
+
queryset = RegistrationContact.objects.all()
|
|
35
|
+
table = RegistrationContactTable
|
|
36
|
+
filterset = RegistrationContactFilterSet
|
|
37
|
+
filterset_form = RegistrationContactFilterForm
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class RegistrationContactEditView(generic.ObjectEditView):
|
|
41
|
+
queryset = RegistrationContact.objects.all()
|
|
42
|
+
form = RegistrationContactForm
|
|
43
|
+
default_return_url = "plugins:netbox_dns:registrationcontact_list"
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class RegistrationContactDeleteView(generic.ObjectDeleteView):
|
|
47
|
+
queryset = RegistrationContact.objects.all()
|
|
48
|
+
default_return_url = "plugins:netbox_dns:registrationcontact_list"
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class RegistrationContactBulkImportView(generic.BulkImportView):
|
|
52
|
+
queryset = RegistrationContact.objects.all()
|
|
53
|
+
model_form = RegistrationContactImportForm
|
|
54
|
+
table = RegistrationContactTable
|
|
55
|
+
default_return_url = "plugins:netbox_dns:registrationcontact_list"
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class RegistrationContactBulkEditView(generic.BulkEditView):
|
|
59
|
+
queryset = RegistrationContact.objects.all()
|
|
60
|
+
filterset = RegistrationContactFilterSet
|
|
61
|
+
table = RegistrationContactTable
|
|
62
|
+
form = RegistrationContactBulkEditForm
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class RegistrationContactBulkDeleteView(generic.BulkDeleteView):
|
|
66
|
+
queryset = RegistrationContact.objects.all()
|
|
67
|
+
table = RegistrationContactTable
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
@register_model_view(RegistrationContact, "zones")
|
|
71
|
+
class RegistrationContactZoneListView(generic.ObjectChildrenView):
|
|
72
|
+
queryset = RegistrationContact.objects.all().prefetch_related(
|
|
73
|
+
"zone_set", "admin_c_zones", "tech_c_zones", "billing_c_zones"
|
|
74
|
+
)
|
|
75
|
+
child_model = Zone
|
|
76
|
+
table = ZoneTable
|
|
77
|
+
filterset = ZoneFilterSet
|
|
78
|
+
template_name = "netbox_dns/zone/child.html"
|
|
79
|
+
hide_if_empty = True
|
|
80
|
+
|
|
81
|
+
tab = ViewTab(
|
|
82
|
+
label="Zones",
|
|
83
|
+
permission="netbox_dns.view_zone",
|
|
84
|
+
badge=lambda obj: len(obj.zones),
|
|
85
|
+
hide_if_empty=True,
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
def get_children(self, request, parent):
|
|
89
|
+
return Zone.objects.filter(
|
|
90
|
+
Q(registrant=parent)
|
|
91
|
+
| Q(admin_c=parent)
|
|
92
|
+
| Q(tech_c=parent)
|
|
93
|
+
| Q(billing_c=parent)
|
|
94
|
+
)
|