mirror of
https://github.com/netbox-community/netbox.git
synced 2025-12-11 10:59:36 -06:00
refactor: moved status update logic from clean() to save() method
This commit is contained in:
parent
93e5f919ba
commit
77ee6baa23
@ -80,13 +80,6 @@ class DataSourceForm(NetBoxModelForm):
|
|||||||
if self.instance and self.instance.parameters:
|
if self.instance and self.instance.parameters:
|
||||||
self.fields[field_name].initial = self.instance.parameters.get(name)
|
self.fields[field_name].initial = self.instance.parameters.get(name)
|
||||||
|
|
||||||
def clean(self):
|
|
||||||
super().clean()
|
|
||||||
if not self.instance.pk:
|
|
||||||
self.cleaned_data['status'] = DataSourceStatusChoices.NEW
|
|
||||||
else:
|
|
||||||
if not self.data.get('sync_interval'):
|
|
||||||
self.cleaned_data['status'] = DataSourceStatusChoices.READY
|
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
parameters = {}
|
parameters = {}
|
||||||
@ -95,8 +88,20 @@ class DataSourceForm(NetBoxModelForm):
|
|||||||
parameters[name[8:]] = self.cleaned_data[name]
|
parameters[name[8:]] = self.cleaned_data[name]
|
||||||
self.instance.parameters = parameters
|
self.instance.parameters = parameters
|
||||||
|
|
||||||
# update status
|
# Determine initial status based on new/existing instance
|
||||||
self.instance.status = self.cleaned_data.get('status', self.instance.status)
|
if not self.instance.pk:
|
||||||
|
# New instance
|
||||||
|
object_status = DataSourceStatusChoices.NEW
|
||||||
|
else:
|
||||||
|
# Existing instance
|
||||||
|
if not self.cleaned_data.get("sync_interval"):
|
||||||
|
object_status = DataSourceStatusChoices.READY
|
||||||
|
else:
|
||||||
|
object_status = self.instance.status
|
||||||
|
|
||||||
|
# # Final override only if the user explicitly provided a status
|
||||||
|
# user_status = self.cleaned_data.get("status")
|
||||||
|
self.instance.status = object_status
|
||||||
|
|
||||||
return super().save(*args, **kwargs)
|
return super().save(*args, **kwargs)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user