diff options
Diffstat (limited to 'addons/stock_picking_batch/models/stock_picking.py')
| -rw-r--r-- | addons/stock_picking_batch/models/stock_picking.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/addons/stock_picking_batch/models/stock_picking.py b/addons/stock_picking_batch/models/stock_picking.py new file mode 100644 index 00000000..be5bb59f --- /dev/null +++ b/addons/stock_picking_batch/models/stock_picking.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models + + +class StockPicking(models.Model): + _inherit = "stock.picking" + + batch_id = fields.Many2one( + 'stock.picking.batch', string='Batch Transfer', + check_company=True, + states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}, + help='Batch associated to this transfer', copy=False) + + @api.model + def create(self, vals): + res = super().create(vals) + if vals.get('batch_id'): + res.batch_id._sanity_check() + return res + + def write(self, vals): + res = super().write(vals) + if vals.get('batch_id'): + if not self.batch_id.picking_type_id: + self.batch_id.picking_type_id = self.picking_type_id[0] + self.batch_id._sanity_check() + return res + + def _should_show_transfers(self): + if len(self.batch_id) == 1 and self == self.batch_id.picking_ids: + return False + return super()._should_show_transfers() |
