我需要在分配任务时向所有者发送电子邮件。我尝试了以下方法:
Assign
接受一个应该返回任务所有者的可调用函数。我们可以在这个可调用函数中发送电子邮件。但是如果你阅读源代码,你会发现这个可调用的方法被calc_owner
函数多次调用。因此,如果我们在此处向用户发送电子邮件,则会发送多封电子邮件
创建一个新的Node方法,例如EmailUser
,并在Assign
之后和Next
之前调用它。但问题是,它应该是一些可调用的,如Assign
,可以为每个Process
调用它。但是在哪里调用这个可调用函数
这似乎是非常普遍的用例,有一个非常困难的解决方案。或者我错过了什么?
答案 0 :(得分:1)
此功能可以在flow.View的自定义子类中实现,具有自定义激活类,您可以在其中扩展create_task
方法:
https://github.com/viewflow/viewflow/blob/master/viewflow/flow/activation.py#L77
approve = (
UserTask(view.MyView)
.onCreateEmail(template='...', recipients=....)
.onAutoAssignEmail(template='...')
)