flows: fix denied view not being registered

This commit is contained in:
Jens Langhammer 2020-05-08 16:50:50 +02:00
parent 273af0f1cb
commit c3e43a7c2f
4 changed files with 13 additions and 7 deletions

View file

@ -19,10 +19,10 @@ urlpatterns = [
name="auth-password-reset", name="auth-password-reset",
), ),
# User views # User views
path("_/user/", user.UserSettingsView.as_view(), name="user-settings"), path("-/user/", user.UserSettingsView.as_view(), name="user-settings"),
path("_/user/delete/", user.UserDeleteView.as_view(), name="user-delete"), path("-/user/delete/", user.UserDeleteView.as_view(), name="user-delete"),
path( path(
"_/user/change_password/", "-/user/change_password/",
user.UserChangePasswordView.as_view(), user.UserChangePasswordView.as_view(),
name="user-change-password", name="user-change-password",
), ),

View file

@ -1,8 +1,9 @@
"""flow urls""" """flow urls"""
from django.urls import path from django.urls import path
from passbook.flows.views import FlowExecutorView from passbook.flows.views import FlowExecutorView, FlowPermissionDeniedView
urlpatterns = [ urlpatterns = [
path("<slug:flow_slug>/", FlowExecutorView.as_view(), name="flow-executor"), path("<slug:flow_slug>/", FlowExecutorView.as_view(), name="flow-executor"),
path("denied/", FlowPermissionDeniedView.as_view(), name="denied"),
] ]

View file

@ -8,6 +8,7 @@ from django.views.generic import View
from structlog import get_logger from structlog import get_logger
from passbook.core.models import Factor from passbook.core.models import Factor
from passbook.core.views.utils import PermissionDeniedView
from passbook.flows.exceptions import FlowNonApplicableError from passbook.flows.exceptions import FlowNonApplicableError
from passbook.flows.models import Flow from passbook.flows.models import Flow
from passbook.flows.planner import PLAN_CONTEXT_PENDING_USER, FlowPlan, FlowPlanner from passbook.flows.planner import PLAN_CONTEXT_PENDING_USER, FlowPlan, FlowPlanner
@ -144,9 +145,13 @@ class FlowExecutorView(View):
or the user account is disabled.""" or the user account is disabled."""
LOGGER.debug("User invalid") LOGGER.debug("User invalid")
self.cancel() self.cancel()
return redirect_with_qs("passbook_flows:auth-denied", self.request.GET) return redirect_with_qs("passbook_flows:denied", self.request.GET)
def cancel(self) -> HttpResponse: def cancel(self) -> HttpResponse:
"""Cancel current execution and return a redirect""" """Cancel current execution and return a redirect"""
del self.request.session[SESSION_KEY_PLAN] del self.request.session[SESSION_KEY_PLAN]
return redirect_with_qs("passbook_flows:auth-denied", self.request.GET) return redirect_with_qs("passbook_flows:denied", self.request.GET)
class FlowPermissionDeniedView(PermissionDeniedView):
"""User could not be authenticated"""

View file

@ -45,4 +45,4 @@ urlpatterns += [
if settings.DEBUG: if settings.DEBUG:
import debug_toolbar import debug_toolbar
urlpatterns = [path("__debug__/", include(debug_toolbar.urls)),] + urlpatterns urlpatterns = [path("-/debug/", include(debug_toolbar.urls)),] + urlpatterns