首页 > 解决方案 > 在视图流中将任务号分配给当前用户

问题描述

我已经使用 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 如何获取当前用户? 我知道我可以将任务分配给创建任务的用户或先前任务的所有者,但我想要相反。有没有办法说 .Assign(this.start.(not)owner).Assign(this.start.(not)created_by)

标签: djangodjango-viewflowviewflow

解决方案


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

.Assing接受一个可调用的,它应该进行进程激活并返回一个用户实例,例如

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

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


推荐阅读