Django Viewflow - flow.If 自定义视图对我不起作用
Django Viewflow - flow.If with custom views doesn't work for me
我的流程是这样的:
review_request = (
flow.View(
ReviewRequest,
).Permission(
auto_create=True
).Next(this.check_response)
)
check_response = flow.If(cond=lambda act: True
).Then(
this.approved_access_request
).Else(
this.refused_access_request
)
approved_access_request = flow.View(
AccessApproved,
).Assign(
this.review_request.owner
).Permission(
auto_create=True
).Next(this.end)
refused_access_request = flow.View(
AccessRefused,
).Assign(
this.review_request.owner
).Permission(
auto_create=True
).Next(this.end)
还有一个观点:
class ReviewRequest(FlowMixin, generic.UpdateView):
template_name = 'web/review-access-request.html'
model = AccessRequest
form_class = ReviewAccessRequestForm
def get_object(self):
return self.activation.process
def request_details(self):
return self.activation.process.access_request
def form_valid(self, form):
form.save()
self.activation_done()
next_view_url = self.get_success_url()
return redirect(next_view_url)
问题是 AccessApproved 和 AccessRefused 的页面没有显示。分配部分有效(由 admin material 前端显示),但视图未执行。相反,有几秒钟的停顿,浏览器被发送到管理员收件箱。
查看任务不是自动执行的,而是用户选择的。通常在 flow.If 之后,新分配的任务会出现在用户收件箱中。
如果您在默认前端按“保存并继续”按钮,您的 ReviewRequest 视图可以通过调用 viewflow.flow.utils.get_next_task_url
来决定下一步去哪里
我的流程是这样的:
review_request = (
flow.View(
ReviewRequest,
).Permission(
auto_create=True
).Next(this.check_response)
)
check_response = flow.If(cond=lambda act: True
).Then(
this.approved_access_request
).Else(
this.refused_access_request
)
approved_access_request = flow.View(
AccessApproved,
).Assign(
this.review_request.owner
).Permission(
auto_create=True
).Next(this.end)
refused_access_request = flow.View(
AccessRefused,
).Assign(
this.review_request.owner
).Permission(
auto_create=True
).Next(this.end)
还有一个观点:
class ReviewRequest(FlowMixin, generic.UpdateView):
template_name = 'web/review-access-request.html'
model = AccessRequest
form_class = ReviewAccessRequestForm
def get_object(self):
return self.activation.process
def request_details(self):
return self.activation.process.access_request
def form_valid(self, form):
form.save()
self.activation_done()
next_view_url = self.get_success_url()
return redirect(next_view_url)
问题是 AccessApproved 和 AccessRefused 的页面没有显示。分配部分有效(由 admin material 前端显示),但视图未执行。相反,有几秒钟的停顿,浏览器被发送到管理员收件箱。
查看任务不是自动执行的,而是用户选择的。通常在 flow.If 之后,新分配的任务会出现在用户收件箱中。
如果您在默认前端按“保存并继续”按钮,您的 ReviewRequest 视图可以通过调用 viewflow.flow.utils.get_next_task_url
来决定下一步去哪里