在销售订单中的order_lines中允许删除权限

时间:2017-08-01 19:27:10

标签: openerp odoo-8 odoo-9 odoo-10 odoo-view

我想将order_line上的删除权限授予某个群组,直到他们点击按销售顺序保存。点击“保存”后,他们就无法对其进行编辑。我这样做是因为有时当该组中的用户在order_line中意外添加记录时正在工作。他应该能够删除它,直到他保存订单。这可能吗?

2 个答案:

答案 0 :(得分:0)

记录的Saving意味着两件事:

1)创建新记录。调用create方法

2)更新已存在的记录。调用write方法

在这两种情况下,您都可以通过覆盖createwrite(或两者)并在您创建或修改规则的方法中撤消您对特定用户组的权限ir.rule

示例:UID = 4的用户点击了保存:

def write(self, vars):
    # either create a rule
    self.env['ir.rule'].create({//TODO})
    # or modify an already existing one
    self.env['ir.rule'].write({'domain'://TODO})
    return super(self, classname).write(vars)

答案 1 :(得分:0)

这应该不是问题。在单击“保存”按钮之前,订单行记录实际上并未在数据库中创建,因此用户只需要创建对sale.order.line的访问权限。

Sales Order Lines Example