diff --git a/netbox/extras/choices.py b/netbox/extras/choices.py index 69ff1460b..f911f4f9d 100644 --- a/netbox/extras/choices.py +++ b/netbox/extras/choices.py @@ -101,7 +101,7 @@ class TemplateLanguageChoices(ChoiceSet): class LogLevelChoices(ChoiceSet): LOG_DEFAULT = 'default' - LOG_SUCCESS = 'sucess' + LOG_SUCCESS = 'success' LOG_INFO = 'info' LOG_WARNING = 'warning' LOG_FAILURE = 'failure' diff --git a/netbox/extras/scripts.py b/netbox/extras/scripts.py index 9c8ef7b09..5955b6252 100644 --- a/netbox/extras/scripts.py +++ b/netbox/extras/scripts.py @@ -415,8 +415,6 @@ def run_script(data, request, commit=True, *args, **kwargs): try: with transaction.atomic(): script.output = script.run(**kwargs) - job_result.data = ScriptOutputSerializer(script).data - job_result.set_status(JobResultStatusChoices.STATUS_COMPLETED) if not commit: raise AbortTransaction() @@ -434,6 +432,10 @@ def run_script(data, request, commit=True, *args, **kwargs): job_result.set_status(JobResultStatusChoices.STATUS_ERRORED) finally: + if job_result.status != JobResultStatusChoices.STATUS_ERRORED: + job_result.data = ScriptOutputSerializer(script).data + job_result.set_status(JobResultStatusChoices.STATUS_COMPLETED) + if not commit: # Delete all pending changelog entries purge_changelog.send(Script)