netbox-plugin-dns 0.22.9__py3-none-any.whl → 1.0b1__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.

Files changed (103) hide show
  1. netbox_dns/__init__.py +3 -14
  2. netbox_dns/api/nested_serializers.py +4 -60
  3. netbox_dns/api/serializers.py +8 -314
  4. netbox_dns/api/serializers_/__init__.py +0 -0
  5. netbox_dns/api/serializers_/contact.py +37 -0
  6. netbox_dns/api/serializers_/nameserver.py +39 -0
  7. netbox_dns/api/serializers_/record.py +90 -0
  8. netbox_dns/api/serializers_/registrar.py +31 -0
  9. netbox_dns/api/serializers_/view.py +29 -0
  10. netbox_dns/api/serializers_/zone.py +170 -0
  11. netbox_dns/api/views.py +13 -13
  12. netbox_dns/fields/network.py +1 -1
  13. netbox_dns/fields/rfc2317.py +1 -1
  14. netbox_dns/{filters → filtersets}/contact.py +2 -1
  15. netbox_dns/filtersets/nameserver.py +37 -0
  16. netbox_dns/{filters → filtersets}/record.py +51 -6
  17. netbox_dns/{filters → filtersets}/registrar.py +2 -1
  18. netbox_dns/{filters → filtersets}/view.py +2 -2
  19. netbox_dns/filtersets/zone.py +205 -0
  20. netbox_dns/forms/contact.py +61 -33
  21. netbox_dns/forms/nameserver.py +21 -8
  22. netbox_dns/forms/record.py +35 -36
  23. netbox_dns/forms/registrar.py +45 -15
  24. netbox_dns/forms/view.py +19 -8
  25. netbox_dns/forms/zone.py +112 -87
  26. netbox_dns/graphql/__init__.py +17 -27
  27. netbox_dns/graphql/filters.py +49 -0
  28. netbox_dns/graphql/schema.py +66 -7
  29. netbox_dns/graphql/types.py +146 -0
  30. netbox_dns/management/commands/cleanup_database.py +0 -4
  31. netbox_dns/management/commands/cleanup_rrset_ttl.py +3 -5
  32. netbox_dns/management/commands/setup_coupling.py +15 -15
  33. netbox_dns/management/commands/update_soa.py +1 -1
  34. netbox_dns/migrations/0001_squashed_netbox_dns_0_15.py +0 -27
  35. netbox_dns/migrations/0001_squashed_netbox_dns_0_22.py +556 -0
  36. netbox_dns/migrations/{0013_add_nameserver_zone_record_description.py → 0002_contact_description_registrar_description.py} +4 -9
  37. netbox_dns/migrations/0020_netbox_3_4.py +1 -1
  38. netbox_dns/models/contact.py +6 -1
  39. netbox_dns/models/nameserver.py +3 -3
  40. netbox_dns/models/record.py +8 -15
  41. netbox_dns/models/registrar.py +5 -1
  42. netbox_dns/models/view.py +1 -1
  43. netbox_dns/models/zone.py +6 -9
  44. netbox_dns/navigation.py +1 -15
  45. netbox_dns/signals/ipam_coupling.py +3 -8
  46. netbox_dns/tables/contact.py +1 -0
  47. netbox_dns/tables/nameserver.py +0 -2
  48. netbox_dns/tables/registrar.py +1 -0
  49. netbox_dns/template_content.py +3 -7
  50. netbox_dns/templates/netbox_dns/contact.html +60 -56
  51. netbox_dns/templates/netbox_dns/nameserver.html +27 -27
  52. netbox_dns/templates/netbox_dns/record.html +92 -94
  53. netbox_dns/templates/netbox_dns/registrar.html +38 -36
  54. netbox_dns/templates/netbox_dns/view.html +21 -21
  55. netbox_dns/templates/netbox_dns/zone/base.html +5 -3
  56. netbox_dns/templates/netbox_dns/zone/child.html +3 -3
  57. netbox_dns/templates/netbox_dns/zone/managed_record.html +1 -1
  58. netbox_dns/templates/netbox_dns/zone/record.html +3 -3
  59. netbox_dns/templates/netbox_dns/zone/registration.html +26 -27
  60. netbox_dns/templates/netbox_dns/zone/rfc2317_child_zone.html +1 -1
  61. netbox_dns/templates/netbox_dns/zone.html +150 -149
  62. netbox_dns/utilities/__init__.py +1 -6
  63. netbox_dns/utilities/ipam_coupling.py +2 -7
  64. netbox_dns/validators/dns_name.py +4 -9
  65. netbox_dns/validators/rfc2317.py +2 -2
  66. netbox_dns/views/contact.py +4 -4
  67. netbox_dns/views/nameserver.py +5 -5
  68. netbox_dns/views/record.py +19 -12
  69. netbox_dns/views/registrar.py +4 -4
  70. netbox_dns/views/view.py +4 -4
  71. netbox_dns/views/zone.py +7 -8
  72. {netbox_plugin_dns-0.22.9.dist-info → netbox_plugin_dns-1.0b1.dist-info}/METADATA +5 -7
  73. netbox_plugin_dns-1.0b1.dist-info/RECORD +103 -0
  74. netbox_dns/filters/nameserver.py +0 -18
  75. netbox_dns/filters/zone.py +0 -112
  76. netbox_dns/graphql/contact.py +0 -19
  77. netbox_dns/graphql/nameserver.py +0 -19
  78. netbox_dns/graphql/record.py +0 -19
  79. netbox_dns/graphql/registrar.py +0 -19
  80. netbox_dns/graphql/view.py +0 -19
  81. netbox_dns/graphql/zone.py +0 -19
  82. netbox_dns/migrations/0001_initial.py +0 -115
  83. netbox_dns/migrations/0002_zone_default_ttl.py +0 -18
  84. netbox_dns/migrations/0003_soa_managed_records.py +0 -112
  85. netbox_dns/migrations/0004_create_ptr_for_a_aaaa_records.py +0 -80
  86. netbox_dns/migrations/0005_update_ns_records.py +0 -41
  87. netbox_dns/migrations/0006_zone_soa_serial_auto.py +0 -29
  88. netbox_dns/migrations/0007_alter_zone_soa_serial_auto.py +0 -17
  89. netbox_dns/migrations/0008_zone_status_names.py +0 -21
  90. netbox_dns/migrations/0009_netbox32.py +0 -71
  91. netbox_dns/migrations/0010_update_soa_records.py +0 -58
  92. netbox_dns/migrations/0011_add_view_model.py +0 -70
  93. netbox_dns/migrations/0012_adjust_zone_and_record.py +0 -17
  94. netbox_dns/migrations/0014_add_view_description.py +0 -16
  95. netbox_dns/migrations/0015_add_record_status.py +0 -17
  96. netbox_dns/migrations/0016_cleanup_ptr_records.py +0 -38
  97. netbox_dns/migrations/0017_alter_record_ttl.py +0 -17
  98. netbox_dns/migrations/0018_zone_arpa_network.py +0 -51
  99. netbox_dns/migrations/0019_update_ns_ttl.py +0 -19
  100. netbox_plugin_dns-0.22.9.dist-info/RECORD +0 -117
  101. /netbox_dns/{filters → filtersets}/__init__.py +0 -0
  102. {netbox_plugin_dns-0.22.9.dist-info → netbox_plugin_dns-1.0b1.dist-info}/LICENSE +0 -0
  103. {netbox_plugin_dns-0.22.9.dist-info → netbox_plugin_dns-1.0b1.dist-info}/WHEEL +0 -0
