From 17c899e797279bc4fd0e5042ed20cee3cac8c461 Mon Sep 17 00:00:00 2001 From: Maksym Yankin Date: Tue, 16 May 2023 17:10:30 +0300 Subject: [PATCH] [IMP] stock_quant_manual_assign: Refactor quants_lines creation --- .../wizard/assign_manual_quants.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/stock_quant_manual_assign/wizard/assign_manual_quants.py b/stock_quant_manual_assign/wizard/assign_manual_quants.py index b700bb243..e882ca1d7 100644 --- a/stock_quant_manual_assign/wizard/assign_manual_quants.py +++ b/stock_quant_manual_assign/wizard/assign_manual_quants.py @@ -5,7 +5,7 @@ # Copyright 2018 Tecnativa - Pedro M. Baeza # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html -from odoo import _, api, fields, models +from odoo import Command, _, api, fields, models from odoo.exceptions import ValidationError from odoo.tools.float_utils import float_compare @@ -49,7 +49,9 @@ class AssignManualQuants(models.TransientModel): digits="Product Unit of Measure", ) quants_lines = fields.One2many( - "assign.manual.quants.lines", "assign_wizard", string="Quants" + comodel_name="assign.manual.quants.lines", + inverse_name="assign_wizard", + string="Quants", ) move_id = fields.Many2one( comodel_name="stock.move", @@ -87,11 +89,11 @@ class AssignManualQuants(models.TransientModel): res = super().default_get(fields_list) move = self.env["stock.move"].browse(self.env.context["active_id"]) available_quants = self._get_available_quants(move) - q_lines = [] + quants_lines_commands = [Command.clear()] for quant in available_quants: line = self._prepare_wizard_line(move, quant) - q_lines.append(line) - res.update({"quants_lines": [(0, 0, x) for x in q_lines], "move_id": move.id}) + quants_lines_commands.append(Command.create(line)) + res.update({"quants_lines": quants_lines_commands, "move_id": move.id}) return res @api.model