diff --git a/pos_disable_pricelist_selection/models/pos_config.py b/pos_disable_pricelist_selection/models/pos_config.py index d5869e7d41..2202b3f19f 100644 --- a/pos_disable_pricelist_selection/models/pos_config.py +++ b/pos_disable_pricelist_selection/models/pos_config.py @@ -29,11 +29,6 @@ def _default_pricelist(self): store=False, ) - @api.depends("available_pricelist_ids") - def _compute_selectable_pricelist_ids(self): - for rec in self: - rec.selectable_pricelist_ids = [(6, 0, rec.allowed_pricelist_ids.ids)] - @api.depends( "hide_pricelist_button", "allowed_pricelist_ids", "selectable_pricelist_ids" ) @@ -65,5 +60,14 @@ def onchange_hide_pricelist_button(self): def write(self, vals): if vals.get("available_pricelist_ids"): - vals["selectable_pricelist_ids"] = vals["available_pricelist_ids"] + if self: + # leave only ids from available_pricelist_ids + diff = list( + set(self.selectable_pricelist_ids.ids).intersection( + set(vals["available_pricelist_ids"][0][2]) + ) + ) + vals["selectable_pricelist_ids"] = [(6, 0, diff)] + else: + vals["selectable_pricelist_ids"] = vals["available_pricelist_ids"] return super(PosConfig, self).write(vals)