66 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""passbook URL Configuration"""
 | 
						|
from logging import getLogger
 | 
						|
 | 
						|
from django.conf import settings
 | 
						|
from django.contrib import admin
 | 
						|
from django.urls import include, path
 | 
						|
from django.views.generic import RedirectView
 | 
						|
 | 
						|
from passbook.core.auth import view
 | 
						|
from passbook.core.views import authentication, error, overview, user
 | 
						|
from passbook.lib.utils.reflection import get_apps
 | 
						|
 | 
						|
LOGGER = getLogger(__name__)
 | 
						|
admin.autodiscover()
 | 
						|
admin.site.login = RedirectView.as_view(pattern_name='passbook_core:auth-login')
 | 
						|
 | 
						|
handler400 = error.BadRequestView.as_view()
 | 
						|
handler403 = error.ForbiddenView.as_view()
 | 
						|
handler404 = error.NotFoundView.as_view()
 | 
						|
handler500 = error.ServerErrorView.as_view()
 | 
						|
 | 
						|
core_urls = [
 | 
						|
    # Authentication views
 | 
						|
    path('auth/login/', authentication.LoginView.as_view(), name='auth-login'),
 | 
						|
    path('auth/logout/', authentication.LogoutView.as_view(), name='auth-logout'),
 | 
						|
    path('auth/sign_up/', authentication.SignUpView.as_view(), name='auth-sign-up'),
 | 
						|
    path('auth/sign_up/<uuid:nonce>/confirm/', authentication.SignUpConfirmView.as_view(),
 | 
						|
         name='auth-sign-up-confirm'),
 | 
						|
    path('auth/process/denied/', view.FactorPermissionDeniedView.as_view(), name='auth-denied'),
 | 
						|
    path('auth/password/reset/<uuid:nonce>/', authentication.PasswordResetView.as_view(),
 | 
						|
         name='auth-password-reset'),
 | 
						|
    path('auth/process/', view.AuthenticationView.as_view(), name='auth-process'),
 | 
						|
    path('auth/process/<slug:factor>/', view.AuthenticationView.as_view(), name='auth-process'),
 | 
						|
    # User views
 | 
						|
    path('_/user/', user.UserSettingsView.as_view(), name='user-settings'),
 | 
						|
    path('_/user/delete/', user.UserDeleteView.as_view(), name='user-delete'),
 | 
						|
    path('_/user/change_password/', user.UserChangePasswordView.as_view(),
 | 
						|
         name='user-change-password'),
 | 
						|
    # Overview
 | 
						|
    path('', overview.OverviewView.as_view(), name='overview'),
 | 
						|
]
 | 
						|
 | 
						|
urlpatterns = [
 | 
						|
    # Core (include our own URLs so namespaces are used everywhere)
 | 
						|
    path('', include((core_urls, 'passbook_core'), namespace='passbook_core')),
 | 
						|
]
 | 
						|
 | 
						|
for _passbook_app in get_apps():
 | 
						|
    if hasattr(_passbook_app, 'mountpoint'):
 | 
						|
        _path = path(_passbook_app.mountpoint, include((_passbook_app.name+'.urls',
 | 
						|
                                                        _passbook_app.label),
 | 
						|
                                                       namespace=_passbook_app.label))
 | 
						|
        urlpatterns.append(_path)
 | 
						|
        LOGGER.debug("Loaded %s's URLs", _passbook_app.name)
 | 
						|
 | 
						|
urlpatterns += [
 | 
						|
    # Administration
 | 
						|
    path('administration/django/', admin.site.urls),
 | 
						|
]
 | 
						|
 | 
						|
if settings.DEBUG:
 | 
						|
    import debug_toolbar
 | 
						|
    urlpatterns = [
 | 
						|
        path('__debug__/', include(debug_toolbar.urls)),
 | 
						|
    ] + urlpatterns
 |