Files
odoo_source/addons/test_mail/security/test_mail_security.xml
T
Thibault Delavallée bf508a808e [IMP] test_mail: add multicompany test models
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
2022-03-24 13:57:35 +01:00

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>