From dffcf673b800b0fef17c22727e409695b896a1e7 Mon Sep 17 00:00:00 2001 From: mariadforgeflow Date: Tue, 18 Oct 2022 11:20:23 +0200 Subject: [PATCH] [IMP] rma_delivery: add default in carrier --- rma_delivery/__manifest__.py | 2 +- .../migrations/14.0.1.1.0/pre-migration.py | 20 +++++++++++++++++++ rma_delivery/models/rma_operation.py | 14 +++++++++++-- rma_delivery/tests/test_rma_delivery.py | 2 +- rma_delivery/views/rma_operation_view.xml | 5 ++++- rma_delivery/wizard/rma_make_picking.py | 9 +++++++-- 6 files changed, 45 insertions(+), 7 deletions(-) create mode 100644 rma_delivery/migrations/14.0.1.1.0/pre-migration.py diff --git a/rma_delivery/__manifest__.py b/rma_delivery/__manifest__.py index 481a1ce6..8b3cd9dd 100644 --- a/rma_delivery/__manifest__.py +++ b/rma_delivery/__manifest__.py @@ -3,7 +3,7 @@ { "name": "RMA delivery integration", - "version": "14.0.1.0.0", + "version": "14.0.1.1.0", "license": "LGPL-3", "category": "RMA", "summary": "RMA default carrier on operation" "in odoo", diff --git a/rma_delivery/migrations/14.0.1.1.0/pre-migration.py b/rma_delivery/migrations/14.0.1.1.0/pre-migration.py new file mode 100644 index 00000000..8f3d5886 --- /dev/null +++ b/rma_delivery/migrations/14.0.1.1.0/pre-migration.py @@ -0,0 +1,20 @@ +# Copyright 2022 ForgeFlow S.L. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + + +@openupgrade.migrate() +def migrate(env, version): + if openupgrade.column_exists(env.cr, "delivery_carrier", "default_carrier_id"): + openupgrade.rename_fields( + env, + [ + ( + "rma.operation", + "rma_operation", + "default_carrier_id", + "default_carrier_out_id", + ) + ], + ) diff --git a/rma_delivery/models/rma_operation.py b/rma_delivery/models/rma_operation.py index 96fc71d7..329750bc 100644 --- a/rma_delivery/models/rma_operation.py +++ b/rma_delivery/models/rma_operation.py @@ -8,6 +8,16 @@ class RmaOperation(models.Model): _inherit = "rma.operation" - default_carrier_id = fields.Many2one( - comodel_name="delivery.carrier", string="Default carrier", required=False + default_carrier_in_id = fields.Many2one( + comodel_name="delivery.carrier", + string="Default Recepit carrier", + required=False, + domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]", + ) + + default_carrier_out_id = fields.Many2one( + comodel_name="delivery.carrier", + string="Default Delivery carrier", + required=False, + domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]", ) diff --git a/rma_delivery/tests/test_rma_delivery.py b/rma_delivery/tests/test_rma_delivery.py index 1ace3408..21f92b7b 100644 --- a/rma_delivery/tests/test_rma_delivery.py +++ b/rma_delivery/tests/test_rma_delivery.py @@ -26,7 +26,7 @@ class TestRmaDelivery(TestRma): ) cls.rma_cust_replace_op_id.write( { - "default_carrier_id": cls.carrier_id.id, + "default_carrier_out_id": cls.carrier_id.id, } ) diff --git a/rma_delivery/views/rma_operation_view.xml b/rma_delivery/views/rma_operation_view.xml index 2ff58f43..37ba68fd 100644 --- a/rma_delivery/views/rma_operation_view.xml +++ b/rma_delivery/views/rma_operation_view.xml @@ -7,8 +7,11 @@ rma.operation + + + - + diff --git a/rma_delivery/wizard/rma_make_picking.py b/rma_delivery/wizard/rma_make_picking.py index 78c0e513..77dc0f4e 100644 --- a/rma_delivery/wizard/rma_make_picking.py +++ b/rma_delivery/wizard/rma_make_picking.py @@ -11,8 +11,13 @@ class RmaMakePicking(models.TransientModel): def _create_picking(self): res = super()._create_picking() for line in self.mapped("item_ids.line_id").filtered( - lambda x: x.operation_id.default_carrier_id + lambda x: x.operation_id.default_carrier_out_id ): pickings = line._get_out_pickings().filtered(lambda x: not x.carrier_id) - pickings.write({"carrier_id": line.operation_id.default_carrier_id.id}) + pickings.write({"carrier_id": line.operation_id.default_carrier_out_id.id}) + for line in self.mapped("item_ids.line_id").filtered( + lambda x: x.operation_id.default_carrier_in_id + ): + pickings = line._get_in_pickings().filtered(lambda x: not x.carrier_id) + pickings.write({"carrier_id": line.operation_id.default_carrier_in_id.id}) return res