summaryrefslogtreecommitdiff
path: root/addons/stock/models/stock_picking.py
diff options
context:
space:
mode:
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):