1

我有这样的流程:

    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 的页面不显示。分配部分有效(由管理材料前端显示),但视图未执行。相反,有几秒钟的暂停,浏览器被发送到管理员收件箱。

4

1 回答 1

2

查看任务不会自动执行,而是由用户选择。通常在流程之后。如果新分配的任务在用户收件箱中可用。

如果您在默认前端按保存并继续按钮,您的 ReviewRequest 视图可以通过调用viewflow.flow.utils.get_next_task_url来决定下一步去哪里

于 2020-01-09T03:47:57.883 回答