基于少数标准限制产品的访问

时间:2012-07-05 08:31:13

标签: openerp

目标: 向拥有购买模块访问权限的所有用户显示所有产品。 但是之外,上述规则仅显示在参考字段中对创建相同产品的用户具有值'secfab'的产品。

问题: 我尝试使用访问记录,但我构建它的逻辑很弱,我需要帮助。

案例1: [('default_code','!=','secfab'),('created_id','=',user.id)]

如果我对此进行编码,那么我只会获得一条记录,而其他记录则不会显示。

案例2: ['|',('default_code','!=','secfab'),('created_id','=',user.id)]

如果我对此进行编码,那么我只记录所有记录,而且我无法实现我想要的隐私。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:3)

你的第二个案例似乎是正确的,除了过滤创建者的条款看起来拼写错误。此拼写错误可能导致规则匹配所有记录,因为无法验证不存在的字段created_id上的条件。不应该是:

['|', ('default_code', '!=', 'secfab'), ('create_uid', '=', user.id)]

转换为“显示所有没有secfab代码的产品,以及用户创建的所有产品,无论其代码是什么”,并且似乎做了什么你想要吗?

create_uid是系统自动添加到_log_access设置为True的所有模型的4个字段之一,这是默认值。 OpenERP technical mementospecial fields documentation中解释了这一点。