odoo/doc/howtos/backend/exercise-state-workflow-act...

95 lines
3.8 KiB
Plaintext

# HG changeset patch
# Parent 0764cf061d021a0a5b2811f5ec5d835f799630fc
Index: doc-backend/openacademy/models.py
===================================================================
--- doc-backend.orig/openacademy/models.py 2014-08-24 12:37:16.637413907 +0200
+++ doc-backend/openacademy/models.py 2014-08-24 12:37:16.625413907 +0200
@@ -73,18 +73,6 @@
])
@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):
if not self.seats:
Index: doc-backend/openacademy/views/session_workflow.xml
===================================================================
--- doc-backend.orig/openacademy/views/session_workflow.xml 2014-08-24 12:37:16.637413907 +0200
+++ doc-backend/openacademy/views/session_workflow.xml 2014-08-24 12:41:01.153419104 +0200
@@ -6,25 +6,57 @@
<field name="on_create">True</field>
</record>
+ <record model="ir.actions.server" id="set_session_to_draft">
+ <field name="name">Set session to Draft</field>
+ <field name="model_id" ref="model_openacademy_session"/>
+ <field name="code">
+ self.write(cr, uid, context['active_ids'], {
+ 'state': 'draft'
+ }, context=context)
+ </field>
+ </record>
<record model="workflow.activity" id="draft">
<field name="name">Draft</field>
<field name="wkf_id" ref="wkf_session"/>
<field name="flow_start" eval="True"/>
- <field name="kind">function</field>
- <field name="action">action_draft()</field>
+ <field name="kind">dummy</field>
+ <field name="action"></field>
+ <field name="action_id" ref="set_session_to_draft"/>
+ </record>
+
+ <record model="ir.actions.server" id="set_session_to_confirmed">
+ <field name="name">Set session to Confirmed</field>
+ <field name="model_id" ref="model_openacademy_session"/>
+ <field name="code">
+ self.write(cr, uid, context['active_ids'], {
+ 'state': 'confirmed'
+ }, context=context)
+ </field>
</record>
<record model="workflow.activity" id="confirmed">
<field name="name">Confirmed</field>
<field name="wkf_id" ref="wkf_session"/>
- <field name="kind">function</field>
- <field name="action">action_confirm()</field>
+ <field name="kind">dummy</field>
+ <field name="action"></field>
+ <field name="action_id" ref="set_session_to_confirmed"/>
+ </record>
+
+ <record model="ir.actions.server" id="set_session_to_done">
+ <field name="name">Set session to Done</field>
+ <field name="model_id" ref="model_openacademy_session"/>
+ <field name="code">
+ self.write(cr, uid, context['active_ids'], {
+ 'state': 'done'
+ }, context=context)
+ </field>
</record>
<record model="workflow.activity" id="done">
<field name="name">Done</field>
<field name="wkf_id" ref="wkf_session"/>
<field name="flow_stop" eval="True"/>
- <field name="kind">function</field>
- <field name="action">action_done()</field>
+ <field name="kind">dummy</field>
+ <field name="action"></field>
+ <field name="action_id" ref="set_session_to_done"/>
</record>
<record model="workflow.transition" id="session_draft_to_confirmed">