From d8b0a11a496e405c0e1e198477b65e6f630f0222 Mon Sep 17 00:00:00 2001 From: Glenn Matthews Date: Tue, 14 Jul 2020 10:54:32 -0400 Subject: [PATCH] Save JobResult even for a script run with commit=False --- netbox/extras/scripts.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/netbox/extras/scripts.py b/netbox/extras/scripts.py index dd096c392..fd349dfeb 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)