This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
authentik/passbook/root/urls.py
Jens L 9466f91466
root: move webapp to /web (#347)
* root: move webapp to /web

* root: fix static build

* root: fix static files not being served for e2e tests
2020-11-28 19:43:42 +01:00

72 lines
2.2 KiB
Python

"""passbook URL Configuration"""
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import include, path
from django.views.generic import RedirectView
from structlog import get_logger
from passbook.core.views import error
from passbook.lib.utils.reflection import get_apps
from passbook.root.monitoring import MetricsView
LOGGER = get_logger()
admin.autodiscover()
admin.site.login = RedirectView.as_view(
pattern_name="passbook_flows:default-authentication"
)
admin.site.logout = RedirectView.as_view(
pattern_name="passbook_flows:default-invalidation"
)
handler400 = error.BadRequestView.as_view()
handler403 = error.ForbiddenView.as_view()
handler404 = error.NotFoundView.as_view()
handler500 = error.ServerErrorView.as_view()
urlpatterns = []
for _passbook_app in get_apps():
mountpoints = None
base_url_module = _passbook_app.name + ".urls"
if hasattr(_passbook_app, "mountpoint"):
mountpoint = getattr(_passbook_app, "mountpoint")
mountpoints = {base_url_module: mountpoint}
if hasattr(_passbook_app, "mountpoints"):
mountpoints = getattr(_passbook_app, "mountpoints")
if not mountpoints:
continue
for module, mountpoint in mountpoints.items():
namespace = _passbook_app.label + module.replace(base_url_module, "")
_path = path(
mountpoint,
include(
(module, _passbook_app.label),
namespace=namespace,
),
)
urlpatterns.append(_path)
LOGGER.debug(
"Mounted URLs",
app_name=_passbook_app.name,
mountpoint=mountpoint,
namespace=namespace,
)
urlpatterns += [
path("administration/django/", admin.site.urls),
path("metrics/", MetricsView.as_view(), name="metrics"),
]
if settings.DEBUG:
import debug_toolbar
urlpatterns = (
[
path("-/debug/", include(debug_toolbar.urls)),
]
+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
+ urlpatterns
)