Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 19 additions & 5 deletions images/common/openwisp/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,27 @@ def request_scheme():
return "https"


def openwisp_controller_urls():
# Setting correct urlpatterns for the
# modules -- used in urls.py
def openwisp_controller_urls(prefix=""):
# Setting correct urlpatterns for the modules -- used in urls.py
from django.urls import include, path
from openwisp_controller.urls import urlpatterns as controller_urls

exclude = ["openwisp_users.accounts.urls"]
urls = []

for url in controller_urls[:]:
if url.urlconf_module.__name__ in exclude:
controller_urls.remove(url)
return controller_urls
continue

# add prefix to avoid namespace conflicts between containers
if hasattr(url, "namespace") and url.namespace and prefix:
namespace = f"{prefix}-{url.namespace}"
if hasattr(url, "url_patterns"):
url = path(
url.pattern._route,
include((url.url_patterns, url.app_name), namespace=namespace),
)

urls.append(url)

return urls
4 changes: 2 additions & 2 deletions images/openwisp_api/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from openwisp.utils import env_bool, openwisp_controller_urls
from openwisp_users.api.urls import get_api_urls as users_api

urlpatterns = openwisp_controller_urls() + [
urlpatterns = openwisp_controller_urls("api") + [
path("admin/", admin.site.urls),
path("api/v1/", include((users_api(), "users"))),
path("api/v1/", include("openwisp_utils.api.urls")),
Expand All @@ -26,7 +26,7 @@
path("", include("openwisp_firmware_upgrader.urls")),
path(
"",
include((fw_private_storage_urls, "firmware"), namespace="firmware"),
include((fw_private_storage_urls, "firmware"), namespace="api-firmware"),
),
]

Expand Down