mirror of
https://github.com/netbox-community/netbox.git
synced 2026-03-13 22:07:17 +01:00
Register custom actions for DataSource, Device, and VirtualMachine
This commit is contained in:
@@ -25,12 +25,19 @@ class CoreConfig(AppConfig):
|
||||
from core.checks import check_duplicate_indexes # noqa: F401
|
||||
from netbox import context_managers # noqa: F401
|
||||
from netbox.models.features import register_models
|
||||
from utilities.permissions import ModelAction, register_model_actions
|
||||
|
||||
from . import data_backends, events, search # noqa: F401
|
||||
from .models import DataSource
|
||||
|
||||
# Register models
|
||||
register_models(*self.get_models())
|
||||
|
||||
# Register custom permission actions
|
||||
register_model_actions(DataSource, [
|
||||
ModelAction('sync', help_text=_('Synchronize data from remote source')),
|
||||
])
|
||||
|
||||
# Register core events
|
||||
EventType(OBJECT_CREATED, _('Object created')).register()
|
||||
EventType(OBJECT_UPDATED, _('Object updated')).register()
|
||||
|
||||
@@ -8,8 +8,11 @@ class DCIMConfig(AppConfig):
|
||||
verbose_name = "DCIM"
|
||||
|
||||
def ready(self):
|
||||
from django.utils.translation import gettext as _
|
||||
|
||||
from netbox.models.features import register_models
|
||||
from utilities.counters import connect_counters
|
||||
from utilities.permissions import ModelAction, register_model_actions
|
||||
|
||||
from . import search, signals # noqa: F401
|
||||
from .models import CableTermination, Device, DeviceType, ModuleType, RackType, VirtualChassis
|
||||
@@ -17,6 +20,11 @@ class DCIMConfig(AppConfig):
|
||||
# Register models
|
||||
register_models(*self.get_models())
|
||||
|
||||
# Register custom permission actions
|
||||
register_model_actions(Device, [
|
||||
ModelAction('render_config', help_text=_('Render device configuration')),
|
||||
])
|
||||
|
||||
# Register denormalized fields
|
||||
denormalized.register(CableTermination, '_device', {
|
||||
'_rack': 'rack',
|
||||
|
||||
@@ -5,8 +5,11 @@ class VirtualizationConfig(AppConfig):
|
||||
name = 'virtualization'
|
||||
|
||||
def ready(self):
|
||||
from django.utils.translation import gettext as _
|
||||
|
||||
from netbox.models.features import register_models
|
||||
from utilities.counters import connect_counters
|
||||
from utilities.permissions import ModelAction, register_model_actions
|
||||
|
||||
from . import search, signals # noqa: F401
|
||||
from .models import VirtualMachine
|
||||
@@ -16,3 +19,8 @@ class VirtualizationConfig(AppConfig):
|
||||
|
||||
# Register counters
|
||||
connect_counters(VirtualMachine)
|
||||
|
||||
# Register custom permission actions
|
||||
register_model_actions(VirtualMachine, [
|
||||
ModelAction('render_config', help_text=_('Render VM configuration')),
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user