mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-17 12:42:52 -06:00
Clean up plugin URL registration
This commit is contained in:
parent
dd9fc4173d
commit
cb344a3792
@ -6,16 +6,22 @@ from django.utils.module_loading import import_string
|
||||
|
||||
from . import views
|
||||
|
||||
# Plugins
|
||||
# Initialize URL base, API, and admin URL patterns for plugins
|
||||
plugin_patterns = []
|
||||
plugin_api_patterns = []
|
||||
plugin_api_patterns = [
|
||||
path('', views.PluginsAPIRootView.as_view(), name='api-root'),
|
||||
path('installed-plugins/', views.InstalledPluginsAPIView.as_view(), name='plugins-list')
|
||||
]
|
||||
plugin_admin_patterns = [
|
||||
path('installed-plugins/', views.installed_plugins_admin_view, name='plugins_list')
|
||||
]
|
||||
|
||||
# Register base/API URL patterns for each plugin
|
||||
for plugin in settings.PLUGINS:
|
||||
app = apps.get_app_config(plugin)
|
||||
|
||||
base_url = getattr(app, 'base_url') or app.label
|
||||
|
||||
# Check if the plugin specifies any URLs
|
||||
# Check if the plugin specifies any base URLs
|
||||
try:
|
||||
urlpatterns = import_string(f"{plugin}.urls.urlpatterns")
|
||||
plugin_patterns.append(
|
||||
@ -32,14 +38,3 @@ for plugin in settings.PLUGINS:
|
||||
)
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
# Plugin list admin view
|
||||
admin_plugin_patterns = [
|
||||
path('', views.installed_plugins_admin_view, name='plugins_list')
|
||||
]
|
||||
|
||||
# Plugin list API view
|
||||
plugin_api_patterns += [
|
||||
path('', views.PluginsAPIRootView.as_view(), name='api-root'),
|
||||
path('installed-plugins/', views.InstalledPluginsAPIView.as_view(), name='plugins-list')
|
||||
]
|
||||
|
@ -1,6 +1,3 @@
|
||||
import importlib
|
||||
|
||||
from django.apps import apps
|
||||
from django.conf import settings
|
||||
from django.conf.urls import include
|
||||
from django.urls import path, re_path, reverse
|
||||
@ -9,7 +6,7 @@ from django.views.static import serve
|
||||
from drf_yasg import openapi
|
||||
from drf_yasg.views import get_schema_view
|
||||
|
||||
from extras.plugins.urls import admin_plugin_patterns, plugin_patterns, plugin_api_patterns
|
||||
from extras.plugins.urls import plugin_admin_patterns, plugin_patterns, plugin_api_patterns
|
||||
from netbox.views import APIRootView, HomeView, StaticMediaFailureView, SearchView
|
||||
from users.views import LoginView, LogoutView
|
||||
from .admin import admin_site
|
||||
@ -88,7 +85,7 @@ _patterns = [
|
||||
# Plugins
|
||||
path('plugins/', include((plugin_patterns, 'plugins'))),
|
||||
path('api/plugins/', include((plugin_api_patterns, 'plugins-api'))),
|
||||
path('admin/plugins/installed-plugins/', include(admin_plugin_patterns))
|
||||
path('admin/plugins/', include(plugin_admin_patterns))
|
||||
]
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user