@@ -4,15 +4,19 @@
4
4
  {% load render_table from django_tables2 %}
5
5
  {% load perms %}
6
6
 
7
- {% block controls %}
7
+ {% block control-buttons %}
8
8
  {% if object.managed %}
9
9
  {% else %}
10
10
  {{ block.super }}
11
11
  {% endif %}
12
- {% endblock controls %}
12
+ {% endblock control-buttons %}
13
13
 
14
14
  {% block breadcrumbs %}
15
- {% if not object.managed %}
15
+ {% if object.managed %}
16
+ <li class="breadcrumb-item">
17
+ <a href="{% url 'plugins:netbox_dns:managed_record_list' %}">{{ 'Managed Records' }}</a>
18
+ </li>
19
+ {% else %}
16
20
  {{ block.super }}
17
21
  {% endif %}
18
22
  {% endblock %}
@@ -33,106 +37,100 @@
33
37
  {% endif %}
34
38
  <div class="card">
35
39
  <h5 class="card-header">Record</h5>
36
- <div class="card-body">
37
- <table class="table table-hover attr-table">
38
- <tr>
39
- <th scope="row">Name</th>
40
- <td style="word-break:break-all;">{{ object.name }}</td>
41
- </tr>
42
- {% if unicode_name %}
43
- <tr>
44
- <th scope="row">IDN</th>
45
- <td style="word-break:break-all;">{{ unicode_name }}</td>
46
- </tr>
40
+ <table class="table table-hover attr-table">
41
+ <tr>
42
+ <th scope="row">Name</th>
43
+ <td style="word-break:break-all;">{{ object.name }}</td>
44
+ </tr>
45
+ {% if unicode_name %}
46
+ <tr>
47
+ <th scope="row">IDN</th>
48
+ <td style="word-break:break-all;">{{ unicode_name }}</td>
49
+ </tr>
50
+ {% endif %}
51
+ <tr>
52
+ <th scope="row">Zone</th>
53
+ {% if object.managed %}
54
+ <td><a href="{% url 'plugins:netbox_dns:zone_managed_records' pk=object.zone.pk %}">{{ object.zone }}</a></td>
55
+ {% else %}
56
+ <td><a href="{% url 'plugins:netbox_dns:zone_records' pk=object.zone.pk %}">{{ object.zone }}</a></td>
47
57
  {% endif %}
