PURPOSE Purpose of this commit is to add a company field on test mail models used to replicate ticket / project behavior (``mail.test.ticket`` and ``mail.test. container``). SPECIFICATIONS To avoid messing with existing tests and ease comparison through all Odoo versions (notably performance) this is done by adding new models inheriting from current mail models. A company_id field is added as well as MC rules. Those models will be used to add tests for mail thread behavior in a multi company environment (aliases management, performance, emails and notification layouts, ...). In this commit we also update ACLs for ticket-like models to add rules for portal users, based on followers. This mimics classic rules from Odoo used notably in a light project-like environment. This allows to test a bit more in details recipients, access tokens, links in emails, ... Task-2673913 (TestMail: Cleanup and improve test coverage) Part-of: odoo/odoo#86393
56 lines
2.8 KiB
XML
56 lines
2.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo noupdate="1">
|
|
|
|
<record id="mail_test_multi_company_rule" model="ir.rule">
|
|
<field name="name">Mail Test Multi Company</field>
|
|
<field name="model_id" ref="test_mail.model_mail_test_multi_company"/>
|
|
<field eval="True" name="global"/>
|
|
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
|
|
</record>
|
|
|
|
<!-- TICKET-LIKE -->
|
|
<record id="mail_test_ticket_rule_portal" model="ir.rule">
|
|
<field name="name">Portal Mail Test Ticket</field>
|
|
<field name="model_id" ref="test_mail.model_mail_test_ticket"/>
|
|
<field name="domain_force">[('message_partner_ids', 'in', [user.partner_id.id])]</field>
|
|
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
|
</record>
|
|
|
|
<!-- MULTI COMPANY TICKET LIKE -->
|
|
<record id="mail_test_ticket_mc_rule" model="ir.rule">
|
|
<field name="name">Mail Test Ticket Multi Company</field>
|
|
<field name="model_id" ref="test_mail.model_mail_test_ticket_mc"/>
|
|
<field name="global" eval="True"/>
|
|
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
|
|
</record>
|
|
<record id="mail_test_ticket_mc_rule_portal" model="ir.rule">
|
|
<field name="name">Portal Mail Test Ticket Multi Company</field>
|
|
<field name="model_id" ref="test_mail.model_mail_test_ticket_mc"/>
|
|
<field name="domain_force">[('message_partner_ids', 'in', [user.partner_id.id])]</field>
|
|
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
|
</record>
|
|
|
|
<!-- PROJECT-LIKE -->
|
|
<record id="mail_test_container_rule_portal" model="ir.rule">
|
|
<field name="name">Portal Mail Test Container</field>
|
|
<field name="model_id" ref="test_mail.model_mail_test_container"/>
|
|
<field name="domain_force">[('message_partner_ids', 'in', [user.partner_id.id])]</field>
|
|
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
|
</record>
|
|
|
|
<!-- MULTI COMPANY PROJECT LIKE -->
|
|
<record id="mail_test_container_mc_rule" model="ir.rule">
|
|
<field name="name">Mail Test Container Multi Company</field>
|
|
<field name="model_id" ref="test_mail.model_mail_test_container_mc"/>
|
|
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
|
|
<field name="global" eval="True"/>
|
|
</record>
|
|
<record id="mail_test_container_mc_rule_portal" model="ir.rule">
|
|
<field name="name">Portal Mail Test Container Multi Company</field>
|
|
<field name="model_id" ref="test_mail.model_mail_test_container_mc"/>
|
|
<field name="domain_force">[('message_partner_ids', 'in', [user.partner_id.id])]</field>
|
|
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
|
|
</record>
|
|
|
|
</odoo>
|