Feat: added clean method to set data-source state to Ready or scheduled

This commit is contained in:
Idris Foughali 2025-11-19 18:51:01 +00:00
parent b4160ad59b
commit 111aca115b

View File

@ -16,6 +16,7 @@ from utilities.forms import get_field_value
from utilities.forms.fields import CommentField, JSONField from utilities.forms.fields import CommentField, JSONField
from utilities.forms.rendering import FieldSet from utilities.forms.rendering import FieldSet
from utilities.forms.widgets import HTMXSelect from utilities.forms.widgets import HTMXSelect
from core.choices import DataSourceStatusChoices
__all__ = ( __all__ = (
'ConfigRevisionForm', 'ConfigRevisionForm',
@ -79,6 +80,13 @@ 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.data.get('sync_interval'):
self.cleaned_data['status'] = DataSourceStatusChoices.READY
else:
self.cleaned_data['status'] = DataSourceStatusChoices.SCHEDULED
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
parameters = {} parameters = {}