あらすじ
stackoverflow に関する以前の質問で述べたように、私はViewFlow.ioを使用してワークフローを実装しています。
ユースケースは、Django-Viewflow ライブラリを使用して著者情報と著作権を収集することです。ワークフローは、著者が本に追加されるたびに開始する必要があります。
myFlow/flows.py
from viewflow import flow
from viewflow.base import this, Flow
from viewflow.contrib import celery
from viewflow.views import StartProcessView, ProcessView
from . import models, tasks
class AuthorInvitationFlow(Flow):
process_cls = models.AuthorInvitation
start = flow.Start(StartProcessView) \
.Permission(auto_create=True) \
.Next(this.notify)
notify = celery.Job(tasks.send_authorship_request) \
.Next(this.approve)
approve = flow.View(AuthorConfirmView) \
.Permission(auto_create=True) \
.Next(this.check_approve)
check_approve = flow.If(cond=lambda p: p.confirmed) \
.OnTrue(this.send) \
.OnFalse(this.end)
send = celery.Job(tasks.send_authorship) \
.Next(this.end)
end = flow.End()
私の問題
1 - カスタム updateView を作成するときに、特定のタスクのカスタム テンプレートを指定するにはどうすればよいですか?
template または template_name を使用しても機能しません。
class AuthorConfirmView(TaskViewMixin, UpdateView):
template_name = 'template_1.html'
fields = ["confirmed"]
def get_object(self):
return self.activation.process
2- プロセス インスタンスごとに一意の URL を設定する方法とベスト プラクティスは何ですか。作成者 (別名ユーザー) がプロセス (ワークフロー) インスタンスのリンク (例: http://mybook/process/11122 ) にアクセスすると、アクティブなタスクにリダイレクトされます。さらに、「割り当て」が必須かどうかはわかりません。
ありがとう。