feat: add NetBox plugin store
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import sys
|
||||
import types
|
||||
|
||||
|
||||
if "netbox.plugins" not in sys.modules:
|
||||
netbox = types.ModuleType("netbox")
|
||||
plugins = types.ModuleType("netbox.plugins")
|
||||
|
||||
class PluginConfig:
|
||||
def ready(self):
|
||||
return None
|
||||
|
||||
class PluginMenu:
|
||||
def __init__(self, label, groups, icon_class=None):
|
||||
self.label = label
|
||||
self.groups = groups
|
||||
self.icon_class = icon_class
|
||||
|
||||
class PluginMenuItem:
|
||||
def __init__(
|
||||
self,
|
||||
link,
|
||||
link_text,
|
||||
auth_required=False,
|
||||
staff_only=False,
|
||||
permissions=None,
|
||||
buttons=None,
|
||||
):
|
||||
self.link = link
|
||||
self.link_text = link_text
|
||||
self.auth_required = auth_required
|
||||
self.staff_only = staff_only
|
||||
self.permissions = permissions or []
|
||||
self.buttons = buttons or []
|
||||
|
||||
plugins.PluginConfig = PluginConfig
|
||||
plugins.PluginMenu = PluginMenu
|
||||
plugins.PluginMenuItem = PluginMenuItem
|
||||
netbox.plugins = plugins
|
||||
sys.modules["netbox"] = netbox
|
||||
sys.modules["netbox.plugins"] = plugins
|
||||
Reference in New Issue
Block a user