Skip to content

Commit 404ad38

Browse files
authored
Merge pull request #234 from pheus/bugfix/231-update-templates-for-netbox-v4-1
Bugfix/231 update templates for netbox v4 1
2 parents e438171 + 42dafd2 commit 404ad38

7 files changed

+350
-349
lines changed

netbox_acls/templates/inc/view_tab.html

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,26 @@
55
{% load render_table from django_tables2 %}
66

77
{% block extra_controls %}
8-
{% if perms.netbox_todo.add_accesslist %}
9-
<a href="{% url add_url %}?{{ model_type }}={{ object.pk }}&return_url={{ object.get_absolute_url }}"
10-
class="btn btn-sm btn-primary">
11-
<i class="mdi mdi-plus-thick"></i> Add Access List
12-
</a>
13-
{% endif %}
8+
{% if perms.netbox_todo.add_accesslist %}
9+
<a href="{% url add_url %}?{{ model_type }}={{ object.pk }}&return_url={{ object.get_absolute_url }}" class="btn btn-primary">
10+
<i class="mdi mdi-plus-thick"></i> Add Access List
11+
</a>
12+
{% endif %}
1413
{% endblock extra_controls %}
1514

1615
{% block content %}
17-
{% include 'inc/table_controls_htmx.html' with table_modal=table_config %}
18-
<form method="post">
19-
{% csrf_token %}
20-
<div class="card">
21-
<div class="card-body" id="object_list">
22-
{% include 'htmx/table.html' %}
23-
</div>
24-
</div>
25-
</form>
16+
{% include 'inc/table_controls_htmx.html' with table_modal=table_config %}
17+
<form method="post">
18+
{% csrf_token %}
19+
<div class="card">
20+
<div id="object_list">
21+
{% include 'htmx/table.html' %}
22+
</div>
23+
</div>
24+
</form>
2625
{% endblock content %}
2726

2827
{% block modals %}
29-
{{ block.super }}
30-
{% table_config_form table %}
28+
{{ block.super }}
29+
{% table_config_form table %}
3130
{% endblock modals %}

netbox_acls/templates/netbox_acls/accesslist.html

Lines changed: 53 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -2,63 +2,64 @@
22
{% load render_table from django_tables2 %}
33

44
{% block extra_controls %}
5-
{% if perms.netbox_acls.change_policy %}
6-
{% if object.type == 'extended' %}
7-
<a href="{% url 'plugins:netbox_acls:aclextendedrule_add' %}?access_list={{ object.pk }}" class="btn btn-sm btn-primary">
8-
{% elif object.type == 'standard' %}
9-
<a href="{% url 'plugins:netbox_acls:aclstandardrule_add' %}?access_list={{ object.pk }}" class="btn btn-sm btn-primary">
10-
{% endif %}
11-
<span class="mdi mdi-plus-thick" aria-hidden="true"></span> Rule
12-
</a>
5+
{% if perms.netbox_acls.change_policy %}
6+
{% if object.type == 'extended' %}
7+
<a href="{% url 'plugins:netbox_acls:aclextendedrule_add' %}?access_list={{ object.pk }}" class="btn btn-primary">
8+
{% elif object.type == 'standard' %}
9+
<a href="{% url 'plugins:netbox_acls:aclstandardrule_add' %}?access_list={{ object.pk }}" class="btn btn-primary">
1310
{% endif %}
11+
<i class="mdi mdi-plus-thick" aria-hidden="true"></i> Rule
12+
</a>
13+
{% endif %}
1414
{% endblock extra_controls %}
1515

1616
{% block content %}
17-
<div class="row mb-3">
18-
<div class="col col-md-6">
19-
<div class="card">
20-
<h5 class="card-header">Access List</h5>
21-
<div class="card-body">
22-
<table class="table table-hover attr-table">
23-
<caption>Access List</caption>
24-
<tr>
25-
<th scope="row">Type</th>
26-
<td>{% badge object.get_type_display bg_color=object.get_type_color %}</td>
27-
</tr>
28-
<tr>
29-
<th scope="row">Default Action</th>
30-
<td>{% badge object.get_default_action_display bg_color=object.get_default_action_color %}</td>
31-
</tr>
32-
<tr>
33-
<th scope="row">Rules</th>
34-
{% if object.type == 'standard' %}
35-
<td><a href="{% url 'plugins:netbox_acls:aclstandardrule_list' %}?access_list={{ object.pk }}">{{ object.aclstandardrules.count|placeholder }}</a></td>
36-
{% elif object.type == 'extended' %}
37-
<td><a href="{% url 'plugins:netbox_acls:aclextendedrule_list' %}?access_list={{ object.pk }}">{{ object.aclextendedrules.count|placeholder }}</a></td>
38-
{% endif %}
39-
</tr>
40-
<tr>
41-
<th scope="row">Assigned Host</th>
42-
<td>{{ object.assigned_object|linkify }}</td>
43-
</tr>
44-
</table>
45-
</div>
46-
</div>
47-
{% include 'inc/panels/custom_fields.html' %}
48-
</div>
49-
<div class="col col-md-6">
50-
{% include 'inc/panels/tags.html' %}
51-
{% include 'inc/panels/comments.html' %}
52-
</div>
17+
<div class="row mb-3">
18+
<div class="col col-md-6">
19+
<div class="card">
20+
<h2 class="card-header">Access List</h2>
21+
<table class="table table-hover attr-table">
22+
<tr>
23+
<th scope="row">Type</th>
24+
<td>{% badge object.get_type_display bg_color=object.get_type_color %}</td>
25+
</tr>
26+
<tr>
27+
<th scope="row">Default Action</th>
28+
<td>{% badge object.get_default_action_display bg_color=object.get_default_action_color %}</td>
29+
</tr>
30+
<tr>
31+
<th scope="row">Rules</th>
32+
{% if object.type == 'standard' %}
33+
<td>
34+
<a href="{% url 'plugins:netbox_acls:aclstandardrule_list' %}?access_list={{ object.pk }}">{{ object.aclstandardrules.count|placeholder }}</a>
35+
</td>
36+
{% elif object.type == 'extended' %}
37+
<td>
38+
<a href="{% url 'plugins:netbox_acls:aclextendedrule_list' %}?access_list={{ object.pk }}">{{ object.aclextendedrules.count|placeholder }}</a>
39+
</td>
40+
{% endif %}
41+
</tr>
42+
<tr>
43+
<th scope="row">Assigned Host</th>
44+
<td>{{ object.assigned_object|linkify }}</td>
45+
</tr>
46+
</table>
47+
</div>
48+
{% include 'inc/panels/custom_fields.html' %}
49+
</div>
50+
<div class="col col-md-6">
51+
{% include 'inc/panels/tags.html' %}
52+
{% include 'inc/panels/comments.html' %}
5353
</div>
54-
<div class="row">
55-
<div class="col col-md-12">
56-
<div class="card">
57-
<h5 class="card-header">{{ object.get_type_display }} Rules</h5>
58-
<div class="card-body table-responsive">
59-
{% render_table rules_table %}
60-
</div>
61-
</div>
54+
</div>
55+
<div class="row">
56+
<div class="col col-md-12">
57+
<div class="card">
58+
<h2 class="card-header">{{ object.get_type_display }} Rules</h2>
59+
<div class="table-responsive">
60+
{% render_table rules_table %}
6261
</div>
62+
</div>
6363
</div>
64+
</div>
6465
{% endblock content %}

netbox_acls/templates/netbox_acls/accesslist_edit.html

Lines changed: 86 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -2,88 +2,96 @@
22
{% load static %}
33
{% load form_helpers %}
44

