From bf325b531cc0197243d28e7346dc069c17965e73 Mon Sep 17 00:00:00 2001 From: SilvioGregorini Date: Wed, 31 Mar 2021 16:53:42 +0200 Subject: [PATCH] [FIX] rma_sale: fix wrong values for RMA creation Lesser fix for creating RMA from website. Current values will break any custom behaviour because Many2one fields are set using strings instead of integer (IDs). --- rma_sale/controllers/sale_portal.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rma_sale/controllers/sale_portal.py b/rma_sale/controllers/sale_portal.py index 70403a80..126473c6 100644 --- a/rma_sale/controllers/sale_portal.py +++ b/rma_sale/controllers/sale_portal.py @@ -25,10 +25,15 @@ class CustomerPortal(CustomerPortal): return request.redirect("/my") order_obj = request.env["sale.order"] wizard_obj = request.env["sale.order.rma.wizard"] + wizard_line_field_types = { + f: d["type"] for f, d in wizard_obj.line_ids.fields_get().items() + } # Set wizard line vals mapped_vals = {} for name, value in post.items(): row, field_name = name.split("-", 1) + if wizard_line_field_types.get(field_name) == "many2one": + value = int(value) if value else False mapped_vals.setdefault(row, {}).update({field_name: value}) # If no operation is filled, no RMA will be created line_vals = [