访问控制列表“编辑Odoo安全规则”

时间:2016-02-06 12:12:56

标签: openerp odoo-8

我正在尝试修改“请假管理”模块下的批准请假访问控制列表。

我需要让每位员工的经理只能访问“请求许可”菜单。

EA。如果公司在销售/营销部门有10名员工,在IT部门有5名员工。我需要销售经理仅访问他的10个员工休假请求,而不能访问不受其授权的公司其他员工。 为此,我将Leaves官员的记录规则域定义从[(1,'=',1)]修改为[('employee_id.parent_id,'=',user.id)] 但它不起作用。如何解决?

1 个答案:

答案 0 :(得分:1)

在你的情况下,基本上你完全通过了错误的域名来记录规则。

您之前使用的域名

[(1,' =',1)] => 访问该模型的所有模型记录

[(' employee_id.parent_id,' =',user.id)] => 仅作为当前用户员工访问Manager parent_id

但是,您只能与经理用户访问,才能访问其相关用户。

因此您必须在记录规则中添加以下域名:

[' |'(' employee_id.user_id',' =',user.id),(' employee_id.parent_id。 user_id',' =',user.id)]

基本上,经理自己作为公司的员工,员工必须与相关用户联系。

首先需要了解以下关系:

<强> 1。 employee_id:

表示与一名员工相关的每个假期。

<强> 2。 parent_id:

表示与hr.holidays模型w [(&#39; employee_id.parent_id,&#39; =&#39;,user.id)的一位经理相关的每位员工]特定的model.hich被称为请假申请

第3。 user_id:

如果您想访问特定员工的登录信息,那么您必须为每个员工表单设置相关用户。标签为“相关用户”。

<强> 4。用户:

这表示全局用户名表示您当前登录的当前用户。

5.id:

表示每条记录的唯一ID

在您的情况下,域名将如何运作?

首先它将检查当前登录的用户是否为附加的当前离职员工相关用户。 然后找到与同一名员工相关的用户ID与相同的经理。

这意味着它将为两个域执行SQL语句的OR操作。

我希望我的回答对您有所帮助:)。