如何通过create_uid限制对合作伙伴的访问

时间:2017-11-08 09:13:38

标签: security odoo-10

我需要将用户访问权限仅限于自己添加的合作伙伴。 这就是我所做的: 我的模块的security.xml:

<odoo>
  <data noupdate="1">
    <record model="ir.rule" id="partner_access_user_rule">
      <field name="name">Parners only for editors</field>
      <field name="model_id" ref="base.model_res_partner"/>
      <field name="domain_force"> [('create_uid','=',user.id)] </field>
      <field name="groups" eval="[(4,ref('base.group_user'))]"/>
    </record>
  </data>
</odoo>

更新我已经更改了ref =“base.model_res_partner”,因为Lucas告诉我,我的模块已安装,但规则并没有在设置中提升&gt;安全&gt;“记录规则”并不适用。我通过网络界面添加了记录规则,它可以工作。我如何导出它以申请我的模块?我添加到记录规则设置的问题。

导出文件:

id,"perm_create","perm_unlink","perm_read","perm_write","domain_force","groups/id","name","model_id/id"
__export__.ir_rule_97,"True","True","True","True","[('create_uid','=',user.id)]","base.group_user","Partners only for editors","account.model_res_partner"

enter image description here

2 个答案:

答案 0 :(得分:1)

您的代码正在res.partner上查找模型mail.partner.access,它应该在base上查找。

尝试以下方法:

<field name="model_id" ref="base.model_res_partner"/>

答案 1 :(得分:0)

如果您的行级访问规则不起作用,请使用Odoo界面创建并测试它,将其导出到csv并更改原始XML。或者直接从CSV创建xml(查看附图enter image description here)。在我的情况下,我发现了错误: model_id 应该引用 base.model_res_partner