File: workflow.py

package info (click to toggle)
tryton-server 3.4.0-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 4,448 kB
  • sloc: python: 28,657; xml: 3,996; sql: 328; sh: 150; makefile: 82
file content (34 lines) | stat: -rw-r--r-- 834 bytes parent folder | download | duplicates (5)
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
# 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, Workflow, fields

__all__ = [
    'WorkflowedModel',
    ]


class WorkflowedModel(Workflow, ModelSQL):
    'Workflowed Model'
    __name__ = 'test.workflowed'
    state = fields.Selection([
            ('start', 'Start'),
            ('running', 'Running'),
            ('end', 'End'),
            ], 'State')

    @classmethod
    def __setup__(cls):
        super(WorkflowedModel, cls).__setup__()
        cls._transitions |= set((
                ('start', 'running'),
                ))

    @staticmethod
    def default_state():
        return 'start'

    @classmethod
    @Workflow.transition('running')
    def run(cls, records):
        pass