[MIG] rma_filter_lot: Migration to 17.0

Moved the domain from the python declaration to xml view field to match base changes (6c67346b08).
This commit is contained in:
DavidJForgeFlow
2025-01-08 12:38:16 +01:00
parent 68e870c26a
commit 2684d83bf3
3 changed files with 11 additions and 11 deletions

View File

@@ -1,9 +1,9 @@
# Copyright 2021 ForgeFlow S.L. # Copyright 2021-24 ForgeFlow S.L.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html) # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
{ {
"name": "RMA Filter Lot", "name": "RMA Filter Lot",
"version": "15.0.1.0.0", "version": "17.0.1.0.0",
"license": "LGPL-3", "license": "LGPL-3",
"category": "RMA", "category": "RMA",
"summary": "Filter RMA lots", "summary": "Filter RMA lots",

View File

@@ -1,4 +1,4 @@
# Copyright 2021 ForgeFlow S.L. # Copyright 2021-24 ForgeFlow S.L.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html) # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
from odoo import api, fields, models from odoo import api, fields, models
@@ -8,27 +8,22 @@ from odoo.tools import float_compare
class RmaOrderLine(models.Model): class RmaOrderLine(models.Model):
_inherit = "rma.order.line" _inherit = "rma.order.line"
lot_id = fields.Many2one(
domain="[('id', 'in', valid_lot_ids)]",
)
valid_lot_ids = fields.One2many( valid_lot_ids = fields.One2many(
comodel_name="stock.production.lot", comodel_name="stock.lot",
compute="_compute_domain_lot_ids", compute="_compute_domain_lot_ids",
) )
@api.depends("product_id") @api.depends("product_id")
def _compute_domain_lot_ids(self): def _compute_domain_lot_ids(self):
for rec in self: for rec in self:
lots = rec.env["stock.production.lot"].search( lots = rec.env["stock.lot"].search([("product_id", "=", rec.product_id.id)])
[("product_id", "=", rec.product_id.id)]
)
if ( if (
lots lots
and rec.type == "customer" and rec.type == "customer"
and rec.product_id and rec.product_id
and rec.product_id.tracking != "none" and rec.product_id.tracking != "none"
): ):
valid_ids = self.env["stock.production.lot"] valid_ids = self.env["stock.lot"]
for quant in rec.product_id.stock_quant_ids: for quant in rec.product_id.stock_quant_ids:
if ( if (
float_compare(quant.available_quantity, 0.0, precision_digits=2) float_compare(quant.available_quantity, 0.0, precision_digits=2)

View File

@@ -8,6 +8,11 @@
<field name="partner_id" position="after"> <field name="partner_id" position="after">
<field name="valid_lot_ids" invisible="1" /> <field name="valid_lot_ids" invisible="1" />
</field> </field>
<field name="lot_id" position="attributes">
<attribute
name="domain"
>[('product_id', '=', product_id),('id','in',valid_lot_ids)]</attribute>
</field>
</field> </field>
</record> </record>
</odoo> </odoo>