[IMP] doc/howtos/backend: improve views, fix workflow
[odoo/odoo.git] / doc / howtos / backend / exercise-state-workflow
1 # HG changeset patch
2 # Parent c72382bf0c5794135fa318f6ba59899b2277d8c5
3
4 Index: addons/openacademy/__openerp__.py
5 ===================================================================
6 --- addons.orig/openacademy/__openerp__.py      2014-08-26 17:26:15.771783138 +0200
7 +++ addons/openacademy/__openerp__.py   2014-08-26 17:26:15.763783138 +0200
8 @@ -29,6 +29,7 @@
9          'templates.xml',
10          'views/openacademy.xml',
11          'views/partner.xml',
12 +        'views/session_workflow.xml',
13      ],
14      # only loaded in demonstration mode
15      'demo': [
16 Index: addons/openacademy/models.py
17 ===================================================================
18 --- addons.orig/openacademy/models.py   2014-08-26 17:26:15.771783138 +0200
19 +++ addons/openacademy/models.py        2014-08-26 17:26:15.763783138 +0200
20 @@ -70,7 +70,7 @@
21           ('draft', "Draft"),
22           ('confirmed', "Confirmed"),
23           ('done', "Done"),
24 -    ], default='draft')
25 +    ])
26  
27      @api.one
28      def action_draft(self):
29 Index: addons/openacademy/views/openacademy.xml
30 ===================================================================
31 --- addons.orig/openacademy/views/openacademy.xml       2014-08-26 17:26:15.771783138 +0200
32 +++ addons/openacademy/views/openacademy.xml    2014-08-26 17:26:15.763783138 +0200
33 @@ -94,13 +94,13 @@
34              <field name="arch" type="xml">
35                  <form string="Session Form">
36                      <header>
37 -                        <button name="action_draft" type="object"
38 +                        <button name="draft" type="workflow"
39                                  string="Reset to draft"
40                                  states="confirmed,done"/>
41 -                        <button name="action_confirm" type="object"
42 +                        <button name="confirm" type="workflow"
43                                  string="Confirm" states="draft"
44                                  class="oe_highlight"/>
45 -                        <button name="action_done" type="object"
46 +                        <button name="done" type="workflow"
47                                  string="Mark as done" states="confirmed"
48                                  class="oe_highlight"/>
49                          <field name="state" widget="statusbar"/>
50 Index: addons/openacademy/views/session_workflow.xml
51 ===================================================================
52 --- /dev/null   1970-01-01 00:00:00.000000000 +0000
53 +++ addons/openacademy/views/session_workflow.xml       2014-08-26 17:26:15.763783138 +0200
54 @@ -0,0 +1,50 @@
55 +<openerp>
56 +    <data>
57 +        <record model="workflow" id="wkf_session">
58 +            <field name="name">OpenAcademy sessions workflow</field>
59 +            <field name="osv">openacademy.session</field>
60 +            <field name="on_create">True</field>
61 +        </record>
62 +
63 +        <record model="workflow.activity" id="draft">
64 +            <field name="name">Draft</field>
65 +            <field name="wkf_id" ref="wkf_session"/>
66 +            <field name="flow_start" eval="True"/>
67 +            <field name="kind">function</field>
68 +            <field name="action">action_draft()</field>
69 +        </record>
70 +        <record model="workflow.activity" id="confirmed">
71 +            <field name="name">Confirmed</field>
72 +            <field name="wkf_id" ref="wkf_session"/>
73 +            <field name="kind">function</field>
74 +            <field name="action">action_confirm()</field>
75 +        </record>
76 +        <record model="workflow.activity" id="done">
77 +            <field name="name">Done</field>
78 +            <field name="wkf_id" ref="wkf_session"/>
79 +            <field name="kind">function</field>
80 +            <field name="action">action_done()</field>
81 +        </record>
82 +
83 +        <record model="workflow.transition" id="session_draft_to_confirmed">
84 +            <field name="act_from" ref="draft"/>
85 +            <field name="act_to" ref="confirmed"/>
86 +            <field name="signal">confirm</field>
87 +        </record>
88 +        <record model="workflow.transition" id="session_confirmed_to_draft">
89 +            <field name="act_from" ref="confirmed"/>
90 +            <field name="act_to" ref="draft"/>
91 +            <field name="signal">draft</field>
92 +        </record>
93 +        <record model="workflow.transition" id="session_done_to_draft">
94 +            <field name="act_from" ref="done"/>
95 +            <field name="act_to" ref="draft"/>
96 +            <field name="signal">draft</field>
97 +        </record>
98 +        <record model="workflow.transition" id="session_confirmed_to_done">
99 +            <field name="act_from" ref="confirmed"/>
100 +            <field name="act_to" ref="done"/>
101 +            <field name="signal">done</field>
102 +        </record>
103 +    </data>
104 +</openerp>