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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
<?xml version="1.0" ?>
<terp>
<data>
<!-- Roles definition -->
<record model="res.roles" id="request">
<field name="name">Request Approvel</field>
</record>
<record model="res.roles" id="testing">
<field name="name">Sample Testing</field>
</record>
<!-- Workflow definition -->
<record model="workflow" id="analysis_wkf">
<field name="name">labo.analysis.request.basic</field>
<field name="osv">labo.analysis.request</field>
<field name="on_create">True</field>
</record>
<!-- Workflow Activities///////////////////////////////////////////////////////////////////////-->
<record model="workflow.activity" id="draft">
<field name="wkf_id" ref="analysis_wkf"/>
<field name="flow_start">True</field>
<field name="name">draft</field>
<field name="kind">function</field>
<field name="action">write({'state':'draft'})</field>
</record>
<record model="workflow.activity" id="open">
<field name="wkf_id" ref="analysis_wkf"/>
<field name="name">open</field>
<field name="kind">function</field>
<field name="action">write({'state':'open'})</field>
<field name="split_mode">OR</field>
</record>
<record model="workflow.activity" id="ok">
<field name="wkf_id" ref="analysis_wkf"/>
<field name="name">ok</field>
<field name="kind">function</field>
<field name="action">write({'state':'ok'})</field>
<field name="split_mode">OR</field>
</record>
<record model="workflow.activity" id="ko">
<field name="wkf_id" ref="analysis_wkf"/>
<field name="name">ko</field>
<field name="kind">function</field>
<field name="action">write({'state':'ko'})</field>
<field name="split_mode">OR</field>
</record>
<record model="workflow.activity" id="invoiced">
<field name="wkf_id" ref="analysis_wkf"/>
<field name="name">invoiced</field>
<field name="kind">function</field>
<field name="action">write({'state':'cancel'})</field>
</record>
<record model="workflow.activity" id="done">
<field name="wkf_id" ref="analysis_wkf"/>
<field name="name">done</field>
<field name="kind">function</field>
<field name="action">write({'state':'done'})</field>
<field name="split_mode">OR</field>
</record>
<!-- Workflow Transitions///////////////////////////////////////////////////////////////////////-->
<record model="workflow.transition" id="analysis_t1">
<field name="act_from" ref="draft"/>
<field name="act_to" ref="open"/>
<field name="signal">start</field>
<field name="role_id" ref="request"/>
</record>
<record model="workflow.transition" id="analysis_t2">
<field name="act_from" ref="open"/>
<field name="act_to" ref="ko"/>
<field name="signal">sample_ko</field>
</record>
<record model="workflow.transition" id="analysis_t3">
<field name="act_from" ref="open"/>
<field name="act_to" ref="ok"/>
<field name="signal">sample_ok</field>
</record>
<record model="workflow.transition" id="analysis_t4">
<field name="act_from" ref="ok"/>
<field name="act_to" ref="invoiced"/>
<field name="signal">invoice_create</field>
</record>
<record model="workflow.transition" id="analysis_t5">
<field name="act_from" ref="invoiced"/>
<field name="act_to" ref="done"/>
<field name="signal">test_done</field>
</record>
<record model="workflow.transition" id="analysis_t6">
<field name="act_from" ref="ko"/>
<field name="act_to" ref="draft"/>
<field name="signal">retest</field>
</record>
</data>
</terp>
|