[FIX] rma_sale: product in multiple lines

If there are several stock moves with the same product in the picking we
won't be able to make the RMA
This commit is contained in:
david
2020-12-17 17:04:05 +01:00
committed by Pedro M. Baeza
parent 7b3f7de9dc
commit 90964175ad
9 changed files with 45 additions and 7 deletions

View File

@@ -3,7 +3,7 @@
{
"name": "Return Merchandise Authorization Management - Link with Sales",
"summary": "Sale Order - Return Merchandise Authorization (RMA)",
"version": "13.0.1.0.0",
"version": "13.0.1.1.0",
"development_status": "Production/Stable",
"category": "RMA",
"website": "https://github.com/OCA/rma",

View File

@@ -289,6 +289,11 @@ msgstr "Solicitar RMAs"
msgid "Requested operation"
msgstr "Operación solicitada"
#. module: rma_sale
#: model:ir.model.fields,field_description:rma_sale.field_sale_order_line_rma_wizard__sale_line_id
msgid "Sale Line"
msgstr ""
#. module: rma_sale
#: model:ir.model.fields,field_description:rma_sale.field_rma__order_id
msgid "Sale Order"

View File

@@ -56,7 +56,8 @@ msgstr ""
#. module: rma_sale
#: model_terms:ir.ui.view,arch_db:rma_sale.sale_order_portal_content
msgid "<span class=\"fa fa-reply\" role=\"img\" aria-label=\"RMA\" title=\"RMA\"/>"
msgid ""
"<span class=\"fa fa-reply\" role=\"img\" aria-label=\"RMA\" title=\"RMA\"/>"
msgstr ""
#. module: rma_sale
@@ -283,6 +284,11 @@ msgstr "aangevraagde RMA's"
msgid "Requested operation"
msgstr "Verzochte handeling"
#. module: rma_sale
#: model:ir.model.fields,field_description:rma_sale.field_sale_order_line_rma_wizard__sale_line_id
msgid "Sale Line"
msgstr ""
#. module: rma_sale
#: model:ir.model.fields,field_description:rma_sale.field_rma__order_id
msgid "Sale Order"

View File

@@ -284,6 +284,11 @@ msgstr "Requisição de RMAs"
msgid "Requested operation"
msgstr "Operação Requisitada"
#. module: rma_sale
#: model:ir.model.fields,field_description:rma_sale.field_sale_order_line_rma_wizard__sale_line_id
msgid "Sale Line"
msgstr ""
#. module: rma_sale
#: model:ir.model.fields,field_description:rma_sale.field_rma__order_id
msgid "Sale Order"

View File

@@ -277,6 +277,11 @@ msgstr ""
msgid "Requested operation"
msgstr ""
#. module: rma_sale
#: model:ir.model.fields,field_description:rma_sale.field_sale_order_line_rma_wizard__sale_line_id
msgid "Sale Line"
msgstr ""
#. module: rma_sale
#: model:ir.model.fields,field_description:rma_sale.field_rma__order_id
msgid "Sale Order"

View File

@@ -57,10 +57,11 @@ msgstr "<i class=\"fa fa-times\"/> Anulat"
#. module: rma_sale
#: model_terms:ir.ui.view,arch_db:rma_sale.sale_order_portal_content
msgid "<span class=\"fa fa-reply\" role=\"img\" aria-label=\"RMA\" title=\"RMA\"/>"
msgid ""
"<span class=\"fa fa-reply\" role=\"img\" aria-label=\"RMA\" title=\"RMA\"/>"
msgstr ""
"<span class=\"fa fa-reply\" role=\"img\" aria-label=\"Retur\" title=\"Retur\""
"/>"
"<span class=\"fa fa-reply\" role=\"img\" aria-label=\"Retur\" title=\"Retur"
"\"/>"
#. module: rma_sale
#: model_terms:ir.ui.view,arch_db:rma_sale.sale_order_portal_content
@@ -289,6 +290,11 @@ msgstr "Cereri retur"
msgid "Requested operation"
msgstr "Operație solicitată"
#. module: rma_sale
#: model:ir.model.fields,field_description:rma_sale.field_sale_order_line_rma_wizard__sale_line_id
msgid "Sale Line"
msgstr ""
#. module: rma_sale
#: model:ir.model.fields,field_description:rma_sale.field_rma__order_id
msgid "Sale Order"

View File

@@ -36,6 +36,7 @@ class SaleOrder(models.Model):
{
"product_id": data["product"].id,
"quantity": data["quantity"],
"sale_line_id": data["sale_line_id"].id,
"uom_id": data["uom"].id,
"picking_id": data["picking"] and data["picking"].id,
},
@@ -83,7 +84,7 @@ class SaleOrderLine(models.Model):
self.ensure_one()
return self.move_ids.filtered(
lambda r: (
self.product_id == r.product_id
self == r.sale_line_id
and r.state == "done"
and not r.scrapped
and r.location_dest_id.usage == "customer"
@@ -114,6 +115,7 @@ class SaleOrderLine(models.Model):
"quantity": qty,
"uom": move.product_uom,
"picking": move.picking_id,
"sale_line_id": self,
}
)
else:
@@ -123,6 +125,7 @@ class SaleOrderLine(models.Model):
"quantity": self.qty_delivered,
"uom": self.product_uom,
"picking": False,
"sale_line_id": self,
}
)
return data

View File

@@ -100,6 +100,12 @@
t-attf-name="#{data_index}-product_id"
t-att-value="data['product'].id"
/>
<input
type="hidden"
t-if="data.get('sale_line_id')"
t-attf-name="#{data_index}-sale_line_id"
t-att-value="data['sale_line_id'].id"
/>
</td>
<td class="text-right">
<div id="delivery-rma-qty">

View File

@@ -111,6 +111,7 @@ class SaleOrderLineRmaWizard(models.TransientModel):
operation_id = fields.Many2one(
comodel_name="rma.operation", string="Requested operation",
)
sale_line_id = fields.Many2one(comodel_name="sale.order.line",)
description = fields.Text()
@api.onchange("product_id")
@@ -124,7 +125,8 @@ class SaleOrderLineRmaWizard(models.TransientModel):
if record.picking_id:
record.move_id = record.picking_id.move_lines.filtered(
lambda r: (
r.sale_line_id.product_id == record.product_id
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
)
)