如何解决销售/用户联系人:仅拥有文档组,但似乎管理员组也受到了影响
我正在为odoo创建一个模块,我只希望推销员看到在联系人中分配给他/她的客户,因此我创建了一个具有域过滤器[('user_id,'=' user.id)]:
<record model="ir.rule" id="partner_view_rule_salesperson">
<field name="name">Sales Person View Rule</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="groups" eval="[(4,ref('sales_team.group_sale_salesman'))]" />
<field name="domain_force">[('user_id','=',user.id)]</field>
</record>
现在的问题是,管理员组似乎受到记录规则的影响。创建新用户时抛出错误:
由于以下规则,请求的操作(“联系人”(合作伙伴)上的“创建”)被拒绝:-销售人员查看规则
记录:示例代码{id = 18),用户:管理员(id = 2)}
我真的感到困惑,因为我没有在刚刚创建的记录规则中添加管理员组。而且,如果我删除了记录规则,它将恢复正常。
我希望有人可以帮助我。我已经在互联网上搜索了,但仍然找不到解决方案。
解决方法
您需要为管理员组或任何其他组撤消此操作:
<record model="ir.rule" id="partner_view_rule_salesmanager">
<field name="name">Sales manager View Rule</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="groups" eval="[(4,ref('sales_team.group_sale_manager'))]" />
<field name="domain_force">[(1,'=',1)]</field>
</record>
在查询中应用组规则时,它们适用于管理员( RULE1 or RULE2 or RULE3 .....)
,现在他有两个规则,其中一个总是正确的,这就是为什么他可以看到所有伙伴。并确保阅读有关全局规则(没有安全组的规则)的信息,因为它们适用于每个规则,并且不能被其他规则取消。
GLOBALRULE and GLOBALRULE2 and GLOBALRULE3 .... AND (GROUPRULE1 or GROUPRULE2 or GROUPRULE3....)
如果存在阻止读取记录的全局记录,查询将不会返回该记录。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。