mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
refactor url definition into plugin
This commit is contained in:
parent
4171fe42d9
commit
2f306d951f
@ -18,7 +18,7 @@ from part.urls import part_urls
|
||||
from stock.urls import stock_urls
|
||||
from build.urls import build_urls
|
||||
from order.urls import order_urls
|
||||
from plugin.urls import plugin_urls, PLUGIN_BASE
|
||||
from plugin.urls import plugin_urls, get_integration_urls
|
||||
|
||||
from barcodes.api import barcode_api_urls
|
||||
from common.api import common_api_urls
|
||||
@ -160,7 +160,7 @@ urlpatterns = [
|
||||
|
||||
# plugin urls
|
||||
url(r'^plugins/', include(plugin_urls)),
|
||||
url(f'^{PLUGIN_BASE}/', include(([], 'plugin'))), # on startup we do not have any plugins enabled
|
||||
get_integration_urls(), # appends currently loaded plugin urls = None
|
||||
|
||||
url(r'^markdownx/', include('markdownx.urls')),
|
||||
|
||||
|
@ -385,15 +385,14 @@ class PluginAppConfig(AppConfig):
|
||||
|
||||
def _update_urls(self):
|
||||
from InvenTree.urls import urlpatterns
|
||||
from plugin.urls import PLUGIN_BASE, get_integration_urls
|
||||
from plugin.urls import get_integration_urls
|
||||
|
||||
for index, a in enumerate(urlpatterns):
|
||||
if hasattr(a, 'app_name'):
|
||||
if a.app_name == 'admin':
|
||||
urlpatterns[index] = url(r'^admin/', admin.site.urls, name='inventree-admin')
|
||||
elif a.app_name == 'plugin':
|
||||
integ_urls = get_integration_urls()
|
||||
urlpatterns[index] = url(f'^{PLUGIN_BASE}/', include((integ_urls, 'plugin')))
|
||||
urlpatterns[index] = get_integration_urls()
|
||||
clear_url_caches()
|
||||
|
||||
def _reload_apps(self, force_reload: bool = False):
|
||||
|
@ -2,18 +2,19 @@
|
||||
URL lookup for plugin app
|
||||
"""
|
||||
from django.conf import settings
|
||||
from django.conf.urls import url, include
|
||||
|
||||
|
||||
PLUGIN_BASE = 'plugin' # Constant for links
|
||||
|
||||
|
||||
def get_integration_urls():
|
||||
"""collect all plugin urls"""
|
||||
"""returns a urlpattern that can be integrated into the global urls"""
|
||||
urls = []
|
||||
for plugin in settings.INTEGRATION_PLUGINS.values():
|
||||
if plugin.mixin_enabled('urls'):
|
||||
urls.append(plugin.urlpatterns)
|
||||
return urls
|
||||
return url(f'^{PLUGIN_BASE}/', include((urls, 'plugin')))
|
||||
|
||||
|
||||
plugin_urls = [
|
||||
|
Loading…
Reference in New Issue
Block a user