From 6861db28857b8d083dcefbe41d6e05365efc0332 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 27 Mar 2023 20:19:38 -0400 Subject: [PATCH] Enable filtering jobs by object --- netbox/core/filtersets.py | 2 +- netbox/core/models/data.py | 4 ++-- netbox/extras/models/reports.py | 4 ++-- netbox/extras/models/scripts.py | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/netbox/core/filtersets.py b/netbox/core/filtersets.py index 6d3e82e15..62a58086a 100644 --- a/netbox/core/filtersets.py +++ b/netbox/core/filtersets.py @@ -113,7 +113,7 @@ class JobFilterSet(BaseFilterSet): class Meta: model = Job - fields = ('id', 'interval', 'status', 'user', 'object_type', 'name') + fields = ('id', 'object_type', 'object_id', 'name', 'interval', 'status', 'user') def search(self, queryset, name, value): if not value.strip(): diff --git a/netbox/core/models/data.py b/netbox/core/models/data.py index 53b9602ee..4f736c70d 100644 --- a/netbox/core/models/data.py +++ b/netbox/core/models/data.py @@ -5,7 +5,6 @@ from fnmatch import fnmatchcase from urllib.parse import urlparse from django.conf import settings -from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ValidationError from django.core.validators import RegexValidator from django.db import models @@ -15,6 +14,7 @@ from django.utils.module_loading import import_string from django.utils.translation import gettext as _ from netbox.models import PrimaryModel +from netbox.models.features import JobsMixin from netbox.registry import registry from utilities.files import sha256_hash from utilities.querysets import RestrictedQuerySet @@ -31,7 +31,7 @@ __all__ = ( logger = logging.getLogger('netbox.core.data') -class DataSource(PrimaryModel): +class DataSource(JobsMixin, PrimaryModel): """ A remote source, such as a git repository, from which DataFiles are synchronized. """ diff --git a/netbox/extras/models/reports.py b/netbox/extras/models/reports.py index 3c62d29ed..c650f8cf6 100644 --- a/netbox/extras/models/reports.py +++ b/netbox/extras/models/reports.py @@ -18,7 +18,7 @@ __all__ = ( ) -class Report(JobsMixin, WebhooksMixin, models.Model): +class Report(WebhooksMixin, models.Model): """ Dummy model used to generate permissions for reports. Does not exist in the database. """ @@ -32,7 +32,7 @@ class ReportModuleManager(models.Manager.from_queryset(RestrictedQuerySet)): return super().get_queryset().filter(file_root=ManagedFileRootPathChoices.REPORTS) -class ReportModule(PythonModuleMixin, ManagedFile): +class ReportModule(PythonModuleMixin, JobsMixin, ManagedFile): """ Proxy model for report module files. """ diff --git a/netbox/extras/models/scripts.py b/netbox/extras/models/scripts.py index 859aa41bc..257a7b701 100644 --- a/netbox/extras/models/scripts.py +++ b/netbox/extras/models/scripts.py @@ -17,7 +17,7 @@ __all__ = ( ) -class Script(JobsMixin, WebhooksMixin, models.Model): +class Script(WebhooksMixin, models.Model): """ Dummy model used to generate permissions for custom scripts. Does not exist in the database. """ @@ -31,7 +31,7 @@ class ScriptModuleManager(models.Manager.from_queryset(RestrictedQuerySet)): return super().get_queryset().filter(file_root=ManagedFileRootPathChoices.SCRIPTS) -class ScriptModule(PythonModuleMixin, ManagedFile): +class ScriptModule(PythonModuleMixin, JobsMixin, ManagedFile): """ Proxy model for script module files. """