< record id = "ir_rule_hr_contract_multi_company" model = "ir.rule" >
< field name = "name" > HR Contract: Multi Company < / field >#定义名字的
< field name = "model_id" ref = "model_hr_contract" / >#那个模块的id
< field name = "global" eval = "True" / >
< field name = "domain_force" > ['|', ('company_id', '=', False), ('company_id', 'in', company_ids)] < / field >#查看company_id为空的或company_id在company_ids里的数据
< / record >
security文件夹里面的两个文件是要配合起来理解
这个是限制公司的,只能看到自己公司的合同,再看一下这个
<record id="crm_rule_personal_lead" model="ir.rule">
<field name="name">Personal Leads</field>
<field ref="model_crm_lead" name="model_id"/>
<field name="domain_force">['|',('user_id','=',user.id),('user_id','=',False)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman'))]"/>
</record>
就是控制了只能看自己的,或者为空的
在search的时候会自动去根据domain和权限控制的,不需要额外写前端的内容,
security.xml定义了用户组里的用户可以看到那些数据,而ir.rule里的,则是具体的增删改查权限