summaryrefslogtreecommitdiff
path: root/addons/stock_picking_batch/models/stock_picking.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/stock_picking_batch/models/stock_picking.py')
-rw-r--r--addons/stock_picking_batch/models/stock_picking.py34
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()