2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-23 05:06:32 +00:00

navigation plugin

This commit is contained in:
Matthias
2021-09-19 16:27:43 +02:00
parent 4c8318440c
commit 1c89e83d28
3 changed files with 44 additions and 1 deletions
InvenTree
plugins
templates

@@ -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):
"""