closes odoo/odoo#31790 Signed-off-by: Christophe Simonis <chs@odoo.com>
103 lines
5.5 KiB
XML
103 lines
5.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
|
|
<record id="test_rule_on_create" model="base.automation">
|
|
<field name="name">Base Automation: test rule on create</field>
|
|
<field name="model_id" ref="base_automation.model_base_automation_lead_test"/>
|
|
<field name="state">code</field>
|
|
<field name="code" eval="'records.write({\'user_id\': %s})' % ref('base.user_demo')"/>
|
|
<field name="trigger">on_create</field>
|
|
<field name="active" eval="True"/>
|
|
<field name="model_id" ref="base_automation.model_base_automation_lead_test"/>
|
|
<field name="filter_domain">[('state', '=', 'draft')]</field>
|
|
</record>
|
|
|
|
<record id="test_rule_on_write" model="base.automation">
|
|
<field name="name">Base Automation: test rule on write</field>
|
|
<field name="model_id" ref="base_automation.model_base_automation_lead_test"/>
|
|
<field name="state">code</field>
|
|
<field name="code" eval="'records.write({\'user_id\': %s})' % ref('base.user_demo')"/>
|
|
<field name="trigger">on_write</field>
|
|
<field name="active" eval="True"/>
|
|
<field name="model_id" ref="base_automation.model_base_automation_lead_test"/>
|
|
<field name="filter_domain">[('state', '=', 'done')]</field>
|
|
<field name="filter_pre_domain">[('state', '=', 'open')]</field>
|
|
</record>
|
|
|
|
<record id="test_rule_on_recompute" model="base.automation">
|
|
<field name="name">Base Automation: test rule on recompute</field>
|
|
<field name="model_id" ref="base_automation.model_base_automation_lead_test"/>
|
|
<field name="state">code</field>
|
|
<field name="code" eval="'records.write({\'user_id\': %s})' % ref('base.user_demo')"/>
|
|
<field name="trigger">on_write</field>
|
|
<field name="active" eval="True"/>
|
|
<field name="model_id" ref="base_automation.model_base_automation_lead_test"/>
|
|
<field name="filter_domain">[('customer', '=', True)]</field>
|
|
</record>
|
|
|
|
<record id="test_rule_recursive" model="base.automation">
|
|
<field name="name">Base Automation: test recursive rule</field>
|
|
<field name="model_id" ref="base_automation.model_base_automation_lead_test"/>
|
|
<field name="trigger">on_write</field>
|
|
<field name="active" eval="True"/>
|
|
<field name="state">code</field>
|
|
<field name="code">
|
|
record = model.browse(env.context['active_id'])
|
|
if 'partner_id' in env.context['old_values'][record.id]:
|
|
record.write({'state': 'draft'})
|
|
</field>
|
|
</record>
|
|
|
|
<record id="test_rule_on_line" model="base.automation">
|
|
<field name="name">Base Automation: test rule on secondary model</field>
|
|
<field name="model_id" ref="base_automation.model_base_automation_line_test"/>
|
|
<field name="state">code</field>
|
|
<field name="code" eval="'records.write({\'user_id\': %s})' % ref('base.user_demo')"/>
|
|
<field name="trigger">on_create</field>
|
|
<field name="active" eval="True"/>
|
|
<field name="model_id" ref="base_automation.model_base_automation_line_test"/>
|
|
</record>
|
|
|
|
<record id="test_rule_on_write_check_context" model="base.automation">
|
|
<field name="name">Base Automation: test rule on write check context</field>
|
|
<field name="model_id" ref="base_automation.model_base_automation_lead_test"/>
|
|
<field name="trigger">on_write</field>
|
|
<field name="active" eval="True"/>
|
|
<field name="state">code</field>
|
|
<field name="code">
|
|
record = model.browse(env.context['active_id'])
|
|
if 'user_id' in env.context['old_values'][record.id]:
|
|
record.write({'is_assigned_to_admin': (record.user_id.id == 1)})
|
|
</field>
|
|
</record>
|
|
|
|
<record id="test_rule_with_trigger" model="base.automation">
|
|
<field name="name">Base Automation: test rule with trigger</field>
|
|
<field name="model_id" ref="base_automation.model_base_automation_lead_test"/>
|
|
<field name="trigger_field_ids" eval="[(4,ref('base_automation.field_base_automation_lead_test__state'))]"/>
|
|
<field name="trigger">on_write</field>
|
|
<field name="active" eval="True"/>
|
|
<field name="state">code</field>
|
|
<field name="code">
|
|
record = model.browse(env.context['active_id'])
|
|
record['name'] = record.name + 'X'
|
|
</field>
|
|
</record>
|
|
|
|
<record id="test_mail_template_automation" model="mail.template">
|
|
<field name="name">Template Automation</field>
|
|
<field name="model_id" ref="base_automation.model_base_automation_lead_test"/>
|
|
<field name="body_html"><div>Email automation</div></field>
|
|
</record>
|
|
<record id="test_rule_on_write_recompute_send_email" model="base.automation">
|
|
<field name="name">Base Automation: test send an email</field>
|
|
<field name="model_id" ref="base_automation.model_base_automation_lead_test"/>
|
|
<field name="template_id" ref="base_automation.test_mail_template_automation"/>
|
|
<field name="state">email</field>
|
|
<field name="trigger">on_write</field>
|
|
<field name="active" eval="True"/>
|
|
<field name="filter_domain">[('deadline', '!=', False)]</field>
|
|
<field name="filter_pre_domain">[('deadline', '=', False)]</field>
|
|
</record>
|
|
</odoo>
|