From cf86ad83bf0e9c2ef80bf584915bce20f217ab98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Wed, 21 Sep 2022 09:34:52 +0200 Subject: [PATCH 1/3] [FIX] rma_sale: Prevent warning log in domain ("partner_id", "child_of", False) in partner if it's not set yet TT39089 --- rma_sale/models/rma.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rma_sale/models/rma.py b/rma_sale/models/rma.py index 70c0dfcd..e305d1f8 100644 --- a/rma_sale/models/rma.py +++ b/rma_sale/models/rma.py @@ -35,9 +35,9 @@ class Rma(models.Model): def _compute_allowed_picking_ids(self): domain = [("state", "=", "done"), ("picking_type_id.code", "=", "outgoing")] for rec in self: - # if rec.partner_id: - commercial_partner = rec.partner_id.commercial_partner_id - domain.append(("partner_id", "child_of", commercial_partner.id)) + if rec.partner_id: + commercial_partner = rec.partner_id.commercial_partner_id + domain.append(("partner_id", "child_of", commercial_partner.id)) if rec.order_id: domain.append(("sale_id", "=", rec.order_id.id)) rec.allowed_picking_ids = self.env["stock.picking"].search(domain) From 010743d70623017319aca56cd7b4ac36ed03a2cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Wed, 21 Sep 2022 09:39:05 +0200 Subject: [PATCH 2/3] [FIX] rma_sale: Filter done pickings and done moves TT39089 --- rma_sale/models/rma.py | 2 +- rma_sale/wizard/sale_order_rma_wizard.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/rma_sale/models/rma.py b/rma_sale/models/rma.py index e305d1f8..dd44e2af 100644 --- a/rma_sale/models/rma.py +++ b/rma_sale/models/rma.py @@ -48,7 +48,7 @@ class Rma(models.Model): if rec.order_id: order_move = rec.order_id.order_line.mapped("move_ids") rec.allowed_move_ids = order_move.filtered( - lambda r: r.picking_id == self.picking_id + lambda r: r.picking_id == self.picking_id and r.state == "done" ).ids else: rec.allowed_move_ids = self.picking_id.move_lines.ids diff --git a/rma_sale/wizard/sale_order_rma_wizard.py b/rma_sale/wizard/sale_order_rma_wizard.py index ad7f539a..78de535f 100644 --- a/rma_sale/wizard/sale_order_rma_wizard.py +++ b/rma_sale/wizard/sale_order_rma_wizard.py @@ -152,6 +152,7 @@ class SaleOrderLineRmaWizard(models.TransientModel): r.sale_line_id == record.sale_line_id and r.sale_line_id.product_id == record.product_id and r.sale_line_id.order_id == record.order_id + and r.state == "done" ) ) else: @@ -169,7 +170,9 @@ class SaleOrderLineRmaWizard(models.TransientModel): line = record.order_id.order_line.filtered( lambda r: r.product_id == record.product_id ) - record.allowed_picking_ids = line.mapped("move_ids.picking_id") + record.allowed_picking_ids = line.mapped("move_ids.picking_id").filtered( + lambda x: x.state == "done" + ) def _prepare_rma_values(self): self.ensure_one() From 1459bf2484191b8b51a67387baea5be97c0bc752 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Wed, 21 Sep 2022 09:41:21 +0200 Subject: [PATCH 3/3] [FIX] rma_sale: Set picking_id field to required in wizard to avoid creating rma if nothing has been delivered yet TT39089 --- rma_sale/wizard/sale_order_rma_wizard_views.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rma_sale/wizard/sale_order_rma_wizard_views.xml b/rma_sale/wizard/sale_order_rma_wizard_views.xml index 254c8b2b..505020b0 100644 --- a/rma_sale/wizard/sale_order_rma_wizard_views.xml +++ b/rma_sale/wizard/sale_order_rma_wizard_views.xml @@ -25,7 +25,11 @@ options="{'no_create': True}" /> - +