Django Viewflow:从哪里向任务分配的用户发送电子邮件?

Django Viewflow: From where to send email to user on task assignment?

当任务分配给他们时,我需要给他们发电子邮件。我尝试了以下方法:

  1. Assign 接受一个应 return 任务所有者的可调用函数。我们可以在这个可调用函数中发送电子邮件。但是如果你阅读源代码,你会发现这个可调用方法被调用了多次,calc_owner函数。因此,如果我们在这里向用户发送电子邮件,将发送多封电子邮件

  2. EmailUser一样创建一个新的Node方法并在Assign之后和Next之前调用它。但问题是,它还应该像 Assign 这样彻底的一些可调用的,以便为每个 Process 调用它。但是在哪里调用这个可调用函数

这似乎是非常普遍的用例,但解决方案非常困难。还是我遗漏了什么?

此功能可以在 flow.View 的自定义子 class 中实现,使用自定义激活 class,您可以在其中扩展 create_task 方法:

https://github.com/viewflow/viewflow/blob/master/viewflow/flow/activation.py#L77

approve = (
    UserTask(view.MyView)
    .onCreateEmail(template='...', recipients=....)
    .onAutoAssignEmail(template='...')

)