Skip to content

Commit d042603

Browse files
authored
Merge pull request #87 from Onemind-Services-LLC/feat/53-vm-filter
2 parents 80d9fe6 + d223e33 commit d042603

File tree

2 files changed

+43
-5
lines changed

2 files changed

+43
-5
lines changed

netbox_acls/forms/models.py

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,13 @@
1414
DynamicModelChoiceField,
1515
DynamicModelMultipleChoiceField,
1616
)
17-
from virtualization.models import VirtualMachine, VMInterface
17+
from virtualization.models import (
18+
Cluster,
19+
ClusterGroup,
20+
ClusterType,
21+
VirtualMachine,
22+
VMInterface,
23+
)
1824

1925
from ..models import (
2026
AccessList,
@@ -59,6 +65,7 @@ class AccessListForm(NetBoxModelForm):
5965
Requires a device, a name, a type, and a default_action.
6066
"""
6167

68+
# Device selector
6269
region = DynamicModelChoiceField(
6370
queryset=Region.objects.all(),
6471
required=False,
@@ -85,21 +92,49 @@ class AccessListForm(NetBoxModelForm):
8592
"site_id": "$site",
8693
},
8794
)
95+
96+
# Virtual Chassis selector
8897
virtual_chassis = DynamicModelChoiceField(
8998
queryset=VirtualChassis.objects.all(),
9099
required=False,
91100
label="Virtual Chassis",
92101
)
102+
103+
# Virtual Machine selector
104+
cluster_type = DynamicModelChoiceField(
105+
queryset=ClusterType.objects.all(),
106+
required=False,
107+
)
108+
109+
cluster_group = DynamicModelChoiceField(
110+
queryset=ClusterGroup.objects.all(),
111+
required=False,
112+
query_params={
113+
"type_id": "$cluster_type",
114+
},
115+
)
116+
117+
cluster = DynamicModelChoiceField(
118+
queryset=Cluster.objects.all(),
119+
required=False,
120+
query_params={
121+
"type_id": "$cluster_type",
122+
"group_id": "$cluster_group",
123+
},
124+
)
125+
93126
virtual_machine = DynamicModelChoiceField(
94127
queryset=VirtualMachine.objects.all(),
95128
required=False,
96129
label="Virtual Machine",
130+
query_params={
131+
"cluster_type_id": "$cluster_type",
132+
"cluster_group_id": "$cluster_group",
133+
"cluster_id": "$cluster",
134+
},
97135
)
136+
98137
comments = CommentField()
99-
tags = DynamicModelMultipleChoiceField(
100-
queryset=Tag.objects.all(),
101-
required=False,
102-
)
103138

104139
class Meta:
105140
model = AccessList

netbox_acls/templates/netbox_acls/accesslist_edit.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ <h4>Host Assignment</h4>
6767
{% render_field form.virtual_chassis %}
6868
</div>
6969
<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 %}
7073
{% render_field form.virtual_machine %}
7174
</div>
7275
</div>

0 commit comments

Comments
 (0)