flows: fix denied view not being registered
This commit is contained in:
parent
273af0f1cb
commit
c3e43a7c2f
|
@ -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",
|
||||||
),
|
),
|
||||||
|
|
|
@ -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"),
|
||||||
]
|
]
|
||||||
|
|
|
@ -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"""
|
||||||
|
|
|
@ -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
|
||||||
|
|
Reference in a new issue