仓库库存限制无法在编辑模式odoo10中工作?

时间:2017-08-29 09:44:53

标签: openerp odoo-10

在我的自定义模块中,我使用选股类型来查看用户的仓库操作。

class ResUsers(models.Model):
    _inherit = 'res.users'

    default_picking_type_ids = fields.Many2many(
    'stock.picking.type', 'stock_picking_type_users_rel',
    'user_id', 'picking_type_id', string='Warehouse Operations')

我是以用户身份添加的。

在我的sexurity.xml文件中添加

<record id="filter_user_stock_picking_type" model="ir.rule">
        <field name="name">Filter Stock Picking Type</field>
        <field name="model_id" search="[('model','=','stock.picking.type')]" model="ir.model"/>
        <field name="groups" eval="[(4, ref('base.group_user'))]"/>
        <field name="domain_force">[('id','in', [ s.id for s in user.default_picking_type_ids ])]</field>
 </record>

因此在创建用户并指定库存操作时可以使用。

但是当将库存操作更改为特定用户时,它不会受到影响。

如何解决此问题??

1 个答案:

答案 0 :(得分:2)

我认为,问题是Odoo Cache。 旧值存储在缓存中很长一段时间,您的更改不会产生任何影响。

您可以尝试清除缓存。它帮助我解决了类似的问题。

class User(models.Model):
    _inherit = 'res.users'

    @api.multi
    def write(self, vals):
        ret = super(User, self).write(vals)

        if 'default_picking_type_ids' in vals:
            # clear default ir values when default_picking_type_ids changes
            self.env['ir.values'].get_defaults_dict.clear_cache(self.env['ir.values'])
        return ret