5-
{% block title %}{% if obj.pk %}Editing {{ obj }}{% else %}Add an Access List{% endif %}{% endblock %}
6-
75
{% block form %}
8-
{% render_errors form %}
9-
<div class="field-group">
10-
<h4>Access List Details</h4>
11-
{% render_field form.name %}
12-
{% render_field form.type %}
13-
{% render_field form.default_action %}
14-
{% render_field form.tags %}
15-
</div>
16-
<div class="field-group">
17-
<h4>Host Assignment</h4>
18-
<ul class="nav nav-pills" role="tablist">
19-
<li class="nav-item" role="presentation">
20-
<button
21-
role="tab"
22-
type="button"
23-
id="device_tab"
24-
data-bs-toggle="tab"
25-
class="nav-link {% if not form.initial.virtual_chassis and not form.initial.virtual_machine %}active{% endif %}"
26-
data-bs-target="#device"
27-
aria-controls="device"
28-
>
29-
Device
30-
</button>
31-
</li>
32-
<li class="nav-item" role="presentation">
33-
<button
34-
role="tab"
35-
type="button"
36-
id="vm_tab"
37-
data-bs-toggle="tab"
38-
class="nav-link {% if form.initial.virtual_chassis %}active{% endif %}"
39-
data-bs-target="#virtualchassis"
40-
aria-controls="virtualchassis"
41-
>
42-
Virtual Chassis
43-
</button>
6+
{% render_errors form %}
7+
<div class="field-group my-5">
8+
<div class="row">
9+
<h2 class="col-9 offset-3">Access List Details</h2>
10+
</div>
11+
{% render_field form.name %}
12+
{% render_field form.type %}
13+
{% render_field form.default_action %}
14+
{% render_field form.tags %}
15+
</div>
16+
<div class="field-group my-5">
17+
<div class="row">
18+
<h2 class="col-9 offset-3">Host Assignment</h2>
19+
</div>
20+
<div class="row">
21+
<div class="col-9 offset-3">
22+
<ul class="nav nav-pills mb-1" role="tablist">
23+
<li class="nav-item" role="presentation">
24+
<button
25+
role="tab"
26+
type="button"
27+
id="device_tab"
28+
data-bs-toggle="tab"
29+
class="nav-link {% if not form.initial.virtual_chassis and not form.initial.virtual_machine %}active{% endif %}"
30+
data-bs-target="#device"
31+
aria-controls="device"
32+
>
33+
Device
34+
</button>
35+
</li>
36+
<li class="nav-item" role="presentation">
37+
<button
38+
role="tab"
39+
type="button"
40+
id="vm_tab"
41+
data-bs-toggle="tab"
42+
class="nav-link {% if form.initial.virtual_chassis %}active{% endif %}"
43+
data-bs-target="#virtualchassis"
44+
aria-controls="virtualchassis"
45+
>
46+
Virtual Chassis
47+
</button>
48+
</li>
49+
<li class="nav-item" role="presentation">
50+
<button
51+
role="tab"
52+
type="button"
53+
id="vm_tab"
54+
data-bs-toggle="tab"
55+
class="nav-link {% if form.initial.virtual_machine %}active{% endif %}"
56+
data-bs-target="#virtualmachine"
57+
aria-controls="virtualmachine"
58+
>
59+
Virtual Machine
60+
</button>
4461
</li>
45-
<li class="nav-item" role="presentation">
46-
<button
47-
role="tab"
48-
type="button"
49-
id="vm_tab"
50-
data-bs-toggle="tab"
51-
class="nav-link {% if form.initial.virtual_machine %}active{% endif %}"
52-
data-bs-target="#virtualmachine"
53-
aria-controls="virtualmachine"
54-
>
55-
Virtual Machine
56-
</button>
57-
</li>
5862
</ul>
59-
<div class="tab-content">
60-
<div class="tab-pane{% if not form.initial.virtual_chassis and not form.initial.virtualmachine %} active{% endif %}" id="device">
61-
{% render_field form.region %}
62-
{% render_field form.site_group %}
63-
{% render_field form.site %}
64-
{% render_field form.device %}
65-
</div>
66-
<div class="tab-pane{% if form.initial.virtual_chassis %} active{% endif %}" id="virtualchassis">
67-
{% render_field form.virtual_chassis %}
68-
</div>
69-
<div class="tab-pane{% if form.initial.virtual_machine %} active{% endif %}" id="virtualmachine">
70-
{% render_field form.cluster_type %}
71-
{% render_field form.cluster_group %}
72-
{% render_field form.cluster %}
73-
{% render_field form.virtual_machine %}
74-
</div>
63+
</div>
64+
</div>
65+
<div class="tab-content p-0 border-0">
66+
<div class="tab-pane{% if not form.initial.virtual_chassis and not form.initial.virtualmachine %} active{% endif %}" id="device">
67+
{% render_field form.region %}
68+
{% render_field form.site_group %}
69+
{% render_field form.site %}
70+
{% render_field form.device %}
71+
</div>
72+
<div class="tab-pane{% if form.initial.virtual_chassis %} active{% endif %}" id="virtualchassis">
73+
{% render_field form.virtual_chassis %}
74+
</div>
75+
<div class="tab-pane{% if form.initial.virtual_machine %} active{% endif %}" id="virtualmachine">
76+
{% render_field form.cluster_type %}
77+
{% render_field form.cluster_group %}
78+
{% render_field form.cluster %}
79+
{% render_field form.virtual_machine %}
80+
</div>
81+
</div>
82+
</div>
83+
<div class="field-group my-5">
84+
<div class="row">
85+
<h2 class="col-9 offset-3">Comments</h2>
7586
</div>
76-
</div>
77-
<div class="field-group">
78-
<h4>Comments</h4>
7987
{% render_field form.comments %}
80-
</div>
81-
{% if form.custom_fields %}
82-
<div class="card">
83-
<h5 class="card-header">Custom Fields</h5>
84-
<div class="card-body">
85-
{% render_custom_fields form %}
86-
</div>
88+
</div>
89+
{% if form.custom_fields %}
90+
<div class="field-group my-5">
91+
<div class="row">
92+
<h2 class="col-9 offset-3">Custom Fields</h2>
93+
</div>
94+
{% render_custom_fields form %}
8795
</div>
88-
{% endif %}
96+
{% endif %}
8997
{% endblock %}

0 commit comments

Comments
 (0)