diff --git a/bemade_carrier_so_to_picking/__init__.py b/bemade_carrier_so_to_picking/__init__.py new file mode 100755 index 0000000..0650744 --- /dev/null +++ b/bemade_carrier_so_to_picking/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/bemade_carrier_so_to_picking/__manifest__.py b/bemade_carrier_so_to_picking/__manifest__.py new file mode 100755 index 0000000..76ef343 --- /dev/null +++ b/bemade_carrier_so_to_picking/__manifest__.py @@ -0,0 +1,32 @@ +# +# Bemade Inc. +# +# Copyright (C) September 2023 Bemade Inc. (). +# Author: Marc Durepos (Contact : marc@bemade.org) +# +# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1) +# It is forbidden to publish, distribute, sublicense, or sell copies of the Software +# or modified copies of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +{ + 'name': 'Carrier SO to Picking', + 'version': '15.0.1.0.0', + 'summary': 'Causes carrier to be transferred to picking on order confirmation.', + 'category': 'Delivery', + 'author': 'Bemade Inc.', + 'website': 'https://www.bemade.org', + 'license': 'OPL-1', + 'depends': ['delivery'], + 'data': [''], + 'demo': [''], + 'installable': True, + 'auto_install': False, +} diff --git a/bemade_carrier_so_to_picking/models/__init__.py b/bemade_carrier_so_to_picking/models/__init__.py new file mode 100644 index 0000000..ae4c272 --- /dev/null +++ b/bemade_carrier_so_to_picking/models/__init__.py @@ -0,0 +1 @@ +from . import stock_picking diff --git a/bemade_carrier_so_to_picking/models/stock_picking.py b/bemade_carrier_so_to_picking/models/stock_picking.py new file mode 100644 index 0000000..401d926 --- /dev/null +++ b/bemade_carrier_so_to_picking/models/stock_picking.py @@ -0,0 +1,24 @@ +from odoo import fields, models, api, _, Command + + +class StockPicking(models.Model): + _inherit = 'stock.picking' + + carrier_id = fields.Many2one("delivery.carrier", + string="Carrier", + check_company=True, + compute='_compute_carrier_id', + inverse='_inverse_carrier_id', + store=True) + # carrier_set_manually = fields.Boolean(default=False) + + @api.depends('sale_id') + def _compute_carrier_id(self): + for rec in self: + # rec.carrier_id = rec.carrier_set_manually and rec.carrier_id \ + # or rec.sale_id and rec.sale_id.carrier_id + rec.carrier_id = rec.sale_id and rec.sale_id.carrier_id + + def _inverse_carrier_id(self): + # self.carrier_set_manually = True + pass