odoo/doc/howtos/backend/exercise-state-basic

57 lines
2.1 KiB
Plaintext

# HG changeset patch
# Parent 8c721171aa16a41e94059f53d6780c67b5ef2dfc
Index: addons/openacademy/models.py
===================================================================
--- addons.orig/openacademy/models.py 2014-08-28 14:22:01.371015565 +0200
+++ addons/openacademy/models.py 2014-08-28 14:22:01.367015565 +0200
@@ -66,6 +66,24 @@
attendees_count = fields.Integer(
string="Attendees count", compute='_get_attendees_count', store=True)
+ state = fields.Selection([
+ ('draft', "Draft"),
+ ('confirmed', "Confirmed"),
+ ('done', "Done"),
+ ], default='draft')
+
+ @api.one
+ def action_draft(self):
+ self.state = 'draft'
+
+ @api.one
+ def action_confirm(self):
+ self.state = 'confirmed'
+
+ @api.one
+ def action_done(self):
+ self.state = 'done'
+
@api.one
@api.depends('seats', 'attendee_ids')
def _taken_seats(self):
Index: addons/openacademy/views/openacademy.xml
===================================================================
--- addons.orig/openacademy/views/openacademy.xml 2014-08-28 14:22:01.371015565 +0200
+++ addons/openacademy/views/openacademy.xml 2014-08-28 14:22:01.367015565 +0200
@@ -96,6 +96,19 @@
<field name="model">openacademy.session</field>
<field name="arch" type="xml">
<form string="Session Form">
+ <header>
+ <button name="action_draft" type="object"
+ string="Reset to draft"
+ states="confirmed,done"/>
+ <button name="action_confirm" type="object"
+ string="Confirm" states="draft"
+ class="oe_highlight"/>
+ <button name="action_done" type="object"
+ string="Mark as done" states="confirmed"
+ class="oe_highlight"/>
+ <field name="state" widget="statusbar"/>
+ </header>
+
<sheet>
<group>
<group string="General">