Django-viewflow как получить текущего пользователя? - PullRequest
1 голос
/ 25 октября 2019

В первый день изучения потока просмотра мне удалось заставить учебник работать, но у меня есть пример использования, который я не знаю, как реализовать.

То, что я хочу, - это когда рабочий процесс запущен, яхотите, чтобы он автоматически назначал задачу для стартера рабочего процесса (пользователя), как я могу ссылаться на текущий объект запроса внутри рабочего процесса?

например.

start = (flow.Start(CreateProcessView)).Permission(auto_create=True).Next(this.fill_request)
fill_request = (flow.View(UpdateProcessView).Assign(#current user))

1 Ответ

0 голосов
/ 27 октября 2019

.Assign(...) может быть указано с помощью вызываемой функции, которая принимает активацию процесса и должна возвращать пользователя. Пример .Assign(lambda act: User.objects.get(...))

Существует несколько вызываемых сочетаний клавиш, предоставляемых Viewflow. Любой this.[task_name].owner указывает на пользователя, который выполнил эту задачу, а activation,process.created_by указывает на пользователя, который выполнил .Start задачу

fill_request = (
    flow.View(UpdateProcessView)
    .Assign(lambda act: act.process.created_by)
    # .Assign(this.start.owner)
 )
.
...