From 1f24876c4fc18bccc0f68fd0bc3a153b08cea7f5 Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Wed, 2 Oct 2024 08:41:03 -0500 Subject: [PATCH] Fixes: #17648 - Fix exception thrown in `Job.delete()` when no object_type specified --- netbox/core/models/jobs.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/netbox/core/models/jobs.py b/netbox/core/models/jobs.py index 4a327a1d8..c794d9295 100644 --- a/netbox/core/models/jobs.py +++ b/netbox/core/models/jobs.py @@ -118,9 +118,9 @@ class Job(models.Model): def get_absolute_url(self): # TODO: Employ dynamic registration - if self.object_type.model == 'reportmodule': + if self.object_type and 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 and self.object_type.model == 'scriptmodule': return reverse(f'extras:script_result', kwargs={'job_pk': self.pk}) return reverse('core:job', args=[self.pk]) @@ -154,7 +154,7 @@ class Job(models.Model): def delete(self, *args, **kwargs): super().delete(*args, **kwargs) - rq_queue_name = get_config().QUEUE_MAPPINGS.get(self.object_type.model, RQ_QUEUE_DEFAULT) + rq_queue_name = get_queue_for_model(self.object_type.model if self.object_type else None) queue = django_rq.get_queue(rq_queue_name) job = queue.fetch_job(str(self.job_id))