use script form's cleaned data when calling script from CLI

so ObjectVar and other field values have proper types in script's data variable
This commit is contained in:
Matej Vadnjal 2025-02-10 09:35:11 +01:00 committed by Jeremy Stretch
parent 4b98f74943
commit 299bde9653

View File

@ -81,12 +81,17 @@ class Command(BaseCommand):
logger.error(f'\t{field}: {error.get("message")}') logger.error(f'\t{field}: {error.get("message")}')
raise CommandError() raise CommandError()
# Remove extra fields from ScriptForm before passng data to script
form.cleaned_data.pop('_schedule_at')
form.cleaned_data.pop('_interval')
form.cleaned_data.pop('_commit')
# Execute the script. # Execute the script.
job = ScriptJob.enqueue( job = ScriptJob.enqueue(
instance=script_obj, instance=script_obj,
user=user, user=user,
immediate=True, immediate=True,
data=data, data=form.cleaned_data,
request=NetBoxFakeRequest({ request=NetBoxFakeRequest({
'META': {}, 'META': {},
'POST': data, 'POST': data,