48
- <tr>
49
- <th scope="row">Zone</th>
50
- {% if object.managed %}
51
- <td><a href="{% url 'plugins:netbox_dns:zone_managed_records' pk=object.zone.pk %}">{{ object.zone }}</a></td>
52
- {% else %}
53
- <td><a href="{% url 'plugins:netbox_dns:zone_records' pk=object.zone.pk %}">{{ object.zone }}</a></td>
58
+ </tr>
59
+ {% if not object.managed %}
60
+ <tr>
61
+ <th scope="row">Tenant</th>
62
+ <td>
63
+ {% if object.tenant.group %}
64
+ {{ object.tenant.group|linkify }} /
54
65
  {% endif %}
55
- </tr>
56
- {% if object.tenant %}
57
- <tr>
58
- <th scope="row">Tenant</th>
59
- <td>
60
- {% if object.tenant.group %}
61
- {{ object.tenant.group|linkify }} /
62
- {% endif %}
63
- {{ object.tenant|linkify|placeholder }}
64
- </td>
65
- </tr>
66
- {% endif %}
67
- <tr>
68
- <th scope="row">Type</th>
69
- <td>{{ object.type }}</td>
70
- </tr>
71
- <tr>
72
- <th scope="row">Value</th>
73
- <td style="word-break:break-all;">{{ object.value }}</td>
74
- </tr>
75
- {% if unicode_value %}
76
- <tr>
77
- <th scope="row">Unicode Value</th>
78
- <td style="word-break:break-all;">{{ unicode_value }}</td>
79
- </tr>
80
- {% endif %}
81
- <tr>
82
- <th scope="row">TTL</th>
83
- <td>{{ object.ttl|placeholder }}</td>
84
- </tr>
85
- {% if object.type == 'A' or object.type == 'AAAA' %}
86
- <tr>
87
- <th scope="row">Disable PTR</th>
88
- <td>{% checkmark object.disable_ptr %}</td>
89
- </tr>
90
- {% endif %}
91
- {% if object.ptr_record %}
92
- <tr>
93
- <th scope="row">PTR Record</th>
94
- <td><a href="{% url 'plugins:netbox_dns:record' pk=object.ptr_record.pk %}">{{ object.ptr_record }}</td>
95
- </tr>
96
- {% endif %}
97
- {% if object.address_record %}
98
- <tr>
99
- <th scope="row">Address Record</th>
100
- <td><a href="{% url 'plugins:netbox_dns:record' pk=object.address_record.pk %}">{{ object.address_record }}</td>
101
- </tr>
102
- {% if object.address_record.ipam_ip_address %}
103
- <tr>
104
- <th scope="row">IPAM IP Address</th>
105
- <td><a href="{% url 'ipam:ipaddress' pk=object.address_record.ipam_ip_address.pk %}">{{ object.address_record.ipam_ip_address }}</td>
106
- </tr>
107
- {% endif %}
108
- {% endif %}
109
- {% if object.ipam_ip_address %}
66
+ {{ object.tenant|linkify|placeholder }}
67
+ </td>
68
+ </tr>
69
+ {% endif %}
70
+ <tr>
71
+ <th scope="row">Type</th>
72
+ <td>{{ object.type }}</td>
73
+ </tr>
74
+ <tr>
75
+ <th scope="row">Value</th>
76
+ <td style="word-break:break-all;">{{ object.value }}</td>
77
+ </tr>
78
+ {% if unicode_value %}
79
+ <tr>
80
+ <th scope="row">Unicode Value</th>
81
+ <td style="word-break:break-all;">{{ unicode_value }}</td>
82
+ </tr>
83
+ {% endif %}
84
+ <tr>
85
+ <th scope="row">TTL</th>
86
+ <td>{{ object.ttl|placeholder }}</td>
87
+ </tr>
88
+ {% if object.type == 'A' or object.type == 'AAAA' %}
89
+ <tr>
90
+ <th scope="row">Disable PTR</th>
91
+ <td>{% checkmark object.disable_ptr %}</td>
92
+ </tr>
93
+ {% endif %}
94
+ {% if object.ptr_record %}
95
+ <tr>
96
+ <th scope="row">PTR Record</th>
97
+ <td><a href="{% url 'plugins:netbox_dns:record' pk=object.ptr_record.pk %}">{{ object.ptr_record }}</td>
98
+ </tr>
99
+ {% endif %}
100
+ {% if object.address_record %}
101
+ <tr>
102
+ <th scope="row">Address Record</th>
103
+ <td><a href="{% url 'plugins:netbox_dns:record' pk=object.address_record.pk %}">{{ object.address_record }}</td>
104
+ </tr>
105
+ {% if object.address_record.ipam_ip_address %}
110
106
  <tr>
