mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-14 01:41:22 -06:00
#16886: Rename Event to EventType
This commit is contained in:
parent
5cfa2bb561
commit
d1e16013f0
@ -4,12 +4,12 @@ Plugins can register their own custom event types for use with NetBox [event rul
|
|||||||
|
|
||||||
```python
|
```python
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from netbox.events import Event, EVENT_TYPE_SUCCESS
|
from netbox.events import EventType, EVENT_TYPE_KIND_SUCCESS
|
||||||
|
|
||||||
Event(
|
EventType(
|
||||||
name='ticket_opened',
|
name='ticket_opened',
|
||||||
text=_('Ticket opened'),
|
text=_('Ticket opened'),
|
||||||
type=EVENT_TYPE_SUCCESS
|
type=EVENT_TYPE_KIND_SUCCESS
|
||||||
).register()
|
).register()
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
|
|
||||||
from netbox.events import Event, EVENT_TYPE_DANGER, EVENT_TYPE_SUCCESS, EVENT_TYPE_WARNING
|
from netbox.events import EventType, EVENT_TYPE_KIND_DANGER, EVENT_TYPE_KIND_SUCCESS, EVENT_TYPE_KIND_WARNING
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'JOB_COMPLETED',
|
'JOB_COMPLETED',
|
||||||
@ -24,10 +24,10 @@ JOB_FAILED = 'job_failed'
|
|||||||
JOB_ERRORED = 'job_errored'
|
JOB_ERRORED = 'job_errored'
|
||||||
|
|
||||||
# Register core events
|
# Register core events
|
||||||
Event(OBJECT_CREATED, _('Object created')).register()
|
EventType(OBJECT_CREATED, _('Object created')).register()
|
||||||
Event(OBJECT_UPDATED, _('Object updated')).register()
|
EventType(OBJECT_UPDATED, _('Object updated')).register()
|
||||||
Event(OBJECT_DELETED, _('Object deleted')).register()
|
EventType(OBJECT_DELETED, _('Object deleted')).register()
|
||||||
Event(JOB_STARTED, _('Job started')).register()
|
EventType(JOB_STARTED, _('Job started')).register()
|
||||||
Event(JOB_COMPLETED, _('Job completed'), type=EVENT_TYPE_SUCCESS).register()
|
EventType(JOB_COMPLETED, _('Job completed'), kind=EVENT_TYPE_KIND_SUCCESS).register()
|
||||||
Event(JOB_FAILED, _('Job failed'), type=EVENT_TYPE_WARNING).register()
|
EventType(JOB_FAILED, _('Job failed'), kind=EVENT_TYPE_KIND_WARNING).register()
|
||||||
Event(JOB_ERRORED, _('Job errored'), type=EVENT_TYPE_DANGER).register()
|
EventType(JOB_ERRORED, _('Job errored'), kind=EVENT_TYPE_KIND_DANGER).register()
|
||||||
|
@ -27,7 +27,7 @@ def get_event_type_choices():
|
|||||||
"""
|
"""
|
||||||
return [
|
return [
|
||||||
(name, event.text)
|
(name, event.text)
|
||||||
for name, event in registry['events'].items()
|
for name, event in registry['event_types'].items()
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ class Notification(models.Model):
|
|||||||
"""
|
"""
|
||||||
Returns the registered Event which triggered this Notification.
|
Returns the registered Event which triggered this Notification.
|
||||||
"""
|
"""
|
||||||
return registry['events'].get(self.event_type)
|
return registry['event_types'].get(self.event_type)
|
||||||
|
|
||||||
|
|
||||||
class NotificationGroup(ChangeLoggedModel):
|
class NotificationGroup(ChangeLoggedModel):
|
||||||
|
@ -554,7 +554,7 @@ class EventRuleView(generic.ObjectView):
|
|||||||
def get_extra_context(self, request, instance):
|
def get_extra_context(self, request, instance):
|
||||||
return {
|
return {
|
||||||
'event_types': [
|
'event_types': [
|
||||||
event for name, event in registry['events'].items()
|
event for name, event in registry['event_types'].items()
|
||||||
if name in instance.event_types
|
if name in instance.event_types
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -2,41 +2,41 @@ from dataclasses import dataclass
|
|||||||
|
|
||||||
from netbox.registry import registry
|
from netbox.registry import registry
|
||||||
|
|
||||||
EVENT_TYPE_INFO = 'info'
|
EVENT_TYPE_KIND_INFO = 'info'
|
||||||
EVENT_TYPE_SUCCESS = 'success'
|
EVENT_TYPE_KIND_SUCCESS = 'success'
|
||||||
EVENT_TYPE_WARNING = 'warning'
|
EVENT_TYPE_KIND_WARNING = 'warning'
|
||||||
EVENT_TYPE_DANGER = 'danger'
|
EVENT_TYPE_KIND_DANGER = 'danger'
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'EVENT_TYPE_DANGER',
|
'EVENT_TYPE_KIND_DANGER',
|
||||||
'EVENT_TYPE_INFO',
|
'EVENT_TYPE_KIND_INFO',
|
||||||
'EVENT_TYPE_SUCCESS',
|
'EVENT_TYPE_KIND_SUCCESS',
|
||||||
'EVENT_TYPE_WARNING',
|
'EVENT_TYPE_KIND_WARNING',
|
||||||
'Event',
|
'EventType',
|
||||||
'get_event',
|
'get_event_type',
|
||||||
'get_event_type_choices',
|
'get_event_type_choices',
|
||||||
'get_event_text',
|
'get_event_text',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_event(name):
|
def get_event_type(name):
|
||||||
return registry['events'].get(name)
|
return registry['event_types'].get(name)
|
||||||
|
|
||||||
|
|
||||||
def get_event_text(name):
|
def get_event_text(name):
|
||||||
if event := registry['events'].get(name):
|
if event := registry['event_types'].get(name):
|
||||||
return event.text
|
return event.text
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
|
|
||||||
def get_event_type_choices():
|
def get_event_type_choices():
|
||||||
return [
|
return [
|
||||||
(event.name, event.text) for event in registry['events'].values()
|
(event.name, event.text) for event in registry['event_types'].values()
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class Event:
|
class EventType:
|
||||||
"""
|
"""
|
||||||
A type of event which can occur in NetBox. Event rules can be defined to automatically
|
A type of event which can occur in NetBox. Event rules can be defined to automatically
|
||||||
perform some action in response to an event.
|
perform some action in response to an event.
|
||||||
@ -44,32 +44,32 @@ class Event:
|
|||||||
Args:
|
Args:
|
||||||
name: The unique name under which the event is registered.
|
name: The unique name under which the event is registered.
|
||||||
text: The human-friendly event name. This should support translation.
|
text: The human-friendly event name. This should support translation.
|
||||||
type: The event's classification (info, success, warning, or danger). The default type is info.
|
kind: The event's classification (info, success, warning, or danger). The default type is info.
|
||||||
"""
|
"""
|
||||||
name: str
|
name: str
|
||||||
text: str
|
text: str
|
||||||
type: str = EVENT_TYPE_INFO
|
kind: str = EVENT_TYPE_KIND_INFO
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.text
|
return self.text
|
||||||
|
|
||||||
def register(self):
|
def register(self):
|
||||||
if self.name in registry['events']:
|
if self.name in registry['event_types']:
|
||||||
raise Exception(f"An event named {self.name} has already been registered!")
|
raise Exception(f"An event type named {self.name} has already been registered!")
|
||||||
registry['events'][self.name] = self
|
registry['event_types'][self.name] = self
|
||||||
|
|
||||||
def color(self):
|
def color(self):
|
||||||
return {
|
return {
|
||||||
EVENT_TYPE_INFO: 'blue',
|
EVENT_TYPE_KIND_INFO: 'blue',
|
||||||
EVENT_TYPE_SUCCESS: 'green',
|
EVENT_TYPE_KIND_SUCCESS: 'green',
|
||||||
EVENT_TYPE_WARNING: 'orange',
|
EVENT_TYPE_KIND_WARNING: 'orange',
|
||||||
EVENT_TYPE_DANGER: 'red',
|
EVENT_TYPE_KIND_DANGER: 'red',
|
||||||
}.get(self.type)
|
}.get(self.kind)
|
||||||
|
|
||||||
def icon(self):
|
def icon(self):
|
||||||
return {
|
return {
|
||||||
EVENT_TYPE_INFO: 'mdi mdi-information',
|
EVENT_TYPE_KIND_INFO: 'mdi mdi-information',
|
||||||
EVENT_TYPE_SUCCESS: 'mdi mdi-check-circle',
|
EVENT_TYPE_KIND_SUCCESS: 'mdi mdi-check-circle',
|
||||||
EVENT_TYPE_WARNING: 'mdi mdi-alert-box',
|
EVENT_TYPE_KIND_WARNING: 'mdi mdi-alert-box',
|
||||||
EVENT_TYPE_DANGER: 'mdi mdi-alert-octagon',
|
EVENT_TYPE_KIND_DANGER: 'mdi mdi-alert-octagon',
|
||||||
}.get(self.type)
|
}.get(self.kind)
|
||||||
|
@ -25,7 +25,7 @@ registry = Registry({
|
|||||||
'counter_fields': collections.defaultdict(dict),
|
'counter_fields': collections.defaultdict(dict),
|
||||||
'data_backends': dict(),
|
'data_backends': dict(),
|
||||||
'denormalized_fields': collections.defaultdict(list),
|
'denormalized_fields': collections.defaultdict(list),
|
||||||
'events': dict(),
|
'event_types': dict(),
|
||||||
'model_features': dict(),
|
'model_features': dict(),
|
||||||
'models': collections.defaultdict(set),
|
'models': collections.defaultdict(set),
|
||||||
'plugins': dict(),
|
'plugins': dict(),
|
||||||
|
Loading…
Reference in New Issue
Block a user