summaryrefslogtreecommitdiff
path: root/addons/stock/models/stock_picking.py
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-09-20 17:33:22 +0200
committerChristophe Simonis <chs@odoo.com>2019-09-20 17:34:45 +0200
commit64e43808b79badb5869a8d73cc1cc3f3b3aa8e12 (patch)
tree9a22d5f6c03073a4d10faedea8df23a5211e8b8f /addons/stock/models/stock_picking.py
parent944891ced081cda3b8b3db5faf3b7ac23b6b4ce8 (diff)
parent58a83d12228fbbd4e9dde542e133d264204ee0f3 (diff)
[MERGE] forward port branch saas-12.5 up to 58a83d12228
Diffstat (limited to 'addons/stock/models/stock_picking.py')
-rw-r--r--addons/stock/models/stock_picking.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/addons/stock/models/stock_picking.py b/addons/stock/models/stock_picking.py
index a17812a1731..50d1874e562 100644
--- a/addons/stock/models/stock_picking.py
+++ b/addons/stock/models/stock_picking.py
@@ -160,23 +160,29 @@ class PickingType(models.Model):
if name:
domain = ['|', ('name', operator, name), ('warehouse_id.name', operator, name)]
picking_ids = self._search(expression.AND([domain, args]), limit=limit, access_rights_uid=name_get_uid)
- return self.browse(picking_ids).name_get()
+ return models.lazy_name_get(self.browse(picking_ids).with_user(name_get_uid))
@api.onchange('code')
def _onchange_picking_code(self):
warehouse = self.env['stock.warehouse'].search([('company_id', '=', self.company_id.id)], limit=1)
stock_location = warehouse.lot_stock_id
+ self.show_operations = self.code != 'incoming' and self.user_has_groups(
+ 'stock.group_production_lot,'
+ 'stock.group_stock_multi_locations,'
+ 'stock.group_tracking_lot'
+ )
if self.code == 'incoming':
self.default_location_src_id = self.env.ref('stock.stock_location_suppliers').id
self.default_location_dest_id = stock_location.id
elif self.code == 'outgoing':
self.default_location_src_id = stock_location.id
self.default_location_dest_id = self.env.ref('stock.stock_location_customers').id
- self.show_operations = self.code != 'incoming' and self.user_has_groups(
- 'stock.group_production_lot,'
- 'stock.group_stock_multi_locations,'
- 'stock.group_tracking_lot'
- )
+ elif self.code == 'internal' and not self.user_has_groups('stock.group_stock_multi_locations'):
+ return {
+ 'warning': {
+ 'message': _('You need to activate storage locations to be able to do internal operation types.')
+ }
+ }
@api.onchange('company_id')
def _onchange_company_id(self):