Skip to Content
Menu
This question has been flagged
1 Reply
4967 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
8334
0
Mar 15
3575
0
Mar 15
3760
0
Mar 25
727
2
Oct 24
1629