django - 在视图流中将任务号分配给当前用户
问题描述
我已经使用 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)
?
解决方案
您可以为用户选择实现自定义可调用。
.Assing
接受一个可调用的,它应该进行进程激活并返回一个用户实例,例如
flow.View(...).Assign(lambda act: User.objects.filter(...).first())
https://github.com/viewflow/viewflow/blob/master/demo/shipment/flows.py#L57
推荐阅读
- bash - 从bash中的嵌套json键中提取值
- java - Android中的onNavigationItemSelected
- react-native - 使用 arrayUnion 会导致内存泄漏
- swift - 我应该在 websocket 关闭完成处理程序中使用 unowned self 吗?
- jquery - JQuery 转换 CSS 和无效的 CSS 属性
- c# - 在 ObservableCollection 中绑定 bool 值
> to ListBox DataTemplate CheckBox 使程序崩溃 - c# - 错误 XA2006:无法解析对“System.Configuration.IConfigurationSectionHandler”的引用(在程序集“System.Web”中定义
- php - 使用docker compose服务时如何制作两个虚拟主机点和同一个项目?
- java - 将多个集合合并为相同实例类型的单个集合的实用程序
- c# - 使用 Azure SDK 向网络子网添加多个地址前缀