From b05abba06437fe9397bf5161823650f3d491469b Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Thu, 26 Aug 2021 23:18:37 +0200 Subject: [PATCH] [MIG] sale_order_route to v14 --- sale_order_route/__init__.py | 2 -- sale_order_route/__manifest__.py | 6 +++--- sale_order_route/models/__init__.py | 2 -- sale_order_route/models/sale_order.py | 16 ++++++++-------- sale_order_route/views/sale_order.xml | 2 +- 5 files changed, 12 insertions(+), 16 deletions(-) diff --git a/sale_order_route/__init__.py b/sale_order_route/__init__.py index cde864b..0650744 100644 --- a/sale_order_route/__init__.py +++ b/sale_order_route/__init__.py @@ -1,3 +1 @@ -# -*- coding: utf-8 -*- - from . import models diff --git a/sale_order_route/__manifest__.py b/sale_order_route/__manifest__.py index 7a4aed4..8f1ec51 100644 --- a/sale_order_route/__manifest__.py +++ b/sale_order_route/__manifest__.py @@ -1,10 +1,10 @@ -# Copyright 2019 Akretion France (http://www.akretion.com/) +# Copyright 2019-2021 Akretion France (http://www.akretion.com/) # @author: Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { 'name': 'Sale Order Route', - 'version': '12.0.1.0.0', + 'version': '14.0.1.0.0', 'category': 'Sales', 'license': 'AGPL-3', 'summary': 'Set route on sale order', @@ -18,5 +18,5 @@ This module has been written by Alexis de Lattre from Akretion 'website': 'http://www.akretion.com', 'depends': ['sale_stock'], 'data': ['views/sale_order.xml'], - 'installable': False, + 'installable': True, } diff --git a/sale_order_route/models/__init__.py b/sale_order_route/models/__init__.py index 6064afe..6aacb75 100644 --- a/sale_order_route/models/__init__.py +++ b/sale_order_route/models/__init__.py @@ -1,3 +1 @@ -# -*- coding: utf-8 -*- - from . import sale_order diff --git a/sale_order_route/models/sale_order.py b/sale_order_route/models/sale_order.py index d039243..d439f35 100644 --- a/sale_order_route/models/sale_order.py +++ b/sale_order_route/models/sale_order.py @@ -1,4 +1,4 @@ -# Copyright 2019 Akretion France (http://www.akretion.com/) +# Copyright 2019-2021 Akretion France (http://www.akretion.com/) # @author: Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -10,17 +10,17 @@ class SaleOrder(models.Model): route_id = fields.Many2one( 'stock.location.route', string='Route', - ondelete='restrict', readonly=True, track_visibility='onchange', + ondelete='restrict', readonly=True, tracking=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, - domain=[('sale_selectable', '=', True)]) + check_company=True, + domain="['|', ('company_id', '=', company_id), ('company_id', '=', False), ('sale_selectable', '=', True)]") def _action_confirm(self): - # Caution: take into account the scenario where - # route_id has a value, then SO is cancelled+back to draft, - # then route_id = False and SO is confirmed again + # Takes into account the scenario where route_id has a value, then SO is + # cancelled+back to draft, then route_id = False and SO is confirmed again for order in self: vals = {'route_id': order.route_id.id or False} order.order_line.filtered( lambda l: - l.product_id.type in ('product', 'consu')).write(vals) - super(SaleOrder, self)._action_confirm() + l.product_id and l.product_id.type in ('product', 'consu')).write(vals) + return super()._action_confirm() diff --git a/sale_order_route/views/sale_order.xml b/sale_order_route/views/sale_order.xml index 950890e..9bd4b70 100644 --- a/sale_order_route/views/sale_order.xml +++ b/sale_order_route/views/sale_order.xml @@ -1,6 +1,6 @@