From d7deac81e9399c12405ca2405f288b9922b266d7 Mon Sep 17 00:00:00 2001 From: Yannick Tivisse Date: Wed, 15 Mar 2023 13:55:04 +0000 Subject: [PATCH] [IMP] sale: Allow partner removal if linked to draft/cancelled SO closes odoo/odoo#116881 Taskid: 3233204 X-original-commit: 70686d7482d718776fc1ac9c4bad579e1b5c0f9f Signed-off-by: Yannick Tivisse (yti) --- addons/sale/models/res_partner.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/addons/sale/models/res_partner.py b/addons/sale/models/res_partner.py index 30ec3525427..5fd492b5168 100644 --- a/addons/sale/models/res_partner.py +++ b/addons/sale/models/res_partner.py @@ -62,3 +62,14 @@ class ResPartner(models.Model): for res in group: partner = self.browse(res['partner_id'][0]) partner.credit += res['amount_to_invoice'] + + def unlink(self): + # Unlink draft/cancelled SO so that the partner can be removed from database + self.env['sale.order'].sudo().search([ + ('state', 'in', ['draft', 'cancel']), + '|', '|', + ('partner_id', 'in', self.ids), + ('partner_invoice_id', 'in', self.ids), + ('partner_shipping_id', 'in', self.ids), + ]).unlink() + return super().unlink()