1

プロセス検証を作成するために、「Django-Viewflow」ライブラリ ( http://viewflow.io/ ) を使用してワークフローを実装しています。

各タスクを特定のバリデーター (ユーザー) に固定数の検証レベルで割り当てると、すべて正常に動作します。

私の問題は次のとおりです。

バリデーターの数が動的に変化する場合 (n 検証レベル)、このライブラリを使用する方法は?

1- バリデーターを選択します (1、2、3 または n 個のバリデーター)。

2-「flows.py」で for ループを使用して、n 個の検証タスクを実行します。

ファイル「flows.py」に for ループを含めるにはどうすればよいですか?

私のflows.py:(1つの検証レベルで)

from viewflow import flow, lock
from viewflow.base import this, Flow
from viewflow.contrib import celery

from viewflow.views import  ProcessView, StartProcessView
from viewflow.lock import select_for_update_lock
from django.contrib.auth import get_user_model

from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from . import models, tasks, views

class CongeFlow(Flow):  
    process_cls = models.CongeProcess
    lock_impl = select_for_update_lock       

    start = flow.Start(views.startProcess) \
        .Next(this.assign) \

    assign = flow.View(views.approve_conge) \
        .Assign(lambda p: get_user_model().objects.get(id=p.validator1)) \
        .Next(this.check_refuse)

    check_refuse = flow.If(cond=lambda p: p.refuser) \
        .OnTrue(this.end) \
        .OnFalse(this.check_approve)   

    check_approve = flow.If(cond=lambda p: p.valider) \
        .OnTrue(this.end) \
        .OnFalse(this.assign)

    end = flow.End()
4

1 に答える 1