1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.model import ModelSQL, ModelView, Workflow, fields
from trytond.pool import Pool
from trytond.wizard import StateTransition, Wizard
class Model(Workflow, ModelSQL, ModelView):
"Model"
__name__ = 'test.model_log.model'
name = fields.Char("Name")
state = fields.Selection([
('start', "Start"),
('end', "End"),
], "State")
@classmethod
def __setup__(cls):
super().__setup__()
cls._transitions |= {('start', 'end')}
@classmethod
def default_state(cls):
return 'start'
@classmethod
@ModelView.button
def click(cls, records):
pass
@classmethod
@Workflow.transition('start')
def start(cls, records):
pass
@classmethod
@Workflow.transition('end')
def end(cls, records):
pass
class Wizard(Wizard):
"Wizard"
__name__ = 'test.model_log.wizard'
no_modification = StateTransition()
modification = StateTransition()
def transition_no_modification(self):
return 'end'
def transition_modification(self):
self.record.name = "Bar"
self.record.save()
return 'end'
def register(module):
Pool.register(
Model,
module=module, type_='model')
Pool.register(
Wizard,
module=module, type_='wizard')
|