Day14 Let's ODOO: Security(3) Record rules

如果说Access right是针对model的CURD,那麽Record rules就是针对每笔资料去设定权限,例如我们不想让志工层级的人看到休学学生的资料,即使他拥有读的权限,透过domain,我们便可以设定规则,依照惯例我们来写一个范例:

<record model="ir.rule" id="volunteer_rule">
    <field name="name">Volunteer Rule</field>
    <field name="model_id" ref="model_res_student"/>
    <field name="domain_force">[('is_active', '=', True)]</field>
    <field name="groups" eval="[(4, ref('group_school_volunteer'))]"/> 
    <field name="perm_read" eval="True"/>
    <field name="perm_create" eval="False"/>
    <field name="perm_unlink" eval="False"/>
    <field name="perm_write" eval="False"/>
</record>

model:固定是ir.rule

id:规则id,不重复即可

name:规则名称,自定义即可

model_id:关联之model,同之前设定access right,规则为 "model_"+ Model Name

domain_force:对model内资料的过滤条件,我们只希望还在学的学生出现在志工观看名单上,另外可以用'|'或"&"去过滤复数条件

groups:此规则套用的group,这里填入我们昨天设定的志工group id

perm_read:读取资料权限

perm_create:建立资料权限

perm_unlink:删除资料权限

perm_write:修改资料权限

注意CURD权限必须至少有一个是True,不能以全否定的方式设定权限

设定好後重启,我们便会看到新增的Record rules,同样的记得开启开发者模式:

https://ithelp.ithome.com.tw/upload/images/20210930/20130896EdKsGFkxfw.png

如果觉得写设定档很麻烦,过去提到的Security的设定都有介面可以新增或修改,也很方便,只要定义的完善Odoo的权限可以设定的越来越细!!

Security的介绍就到这边了,我们明天来新增Menu icon


<<:  大数据平台:讯息中介

>>:  【Day 29】JavaScript fetch

SQL Server 每日定期备份与定期删除旧有备份档

SQL Server 资料库备份是将存放在资料库里面的资料,转成单一档案保存,通常是副档名为 bak...

第8车厢-抖动画面流出!你真的会:hover吗?

本篇介绍版面使用:hover会遇到的雷点,以及提供解决方式参考 还记的,我们在第6篇有提到状态选择...

DAY 25 Big Data 5Vs – Veracity(准确性) Athena(2)

如同近年被热烈讨论的 微服务架构* 与 CQRS架构*,AWS上推广的资料分析原则之一也是建议要将资...

以Postgresql为主,再聊聊资料库 PostgreSQL复制schema下table结构到另一schema的procedure及取样的研讨

在资料库的日常使用,会有将schema下的table结构复制到另一schema下,供做测试,或是做移...