File: workflow.py

package info (click to toggle)
tryton-server 7.0.43-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,760 kB
  • sloc: python: 53,744; xml: 5,194; sh: 803; sql: 217; makefile: 28
file content (37 lines) | stat: -rw-r--r-- 928 bytes parent folder | download | duplicates (3)
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
# 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
from trytond.pool import Pool


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


def register(module):
    Pool.register(
        WorkflowedModel,
        module=module, type_='model')