Skip to Content
Menu
This question has been flagged
1 Reply
5208 Views

I'm trying to get a basic action triggered when I save the sales order. I've tried buttin print statements and even just plain exit() in the code block, but neither seem to be getting called. I've restarted the server, upgraded the module and the XML is being loaded. This is what I have:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <record id="ir_actions_server_schedule_emails" model="ir.actions.server">
            <field name="state">code</field>
            <field name="model_id" ref="sale.model_sale_order"/>
            <field name="code">exit()</field>
            <field name="type">ir.actions.server</field>
            <field name="state">code</field>
            <field name="condition">True</field>
            <field name="name">Schedule Emails</field>
        </record>
    </data>
</openerp>

Why is it not triggering?

 

Avatar
Discard
Author Best Answer

ir.actions.server just defines an action to be taken, but it doesn't inherently have any triggers for that action. To trigger ir.actions.server on a modal update add a base.action.rule record. Use something like this:

<record id="rule_trigger_email_schedule" model="base.action.rule">
  <field name="name">Trigger email scheduling.</field>
  <field name="model_id" ref="sale.model_sale_order" />
  <field name="kind">on_create_or_write</field>
  <field name="server_action_ids" eval="[(6,0,[ref('ir_actions_server_schedule_emails')])]" />
</record>

Avatar
Discard
Related Posts Replies Views Activity
1
Oct 23
8510
0
Mar 15
3736
0
Mar 15
3919
0
Mar 25
847
2
Oct 24
1831