将任务编号分配给视图流中的当前用户

assign task no to the current user in viewflow

我已经使用 viewflow 一段时间了,我成功地创建了我的流程。

但现在我需要有人审阅别人的作品。我不想为那个简单的任务创建角色,因为我希望每个人都能够随时审查某人的工作。换句话说,有一个任务(task1)可以为所有人执行,但不能为完成上一个任务的同一个人执行。

    task1 = (
        flow.View(
            UpdateProcessView,
            fields=["quality_check", "quality_check_comments"],
            task_description="writte comments"
        ).Permission(
            auto_create=True
        ).Next(this.task2)
    ) 

    task2 = (
        flow.View(
            UpdateProcessView,
            fields=["quality_check_completed"],
            task_description="Perform a quality control on the work instructions"
        ).Permission(
            auto_create=True
        ).Next(this.check_qa_manual)
    )

来自 Django-viewflow how to get the current user? 我知道我可以将任务分配给创建任务的用户或之前任务的所有者,但我想要相反的结果。有没有办法说 .Assign(this.start.(not)owner).Assign(this.start.(not)created_by) ?

您可以为用户选择实现自定义调用。

.Assing 接受一个应该进行进程激活的可调用对象和 return 一个用户实例,ex

flow.View(...).Assign(lambda act: User.objects.filter(...).first())

https://github.com/viewflow/viewflow/blob/master/demo/shipment/flows.py#L57