From 74665bb2e872ae32beb8aaa36477eaf8118bf39a Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Tue, 19 May 2020 13:35:55 +0200 Subject: [PATCH] Migrate stock_user_default_warehouse_mrp from 10.0 --- stock_user_default_warehouse_mrp/__init__.py | 5 +++++ .../__manifest__.py | 22 +++++++++++++++++++ .../models/__init__.py | 5 +++++ .../models/mrp.py | 19 ++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 stock_user_default_warehouse_mrp/__init__.py create mode 100644 stock_user_default_warehouse_mrp/__manifest__.py create mode 100644 stock_user_default_warehouse_mrp/models/__init__.py create mode 100644 stock_user_default_warehouse_mrp/models/mrp.py diff --git a/stock_user_default_warehouse_mrp/__init__.py b/stock_user_default_warehouse_mrp/__init__.py new file mode 100644 index 0000000..20e273f --- /dev/null +++ b/stock_user_default_warehouse_mrp/__init__.py @@ -0,0 +1,5 @@ +# Copyright 2018 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_mrp/__manifest__.py b/stock_user_default_warehouse_mrp/__manifest__.py new file mode 100644 index 0000000..d57c81f --- /dev/null +++ b/stock_user_default_warehouse_mrp/__manifest__.py @@ -0,0 +1,22 @@ +# Copyright 2018 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 (MRP)', + 'version': '12.0.1.0.0', + 'category': 'Manufacturing', + 'license': 'AGPL-3', + 'summary': "Use the users's default warehouse on manufacturing orders", + 'description': """ +Default Warehouse on User (MRP) +================================ +The default warehouse configured in the preferences of the user will be used by default on manufacturing orders. +This module has been written by Alexis de Lattre from Akretion +. + """, + 'author': 'Akretion', + 'website': 'http://www.akretion.com', + 'depends': ['mrp', 'stock_user_default_warehouse_base'], + 'installable': True, +} diff --git a/stock_user_default_warehouse_mrp/models/__init__.py b/stock_user_default_warehouse_mrp/models/__init__.py new file mode 100644 index 0000000..bc81ecf --- /dev/null +++ b/stock_user_default_warehouse_mrp/models/__init__.py @@ -0,0 +1,5 @@ +# Copyright 2018 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import mrp diff --git a/stock_user_default_warehouse_mrp/models/mrp.py b/stock_user_default_warehouse_mrp/models/mrp.py new file mode 100644 index 0000000..0c859bf --- /dev/null +++ b/stock_user_default_warehouse_mrp/models/mrp.py @@ -0,0 +1,19 @@ +# Copyright 2018 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 MrpProduction(models.Model): + _inherit = 'mrp.production' + + @api.model + def _default_pref_picking_type(self): + manu_type = self.env.user.context_default_warehouse_id.manu_type_id + return manu_type.id if manu_type else self._get_default_picking_type() + + # No need to inherit the default value of location_src_id and + # location_dest_id because it is immediately over-ridden + # by the onchange of picking_type_id + picking_type_id = fields.Many2one(default=_default_pref_picking_type)