111
107
  <th scope="row">IPAM IP Address</th>
112
- <td><a href="{% url 'ipam:ipaddress' pk=object.ipam_ip_address.pk %}">{{ object.ipam_ip_address }}</td>
108
+ <td><a href="{% url 'ipam:ipaddress' pk=object.address_record.ipam_ip_address.pk %}">{{ object.address_record.ipam_ip_address }}</td>
113
109
  </tr>
114
110
  {% endif %}
115
- <tr>
116
- <th scope="row">Status</th>
117
- <td>{% badge object.get_status_display bg_color=object.get_status_color %}</td>
118
- </tr>
119
- {% if object.description %}
120
- <tr>
121
- <th scope="row">Description</th>
122
- <td style="word-break:break-all;">{{ object.description }}</td>
123
- </tr>
124
- {% endif %}
125
- </table>
126
- </div>
111
+ {% endif %}
112
+ {% if object.ipam_ip_address %}
113
+ <tr>
114
+ <th scope="row">IPAM IP Address</th>
115
+ <td><a href="{% url 'ipam:ipaddress' pk=object.ipam_ip_address.pk %}">{{ object.ipam_ip_address }}</td>
116
+ </tr>
117
+ {% endif %}
118
+ <tr>
119
+ <th scope="row">Status</th>
120
+ <td>{% badge object.get_status_display bg_color=object.get_status_color %}</td>
121
+ </tr>
122
+ {% if object.description %}
123
+ <tr>
124
+ <th scope="row">Description</th>
125
+ <td style="word-break:break-all;">{{ object.description }}</td>
126
+ </tr>
127
+ {% endif %}
128
+ </table>
127
129
  </div>
128
130
  {% if cname_target_table and cname_target_table.rows|length > 0 %}
129
- <div class="card">
130
- {% include 'inc/panel_table.html' with table=cname_target_table heading='CNAME Targets' %}
131
- </div>
131
+ {% include 'inc/panel_table.html' with table=cname_target_table heading='CNAME Targets' %}
132
132
  {% elif cname_table and cname_table.rows|length > 0 %}
133
- <div class="card">
134
- {% include 'inc/panel_table.html' with table=cname_table heading='CNAMEs' %}
135
- </div>
133
+ {% include 'inc/panel_table.html' with table=cname_table heading='CNAMEs' %}
136
134
  {% endif %}
137
135
  {% if not object.managed %}
138
136
  {% include 'inc/panels/custom_fields.html' %}
@@ -5,45 +5,47 @@
5
5
  <div class="col col-md-6">
6
6
  <div class="card">
7
7
  <h5 class="card-header">Registrar</h5>
8
- <div class="card-body">
9
- <table class="table table-hover attr-table">
10
- <tr>
11
- <th scope="row">Name</th>
12
- <td>{{ object.name }}</td>
13
- </tr>
14
- <tr>
15
- <th scope="row">IANA ID</th>
16
- <td>{{ object.iana_id }}</td>
17
- </tr>
18
- </table>
19
- </div>
8
+ <table class="table table-hover attr-table">
9
+ <tr>
10
+ <th scope="row">Name</th>
11
+ <td>{{ object.name }}</td>
12
+ </tr>
13
+ {% if object.description %}
14
+ <tr>
15
+ <th scope="row">Description</th>
16
+ <td style="word-break:break-all;">{{ object.description }}</td>
17
+ </tr>
18
+ {% endif %}
19
+ <tr>
20
+ <th scope="row">IANA ID</th>
21
+ <td>{{ object.iana_id }}</td>
22
+ </tr>
23
+ </table>
20
24
  </div>
21
25
  <div class="card">
22
26
  <h5 class="card-header">Contact Details</h5>
23
- <div class="card-body">
24
- <table class="table table-hover attr-table">
25
- <tr>
26
- <th scope="row">Address</th>
27
- <td>{{ object.address }}</td>
28
- </tr>
29
- <tr>
30
- <th scope="row">Referral URL</th>
31
- <td><a href="{{ object.referral_url }}">{{ object.referral_url }}</a></td>
32
- </tr>
33
- <tr>
34
- <th scope="row">WHOIS Server</th>
35
- <td>{{ object.whois_server }}</td>
36
- </tr>
37
- <tr>
38
- <th scope="row">Abuse Email</th>
39
- <td>{{ object.abuse_email }}</td>
40
- </tr>
41
- <tr>
42
- <th scope="row">Abuse Phone</th>
43
- <td>{{ object.abuse_phone }}</td>
44
- </tr>
45
- </table>
46
- </div>
27
+ <table class="table table-hover attr-table">
28
+ <tr>
29
+ <th scope="row">Address</th>
30
+ <td>{{ object.address }}</td>
31
+ </tr>
32
+ <tr>
33
+ <th scope="row">Referral URL</th>
34
+ <td><a href="{{ object.referral_url }}">{{ object.referral_url }}</a></td>
35
+ </tr>
36
+ <tr>
37
+ <th scope="row">WHOIS Server</th>
38
+ <td>{{ object.whois_server }}</td>
39
+ </tr>
40
+ <tr>
41
+ <th scope="row">Abuse Email</th>
42
+ <td>{{ object.abuse_email }}</td>
43
+ </tr>
44
+ <tr>
45
+ <th scope="row">Abuse Phone</th>
46
+ <td>{{ object.abuse_phone }}</td>
47
+ </tr>
48
+ </table>
47
49
  </div>
48
50
  {% include 'inc/panels/custom_fields.html' %}
49
51
  </div>
@@ -5,27 +5,27 @@
5
5
  <div class="col col-md-6">
6
6
  <div class="card">
7
7
  <h5 class="card-header">View</h5>
8
- <div class="card-body">
9
- <table class="table table-hover attr-table">
10
- <tr>
11
- <th scope="row">Name</th>
12
- <td>{{ object.name }}</td>
13
- </tr>
14
- <tr>
15
- <th scope="row">Tenant</th>
16
- <td>
17
- {% if object.tenant.group %}
18
- {{ object.tenant.group|linkify }} /
19
- {% endif %}
20
- {{ object.tenant|linkify|placeholder }}
21
- </td>
22
- </tr>
23
- <tr>
24
- <th scope="row">Description</th>
25
- <td>{{ object.description }}</td>
26
- </tr>
27
- </table>
28
- </div>
8
+ <table class="table table-hover attr-table">
9
+ <tr>
10
+ <th scope="row">Name</th>
11
+ <td>{{ object.name }}</td>
12
+ </tr>
13
+ {% if object.description %}
14
+ <tr>
15
+ <th scope="row">Description</th>
16
+ <td style="word-break:break-all;">{{ object.description }}</td>
17
+ </tr>
18
+ {% endif %}
19
+ <tr>
20
+ <th scope="row">Tenant</th>
21
+ <td>
22
+ {% if object.tenant.group %}
23
+ {{ object.tenant.group|linkify }} /
24
+ {% endif %}
25
+ {{ object.tenant|linkify|placeholder }}
26
+ </td>
27
+ </tr>
28
+ </table>
29
29
  </div>
30
30
  {% include 'inc/panels/custom_fields.html' %}
31
31
  </div>
@@ -1,13 +1,15 @@
1
1
  {% extends 'generic/object.html' %}
2
+ {% load buttons %}
2
3
  {% load helpers %}
3
4
  {% load plugins %}
4
- {% load render_table from django_tables2 %}
5
5
  {% load perms %}
6
6
 
7
7
  {% block extra_controls %}
8
8
  {% if perms.netbox_dns.add_record %}
9
- <a href="{% url 'plugins:netbox_dns:record_add' %}?zone={{ object.id }}&return_url={{ object.get_absolute_url }}" class="btn btn-sm btn-primary" role="button">
10
- <i class="mdi mdi-plus-thick"></i> Add Record
9
+ <a href="{% url 'plugins:netbox_dns:record_add' %}?zone={{ object.pk }}&return_url={{ object.get_absolute_url }}">
10
+ <button type="submit" class="btn btn-primary" name="add-record">
11
+ <i class="mdi mdi-plus-thick" aria-hidden="true"></i>Add Record
12
+ </button>
11
13
  </a>
12
14
  {% endif %}
13
15
  {{ block.super }}
@@ -11,7 +11,7 @@
11
11
  <input type="hidden" name="return_url" value="{% if return_url %}{{ return_url }}{% else %}{{ request.path }}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}{% endif %}" />
12
12
 
13
13
  <div class="card">
14
- <div class="card-body htmx-container table-responsive" id="object_list">
14
+ <div class="htmx-container table-responsive" id="object_list">
15
15
  {% include 'htmx/table.html' %}
16
16
  </div>
17
17
  </div>
@@ -22,12 +22,12 @@
22
22
  <div class="bulk-button-group">
23
23
  {% block bulk_buttons %}{% endblock %}
24
24
  {% if bulk_edit_url and perms.netbox_dns.change_zone %}
25
- <button type="submit" name="_edit" formaction="{% url bulk_edit_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-warning btn-sm">
25
+ <button type="submit" name="_edit" formaction="{% url bulk_edit_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-warning">
26
26
  <i class="mdi mdi-pencil" aria-hidden="true"></i> Edit Selected
27
27
  </button>
28
28
  {% endif %}
29
29
  {% if bulk_delete_url and perms.netbox_dns.delete_zone %}
30
- <button type="submit" name="_delete" formaction="{% url bulk_delete_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-danger btn-sm">
30
+ <button type="submit" name="_delete" formaction="{% url bulk_delete_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-danger">
31
31
  <i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete Selected
32
32
  </button>
33
33
  {% endif %}
@@ -6,7 +6,7 @@
6
6
  {% block content %}
7
7
  {% include 'inc/table_controls_htmx.html' with table_modal="ManagedRecordTable_config" %}
8
8
  <div class="card">
9
- <div class="card-body htmx-container table-responsive" id="object_list">
9
+ <div class="htmx-container table-responsive" id="object_list">
10
10
  {% include 'htmx/table.html' %}
11
11
  </div>
12
12
  </div>
@@ -11,7 +11,7 @@
11
11
  <input type="hidden" name="return_url" value="{% if return_url %}{{ return_url }}{% else %}{{ request.path }}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}{% endif %}" />
12
12
 
13
13
  <div class="card">
