From 57e3f4143e408ad8b03f935fbb54e64b5e0aa7fd Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Wed, 2 Oct 2024 09:50:46 -0500 Subject: [PATCH 1/3] Fixes: #17566 - Fix issue `Job.get_absolute_url()` to prevent exception being thrown if no object_type is set --- netbox/core/models/jobs.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/netbox/core/models/jobs.py b/netbox/core/models/jobs.py index 4a327a1d85..2b28bf3353 100644 --- a/netbox/core/models/jobs.py +++ b/netbox/core/models/jobs.py @@ -118,10 +118,11 @@ def __str__(self): def get_absolute_url(self): # TODO: Employ dynamic registration - if self.object_type.model == 'reportmodule': - return reverse(f'extras:report_result', kwargs={'job_pk': self.pk}) - if self.object_type.model == 'scriptmodule': - return reverse(f'extras:script_result', kwargs={'job_pk': self.pk}) + if self.object_type: + if self.object_type.model == 'reportmodule': + return reverse(f'extras:report_result', kwargs={'job_pk': self.pk}) + if self.object_type.model == 'scriptmodule': + return reverse(f'extras:script_result', kwargs={'job_pk': self.pk}) return reverse('core:job', args=[self.pk]) def get_status_color(self): From abd1107cb3cfed954e6b82d4318b556169af6ac8 Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Wed, 2 Oct 2024 09:53:06 -0500 Subject: [PATCH 2/3] Add back whitespace after statements --- netbox/core/models/jobs.py | 1 + 1 file changed, 1 insertion(+) diff --git a/netbox/core/models/jobs.py b/netbox/core/models/jobs.py index 2b28bf3353..87bcb78d8e 100644 --- a/netbox/core/models/jobs.py +++ b/netbox/core/models/jobs.py @@ -123,6 +123,7 @@ def get_absolute_url(self): return reverse(f'extras:report_result', kwargs={'job_pk': self.pk}) if self.object_type.model == 'scriptmodule': return reverse(f'extras:script_result', kwargs={'job_pk': self.pk}) + return reverse('core:job', args=[self.pk]) def get_status_color(self): From ae51e7d4d889b3390315ad96ebb33ef10f274ce7 Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Wed, 2 Oct 2024 09:55:36 -0500 Subject: [PATCH 3/3] Remove whitespace. Change to if statement --- netbox/core/models/jobs.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/netbox/core/models/jobs.py b/netbox/core/models/jobs.py index 87bcb78d8e..2327dedb33 100644 --- a/netbox/core/models/jobs.py +++ b/netbox/core/models/jobs.py @@ -121,9 +121,8 @@ def get_absolute_url(self): if self.object_type: if self.object_type.model == 'reportmodule': return reverse(f'extras:report_result', kwargs={'job_pk': self.pk}) - if self.object_type.model == 'scriptmodule': + elif self.object_type.model == 'scriptmodule': return reverse(f'extras:script_result', kwargs={'job_pk': self.pk}) - return reverse('core:job', args=[self.pk]) def get_status_color(self):