From ba11e97b1ea3c189c457622dff742e3fc0671d75 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 4 Jul 2024 16:14:02 -0400 Subject: [PATCH] Add more job events --- netbox/core/events.py | 13 ++++++++++--- netbox/extras/events.py | 4 ++-- netbox/netbox/events.py | 8 ++++++++ 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/netbox/core/events.py b/netbox/core/events.py index 901e8a669..7dc802012 100644 --- a/netbox/core/events.py +++ b/netbox/core/events.py @@ -1,16 +1,23 @@ from django.utils.translation import gettext as _ -from netbox.events import Event +from netbox.events import * +# Object events OBJECT_CREATED = 'object_created' OBJECT_UPDATED = 'object_updated' OBJECT_DELETED = 'object_deleted' + +# Job events JOB_STARTED = 'job_started' -JOB_ENDED = 'job_ended' +JOB_COMPLETED = 'job_completed' +JOB_FAILED = 'job_failed' +JOB_ERRORED = 'job_errored' # Register core events Event(name=OBJECT_CREATED, text=_('Object created')).register() Event(name=OBJECT_UPDATED, text=_('Object updated')).register() Event(name=OBJECT_DELETED, text=_('Object deleted')).register() Event(name=JOB_STARTED, text=_('Job started')).register() -Event(name=JOB_ENDED, text=_('Job ended')).register() +Event(name=JOB_COMPLETED, text=_('Job completed'), type=EVENT_TYPE_SUCCESS).register() +Event(name=JOB_FAILED, text=_('Job failed'), type=EVENT_TYPE_WARNING).register() +Event(name=JOB_ERRORED, text=_('Job errored'), type=EVENT_TYPE_DANGER).register() diff --git a/netbox/extras/events.py b/netbox/extras/events.py index 32cf37903..839a9aa4e 100644 --- a/netbox/extras/events.py +++ b/netbox/extras/events.py @@ -9,7 +9,7 @@ from django.utils.translation import gettext as _ from django_rq import get_queue from core.choices import ObjectChangeActionChoices -from core.events import JOB_ENDED, JOB_STARTED, OBJECT_CREATED, OBJECT_DELETED, OBJECT_UPDATED +from core.events import JOB_COMPLETED, JOB_STARTED, OBJECT_CREATED, OBJECT_DELETED, OBJECT_UPDATED from core.models import Job from extras.constants import EVENT_CREATE, EVENT_DELETE, EVENT_JOB_END, EVENT_JOB_START, EVENT_UPDATE from netbox.config import get_config @@ -144,7 +144,7 @@ def process_event_rules(event_rules, object_type, event, data, username=None, sn EVENT_UPDATE: OBJECT_UPDATED, EVENT_DELETE: OBJECT_DELETED, EVENT_JOB_START: JOB_STARTED, - EVENT_JOB_END: JOB_ENDED, + EVENT_JOB_END: JOB_COMPLETED, }[event] event_rule.action_object.notify( object_type=object_type, diff --git a/netbox/netbox/events.py b/netbox/netbox/events.py index 9d81c6ed0..15691aafb 100644 --- a/netbox/netbox/events.py +++ b/netbox/netbox/events.py @@ -7,6 +7,14 @@ EVENT_TYPE_SUCCESS = 'success' EVENT_TYPE_WARNING = 'warning' EVENT_TYPE_DANGER = 'danger' +__all__ = ( + 'EVENT_TYPE_DANGER', + 'EVENT_TYPE_INFO', + 'EVENT_TYPE_SUCCESS', + 'EVENT_TYPE_WARNING', + 'Event', +) + @dataclass class Event: