2

あらすじ

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 ) にアクセスすると、アクティブなタスクにリダイレクトされます。さらに、「割り当て」が必須かどうかはわかりません。

ありがとう。

4

1 に答える 1