mirror of
https://github.com/netbox-community/netbox.git
synced 2026-04-18 15:10:11 +02: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 core.checks import check_duplicate_indexes # noqa: F401
|
||||||
from netbox import context_managers # noqa: F401
|
from netbox import context_managers # noqa: F401
|
||||||
from netbox.models.features import register_models
|
from netbox.models.features import register_models
|
||||||
|
from utilities.permissions import ModelAction, register_model_actions
|
||||||
|
|
||||||
from . import data_backends, events, search # noqa: F401
|
from . import data_backends, events, search # noqa: F401
|
||||||
|
from .models import DataSource
|
||||||
|
|
||||||
# Register models
|
# Register models
|
||||||
register_models(*self.get_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
|
# Register core events
|
||||||
EventType(OBJECT_CREATED, _('Object created')).register()
|
EventType(OBJECT_CREATED, _('Object created')).register()
|
||||||
EventType(OBJECT_UPDATED, _('Object updated')).register()
|
EventType(OBJECT_UPDATED, _('Object updated')).register()
|
||||||
|
|||||||
@@ -8,8 +8,11 @@ class DCIMConfig(AppConfig):
|
|||||||
verbose_name = "DCIM"
|
verbose_name = "DCIM"
|
||||||
|
|
||||||
def ready(self):
|
def ready(self):
|
||||||
|
from django.utils.translation import gettext as _
|
||||||
|
|
||||||
from netbox.models.features import register_models
|
from netbox.models.features import register_models
|
||||||
from utilities.counters import connect_counters
|
from utilities.counters import connect_counters
|
||||||
|
from utilities.permissions import ModelAction, register_model_actions
|
||||||
|
|
||||||
from . import search, signals # noqa: F401
|
from . import search, signals # noqa: F401
|
||||||
from .models import CableTermination, Device, DeviceType, ModuleType, RackType, VirtualChassis
|
from .models import CableTermination, Device, DeviceType, ModuleType, RackType, VirtualChassis
|
||||||
@@ -17,6 +20,11 @@ class DCIMConfig(AppConfig):
|
|||||||
# Register models
|
# Register models
|
||||||
register_models(*self.get_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
|
# Register denormalized fields
|
||||||
denormalized.register(CableTermination, '_device', {
|
denormalized.register(CableTermination, '_device', {
|
||||||
'_rack': 'rack',
|
'_rack': 'rack',
|
||||||
|
|||||||
@@ -5,8 +5,11 @@ class VirtualizationConfig(AppConfig):
|
|||||||
name = 'virtualization'
|
name = 'virtualization'
|
||||||
|
|
||||||
def ready(self):
|
def ready(self):
|
||||||
|
from django.utils.translation import gettext as _
|
||||||
|
|
||||||
from netbox.models.features import register_models
|
from netbox.models.features import register_models
|
||||||
from utilities.counters import connect_counters
|
from utilities.counters import connect_counters
|
||||||
|
from utilities.permissions import ModelAction, register_model_actions
|
||||||
|
|
||||||
from . import search, signals # noqa: F401
|
from . import search, signals # noqa: F401
|
||||||
from .models import VirtualMachine
|
from .models import VirtualMachine
|
||||||
@@ -16,3 +19,8 @@ class VirtualizationConfig(AppConfig):
|
|||||||
|
|
||||||
# Register counters
|
# Register counters
|
||||||
connect_counters(VirtualMachine)
|
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