mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-26 09:16:10 -06:00
Move save logic to model to reduce redundancy of both import and edit fields
This commit is contained in:
parent
563c10501a
commit
b21e45a1b5
@ -408,18 +408,6 @@ class VLANImportForm(NetBoxModelImportForm):
|
|||||||
model = VLAN
|
model = VLAN
|
||||||
fields = ('site', 'group', 'vid', 'name', 'tenant', 'status', 'role', 'description', 'comments', 'tags')
|
fields = ('site', 'group', 'vid', 'name', 'tenant', 'status', 'role', 'description', 'comments', 'tags')
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
|
||||||
|
|
||||||
# Implicitly set the Assignment Type based on the validated assignment of group or site
|
|
||||||
if self.cleaned_data.get('group'):
|
|
||||||
self.instance.assignment_type = VLANAssignmentTypeChoices.VLAN_GROUP
|
|
||||||
|
|
||||||
# elif to prefer the Assignment Type of VLAN_GROUP if the VLAN Group site scope is also set.
|
|
||||||
elif self.cleaned_data.get('site'):
|
|
||||||
self.instance.assignment_type = VLANAssignmentTypeChoices.SITE
|
|
||||||
|
|
||||||
return super().save(*args, **kwargs)
|
|
||||||
|
|
||||||
|
|
||||||
class ServiceTemplateImportForm(NetBoxModelImportForm):
|
class ServiceTemplateImportForm(NetBoxModelImportForm):
|
||||||
protocol = CSVChoiceField(
|
protocol = CSVChoiceField(
|
||||||
|
@ -230,6 +230,18 @@ class VLAN(PrimaryModel):
|
|||||||
f"{self.group}"
|
f"{self.group}"
|
||||||
})
|
})
|
||||||
|
|
||||||
|
def save(self, *args, **kwargs):
|
||||||
|
# Implicitly set the Assignment Type based on the validated assignment of group or site
|
||||||
|
# Do this on the model to reduce redundancy of doing this in both Bulk Edit and Bulk Import
|
||||||
|
if self.group:
|
||||||
|
self.assignment_type = VLANAssignmentTypeChoices.VLAN_GROUP
|
||||||
|
|
||||||
|
# elif to prefer the Assignment Type of VLAN_GROUP if the VLAN Group site scope is also set.
|
||||||
|
elif self.site:
|
||||||
|
self.assignment_type = VLANAssignmentTypeChoices.SITE
|
||||||
|
|
||||||
|
super().save(*args, **kwargs)
|
||||||
|
|
||||||
def get_status_color(self):
|
def get_status_color(self):
|
||||||
return VLANStatusChoices.colors.get(self.status)
|
return VLANStatusChoices.colors.get(self.status)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user