plugins: add method to register manager urls (#7345)
This commit is contained in:
parent
036c349e75
commit
650010b835
|
@ -16,9 +16,9 @@
|
|||
|
||||
from django.conf.urls import patterns, url, include
|
||||
|
||||
from .. import plugins
|
||||
from . import views
|
||||
|
||||
|
||||
urlpatterns = patterns('combo.views',
|
||||
url(r'^$', views.homepage, name='combo-manager-homepage'),
|
||||
url(r'^menu.json$', views.menu_json),
|
||||
|
@ -58,3 +58,5 @@ urlpatterns = patterns('combo.views',
|
|||
url(r'^assets/delete$', views.asset_delete, name='combo-manager-asset-delete'),
|
||||
(r'^ckeditor/', include('ckeditor.urls')),
|
||||
)
|
||||
|
||||
urlpatterns = plugins.register_plugins_manager_urls(urlpatterns)
|
||||
|
|
|
@ -55,6 +55,22 @@ def register_plugins_urls(urlpatterns):
|
|||
post_patterns = patterns('', *post_urls)
|
||||
return pre_patterns + urlpatterns + post_patterns
|
||||
|
||||
def register_plugins_manager_urls(urlpatterns):
|
||||
pre_urls = []
|
||||
post_urls = []
|
||||
for plugin in apps.get_app_configs():
|
||||
if hasattr(plugin, 'get_before_manager_urls'):
|
||||
urls = plugin.get_before_manager_urls()
|
||||
if urls:
|
||||
pre_urls.append(url('^', include(urls)))
|
||||
if hasattr(plugin, 'get_after_manager_urls'):
|
||||
urls = plugin.get_after_manager_urls()
|
||||
if urls:
|
||||
post_urls.append(url('^', include(urls)))
|
||||
pre_patterns = patterns('', *pre_urls)
|
||||
post_patterns = patterns('', *post_urls)
|
||||
return pre_patterns + urlpatterns + post_patterns
|
||||
|
||||
def register_plugins_apps(installed_apps):
|
||||
installed_apps = tuple(installed_apps)
|
||||
for plugin in get_plugins():
|
||||
|
|
Loading…
Reference in New Issue