[IMP] doc/howtos/backend: improve views, fix workflow
[odoo/odoo.git] / doc / howtos / backend / exercise-state-basic
1 # HG changeset patch
2 # Parent 8c721171aa16a41e94059f53d6780c67b5ef2dfc
3
4 Index: addons/openacademy/models.py
5 ===================================================================
6 --- addons.orig/openacademy/models.py   2014-08-26 17:26:14.907783150 +0200
7 +++ addons/openacademy/models.py        2014-08-26 17:26:14.899783151 +0200
8 @@ -66,6 +66,24 @@
9      attendees_count = fields.Integer(
10          string="Attendees count", compute='_get_attendees_count', store=True)
11  
12 +    state = fields.Selection([
13 +         ('draft', "Draft"),
14 +         ('confirmed', "Confirmed"),
15 +         ('done', "Done"),
16 +    ], default='draft')
17 +
18 +    @api.one
19 +    def action_draft(self):
20 +        self.state = 'draft'
21 +
22 +    @api.one
23 +    def action_confirm(self):
24 +        self.state = 'confirmed'
25 +
26 +    @api.one
27 +    def action_done(self):
28 +        self.state = 'done'
29 +
30      @api.one
31      @api.depends('seats', 'attendee_ids')
32      def _taken_seats(self):
33 Index: addons/openacademy/views/openacademy.xml
34 ===================================================================
35 --- addons.orig/openacademy/views/openacademy.xml       2014-08-26 17:26:14.907783150 +0200
36 +++ addons/openacademy/views/openacademy.xml    2014-08-26 17:26:14.899783151 +0200
37 @@ -93,6 +93,19 @@
38              <field name="model">openacademy.session</field>
39              <field name="arch" type="xml">
40                  <form string="Session Form">
41 +                    <header>
42 +                        <button name="action_draft" type="object"
43 +                                string="Reset to draft"
44 +                                states="confirmed,done"/>
45 +                        <button name="action_confirm" type="object"
46 +                                string="Confirm" states="draft"
47 +                                class="oe_highlight"/>
48 +                        <button name="action_done" type="object"
49 +                                string="Mark as done" states="confirmed"
50 +                                class="oe_highlight"/>
51 +                        <field name="state" widget="statusbar"/>
52 +                    </header>
53 +
54                      <sheet>
55                          <group>
56                              <group string="General">