14
- <div class="card-body htmx-container table-responsive" id="object_list">
14
+ <div class="htmx-container table-responsive" id="object_list">
15
15
  {% include 'htmx/table.html' %}
16
16
  </div>
17
17
  </div>
@@ -22,12 +22,12 @@
22
22
  <div class="bulk-button-group">
23
23
  {% block bulk_buttons %}{% endblock %}
24
24
  {% if bulk_edit_url and perms.netbox_dns.change_record %}
25
- <button type="submit" name="_edit" formaction="{% url bulk_edit_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-warning btn-sm">
25
+ <button type="submit" name="_edit" formaction="{% url bulk_edit_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-warning">
26
26
  <i class="mdi mdi-pencil" aria-hidden="true"></i> Edit Selected
27
27
  </button>
28
28
  {% endif %}
29
29
  {% if bulk_delete_url and perms.netbox_dns.delete_record %}
30
- <button type="submit" name="_delete" formaction="{% url bulk_delete_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-danger btn-sm">
30
+ <button type="submit" name="_delete" formaction="{% url bulk_delete_url %}{% if request.GET %}?{{ request.GET.urlencode }}{% endif %}" class="btn btn-danger">
31
31
  <i class="mdi mdi-trash-can-outline" aria-hidden="true"></i> Delete Selected
32
32
  </button>
33
33
  {% endif %}
@@ -4,33 +4,32 @@
4
4
  {% block content %}
5
5
  <div class="card">
6
6
  <h5 class="card-header">Domain Registration</h5>
7
- <div class="card-body">
8
- <table class="table table-hover attr-table">
9
- <tr>
10
- <th scope="row">Registrar</th>
11
- <td>{{ object.registrar|linkify|placeholder }}</td>
12
- </tr>
13
- <tr>
14
- <th scope="row">Registry Domain ID</th>
15
- <td>{{ object.registry_domain_id|placeholder }}</td>
16
- </tr>
17
- <tr>
18
- <th scope="row">Registrant</th>
19
- <td>{{ object.registrant|linkify|placeholder }}</td>
20
- </tr>
21
- <tr>
22
- <th scope="row">Administrative Contact</th>
23
- <td>{{ object.admin_c|linkify|placeholder }}</td>
24
- </tr>
25
- <tr>
26
- <th scope="row">Technical Contact</th>
27
- <td>{{ object.tech_c|linkify|placeholder }}</td>
28
- </tr>
29
- <tr>
30
- <th scope="row">Billing Contact</th>
31
- <td>{{ object.billing_c|linkify|placeholder }}</td>
32
- </tr>
33
- </table>
7
+ <table class="table table-hover attr-table">
8
+ <tr>
9
+ <th scope="row">Registrar</th>
10
+ <td>{{ object.registrar|linkify|placeholder }}</td>
11
+ </tr>
12
+ <tr>
13
+ <th scope="row">Registry Domain ID</th>
14
+ <td>{{ object.registry_domain_id|placeholder }}</td>
15
+ </tr>
16
+ <tr>
17
+ <th scope="row">Registrant</th>
18
+ <td>{{ object.registrant|linkify|placeholder }}</td>
19
+ </tr>
20
+ <tr>
21
+ <th scope="row">Administrative Contact</th>
22
+ <td>{{ object.admin_c|linkify|placeholder }}</td>
23
+ </tr>
24
+ <tr>
25
+ <th scope="row">Technical Contact</th>
26
+ <td>{{ object.tech_c|linkify|placeholder }}</td>
27
+ </tr>
28
+ <tr>
29
+ <th scope="row">Billing Contact</th>
30
+ <td>{{ object.billing_c|linkify|placeholder }}</td>
31
+ </tr>
32
+ </table>
34
33
  </div>
35
34
  </div>
36
35
  {% endblock %}
@@ -6,7 +6,7 @@
6
6
  {% block content %}
7
7
  {% include 'inc/table_controls_htmx.html' with table_modal="RFC2317ChildZoneTable_config" %}
8
8
  <div class="card">
9
- <div class="card-body htmx-container table-responsive" id="object_list">
9
+ <div class="htmx-container table-responsive" id="object_list">
10
10
  {% include 'htmx/table.html' %}
11
11
  </div>
12
12
  </div>