domain_force - Odoo 组安全读取自定义模块中的所有记录

domain_force - Odoo group security read all records in custom module

我正在尝试分配一个安全组 (group_user) 权限,以便能够查看该组 (name_group_info_med) 的用户生成的所有记录

user_group: 可以看到group_name_information_medium_medical生成的所有记录 group_name_info_med:只能看到它生成的记录

acces_rules.xml如下

<?xml version="1.0" encoding="utf-8"?> 
<odoo>
<data noupdate="0">

<record id="info_arch_user_rule" model="ir.rule">
    <field name="name">See all</field>
    <field name="model_id" ref="model_info_med"/>
    <field name="domain_force">
        [('create_uid', '=', user.id)]
    </field>
    <field name="groups" eval="[(4, ref('informed.group_user'))]"/>
</record>     

<record id="info_med_user_rule" model="ir.rule">
    <field name="name">Informe Medico  only for owners</field>
    <field name="model_id" ref="model_info_med"/>
    <field name="domain_force">
        [('create_uid', '=', user.id)]
    </field>
    <field name="groups" eval="[(4, ref('informed.group_name_info_med'))]"/>
</record> 

</data>
</odoo>

欢迎任何帮助建议。

如果您希望一个组有权查看所有记录(无限制),那么您的记录规则应使用 domain_force of [(1, '=', 1)].

<record id="info_arch_user_rule" model="ir.rule">
    <field name="name">See all</field>
    <field name="model_id" ref="model_info_med"/>
    <field name="domain_force">
        [(1, '=', 1)]
    </field>
    <field name="groups" eval="[(4, ref('informed.group_user'))]"/>
</record>     

Record Rules Documentation 非常稀少,但您可以在核心代码或 Odoo 后端查看示例(设置 > 技术 > 记录规则)。


免责声明:这是为了让一个组能够查看 所有 条记录,而不仅仅是不同组的记录。正如@CZoellner 在下面的评论中提到的那样,单独使用记录规则是不可能的。