From 9b6c34a8602efa0e6e0c2c36971eae3a064ede0b Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Tue, 19 May 2020 13:34:14 +0200 Subject: [PATCH] Migrate stock_user_default_warehouse_sale from 10.0 --- stock_user_default_warehouse_sale/__init__.py | 5 ++++ .../__manifest__.py | 24 +++++++++++++++++++ .../models/__init__.py | 5 ++++ .../models/sale.py | 19 +++++++++++++++ 4 files changed, 53 insertions(+) create mode 100644 stock_user_default_warehouse_sale/__init__.py create mode 100644 stock_user_default_warehouse_sale/__manifest__.py create mode 100644 stock_user_default_warehouse_sale/models/__init__.py create mode 100644 stock_user_default_warehouse_sale/models/sale.py diff --git a/stock_user_default_warehouse_sale/__init__.py b/stock_user_default_warehouse_sale/__init__.py new file mode 100644 index 0000000..7848c13 --- /dev/null +++ b/stock_user_default_warehouse_sale/__init__.py @@ -0,0 +1,5 @@ +# © 2017 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models diff --git a/stock_user_default_warehouse_sale/__manifest__.py b/stock_user_default_warehouse_sale/__manifest__.py new file mode 100644 index 0000000..4638f62 --- /dev/null +++ b/stock_user_default_warehouse_sale/__manifest__.py @@ -0,0 +1,24 @@ +# © 2017 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + 'name': 'Default Warehouse on User (Sale)', + 'version': '12.0.1.0.0', + 'category': 'Sale Management', + 'license': 'AGPL-3', + 'summary': "Use the users's default warehouse on sale orders", + 'description': """ +Default Warehouse on User (Sale) +================================ + +The default warehouse configured in the preferences of the user will be used by default on sale orders. + +This module has been written by Alexis de Lattre from Akretion +. + """, + 'author': 'Akretion', + 'website': 'http://www.akretion.com', + 'depends': ['sale_stock', 'stock_user_default_warehouse_base'], + 'installable': True, +} diff --git a/stock_user_default_warehouse_sale/models/__init__.py b/stock_user_default_warehouse_sale/models/__init__.py new file mode 100644 index 0000000..67c1d42 --- /dev/null +++ b/stock_user_default_warehouse_sale/models/__init__.py @@ -0,0 +1,5 @@ +# © 2017 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import sale diff --git a/stock_user_default_warehouse_sale/models/sale.py b/stock_user_default_warehouse_sale/models/sale.py new file mode 100644 index 0000000..ed991ee --- /dev/null +++ b/stock_user_default_warehouse_sale/models/sale.py @@ -0,0 +1,19 @@ +# © 2017 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models, fields, api + + +class SaleOrder(models.Model): + _inherit = 'sale.order' + + @api.model + def _default_warehouse_id(self): + warehouse = self.env.user.context_default_warehouse_id + if not warehouse: + warehouse = self.env['stock.warehouse'].search( + [('company_id', '=', self.env.user.company_id.id)], limit=1) + return warehouse + + warehouse_id = fields.Many2one(default=_default_warehouse_id)