From cb68960d490a5f3e9831e3fb8d0e596b666c59f4 Mon Sep 17 00:00:00 2001 From: Joseph Caburnay Date: Tue, 15 Oct 2019 07:23:55 +0000 Subject: [PATCH] [FIX] point_of_sale: delete pos.config Since the ir.sequence records linked to pos.config records are on delete restrict, it is necessary to delete the pos.config records first before deleting the ir.sequence's linked to them. closes odoo/odoo#38775 X-original-commit: cdfa415829fa06f2860d65054fd8534180c8526a Signed-off-by: pimodoo --- addons/point_of_sale/models/pos_config.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/addons/point_of_sale/models/pos_config.py b/addons/point_of_sale/models/pos_config.py index ecdc641c9d8..66b3c96ffa5 100644 --- a/addons/point_of_sale/models/pos_config.py +++ b/addons/point_of_sale/models/pos_config.py @@ -443,10 +443,11 @@ class PosConfig(models.Model): return result def unlink(self): - for pos_config in self.filtered(lambda pos_config: pos_config.sequence_id or pos_config.sequence_line_id): - pos_config.sequence_id.unlink() - pos_config.sequence_line_id.unlink() - return super(PosConfig, self).unlink() + # Delete the pos.config records first then delete the sequences linked to them + sequences_to_delete = self.sequence_id | self.sequence_line_id + res = super(PosConfig, self).unlink() + sequences_to_delete.unlink() + return res def _set_fiscal_position(self): for config in self: