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

时间:2018-05-28 13:17:49

标签: django django-viewflow

我需要在分配任务时向所有者发送电子邮件。我尝试了以下方法:

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

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

  3. 这似乎是非常普遍的用例,有一个非常困难的解决方案。或者我错过了什么?

1 个答案:

答案 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='...')