Skip to content

Commit 54eb801

Browse files
authored
Merge branch 'dev' into issue_47
2 parents 5ad1810 + 269354f commit 54eb801

File tree

1 file changed

+29
-20
lines changed

1 file changed

+29
-20
lines changed

netbox_acls/forms/models.py

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -65,19 +65,20 @@ class AccessListForm(NetBoxModelForm):
6565
region = DynamicModelChoiceField(
6666
queryset=Region.objects.all(),
6767
required=False,
68+
initial_params={
69+
"sites": "$site",
70+
},
6871
)
6972
site_group = DynamicModelChoiceField(
7073
queryset=SiteGroup.objects.all(),
7174
required=False,
7275
label="Site Group",
76+
initial_params={"sites": "$site"},
7377
)
7478
site = DynamicModelChoiceField(
7579
queryset=Site.objects.all(),
7680
required=False,
77-
query_params={
78-
"region_id": "$region",
79-
"group_id": "$site_group",
80-
},
81+
query_params={"region_id": "$region", "group_id": "$site_group"},
8182
)
8283
device = DynamicModelChoiceField(
8384
queryset=Device.objects.all(),
@@ -101,32 +102,24 @@ class AccessListForm(NetBoxModelForm):
101102
queryset=ClusterType.objects.all(),
102103
required=False,
103104
)
104-
105105
cluster_group = DynamicModelChoiceField(
106106
queryset=ClusterGroup.objects.all(),
107107
required=False,
108-
query_params={
109-
"type_id": "$cluster_type",
110-
},
108+
query_params={"type_id": "$cluster_type"},
111109
)
112-
113110
cluster = DynamicModelChoiceField(
114111
queryset=Cluster.objects.all(),
115112
required=False,
116-
query_params={
117-
"type_id": "$cluster_type",
118-
"group_id": "$cluster_group",
119-
},
113+
query_params={"type_id": "$cluster_type", "group_id": "$cluster_group"},
120114
)
121115

122116
virtual_machine = DynamicModelChoiceField(
123117
queryset=VirtualMachine.objects.all(),
124118
required=False,
125-
label="Virtual Machine",
126119
query_params={
120+
"cluster_id": "$cluster",
127121
"cluster_type_id": "$cluster_type",
128122
"cluster_group_id": "$cluster_group",
129-
"cluster_id": "$cluster",
130123
},
131124
)
132125

@@ -160,14 +153,30 @@ def __init__(self, *args, **kwargs):
160153
instance = kwargs.get("instance")
161154
initial = kwargs.get("initial", {}).copy()
162155
if instance:
163-
if type(instance.assigned_object) is Device:
156+
if isinstance(instance.assigned_object, Device):
164157
initial["device"] = instance.assigned_object
165-
elif type(instance.assigned_object) is VirtualChassis:
166-
initial["virtual_chassis"] = instance.assigned_object
167-
elif type(instance.assigned_object) is VirtualMachine:
158+
if instance.assigned_object.site:
159+
initial["site"] = instance.assigned_object.site
160+
if instance.assigned_object.site.group:
161+
initial["site_group"] = instance.assigned_object.site.group
162+
163+
if instance.assigned_object.site.region:
164+
initial["region"] = instance.assigned_object.site.region
165+
elif isinstance(instance.assigned_object, VirtualMachine):
168166
initial["virtual_machine"] = instance.assigned_object
169-
kwargs["initial"] = initial
167+
if instance.assigned_object.cluster:
168+
initial["cluster"] = instance.assigned_object.cluster
169+
if instance.assigned_object.cluster.group:
170+
initial[
171+
"cluster_group"
172+
] = instance.assigned_object.cluster.group
173+
174+
if instance.assigned_object.cluster.type:
175+
initial["cluster_type"] = instance.assigned_object.cluster.type
176+
elif isinstance(instance.assigned_object, VirtualChassis):
177+
initial["virtual_chassis"] = instance.assigned_object
170178

179+
kwargs["initial"] = initial
171180
super().__init__(*args, **kwargs)
172181

173182
def clean(self):

0 commit comments

Comments
 (0)