from viewflow import flow,lock
from viewflow.base import this, Flow
from viewflow.contrib import celery
from viewflow.flow.views import CreateProcessView, UpdateProcessView, Startview
from viewflow import frontend
from viewflow.site import viewsite
from .models import HelloWorldProcess
@frontend.register
class HelloWorldFlow(Flow):
process_class = HelloWorldProcess
lock_impl = lock.select_for_update_lock
start = (
flow.Start
(CreateProcessView,
fields=["text"]
).Permission(auto_create=True)\
.Next(this.approve))
approve = (flow.View(UpdateProcessView,fields=["approved"])\
.Permission(auto_create=True)\
.Next(this.check_approve)
)
check_approve = (
flow.If(lambda activation: activation.process.approved)\
.Then(this.send)\
.Else(this.end)
)
send = (celery.Job(tasks.send_hello_world_request)\
.Next(this.end)
)
end = flow.End()
viewsite.register(HelloWorldFlow)
#def send_question_app_request(self, activation):
#print(activation.process.text)
this is my flow.py