mirror of
https://github.com/inventree/InvenTree.git
synced 2025-07-23 05:06:32 +00:00
navigation plugin
This commit is contained in:
InvenTree
@@ -73,6 +73,27 @@ class UrlsMixin:
|
||||
does this plugin use custom urls
|
||||
"""
|
||||
return bool(self.urls)
|
||||
|
||||
|
||||
class NavigationMixin:
|
||||
"""Mixin that enables adding navigation links with the plugin"""
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.add_mixin('navigation', 'has_naviation')
|
||||
self.navigation = self.setup_navigation()
|
||||
|
||||
def setup_navigation(self):
|
||||
"""
|
||||
setup navigation links for this plugin
|
||||
"""
|
||||
return getattr(self, 'NAVIGATION', None)
|
||||
|
||||
@property
|
||||
def has_naviation(self):
|
||||
"""
|
||||
does this plugin define navigation elements
|
||||
"""
|
||||
return bool(self.navigation)
|
||||
# endregion
|
||||
|
||||
|
||||
|
@@ -4,7 +4,7 @@ from django.http import HttpResponse
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
|
||||
class SampleIntegrationPlugin(SettingsMixin, UrlsMixin, IntegrationPlugin):
|
||||
class SampleIntegrationPlugin(SettingsMixin, UrlsMixin, NavigationMixin, IntegrationPlugin):
|
||||
"""
|
||||
An full integration plugin
|
||||
"""
|
||||
@@ -34,6 +34,10 @@ class SampleIntegrationPlugin(SettingsMixin, UrlsMixin, IntegrationPlugin):
|
||||
},
|
||||
}
|
||||
|
||||
NAVIGATION= [
|
||||
{'name': 'SampleIntegration', 'link': 'SampleIntegrationPlugin:hi'},
|
||||
]
|
||||
|
||||
|
||||
class OtherIntegrationPlugin(UrlsMixin, IntegrationPlugin):
|
||||
"""
|
||||
|
Reference in New Issue
Block a user