56 lines
2.0 KiB
Plaintext
56 lines
2.0 KiB
Plaintext
|
# HG changeset patch
|
||
|
# Parent 8c721171aa16a41e94059f53d6780c67b5ef2dfc
|
||
|
# Parent 8d2ca42b5be2031ea9624896df53f09f7ca131be
|
||
|
|
||
|
diff --git a/openacademy/models.py b/openacademy/models.py
|
||
|
--- a/openacademy/models.py
|
||
|
+++ b/openacademy/models.py
|
||
|
@@ -66,6 +66,24 @@ class Session(models.Model):
|
||
|
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.multi
|
||
|
+ def action_draft(self):
|
||
|
+ self.state = 'draft'
|
||
|
+
|
||
|
+ @api.multi
|
||
|
+ def action_confirm(self):
|
||
|
+ self.state = 'confirmed'
|
||
|
+
|
||
|
+ @api.multi
|
||
|
+ def action_done(self):
|
||
|
+ self.state = 'done'
|
||
|
+
|
||
|
@api.depends('seats', 'attendee_ids')
|
||
|
def _taken_seats(self):
|
||
|
for r in self:
|
||
|
diff --git a/openacademy/views/openacademy.xml b/openacademy/views/openacademy.xml
|
||
|
--- a/openacademy/views/openacademy.xml
|
||
|
+++ b/openacademy/views/openacademy.xml
|
||
|
@@ -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">
|