diff options
Diffstat (limited to 'addons/stock/models/stock_picking.py')
| -rw-r--r-- | addons/stock/models/stock_picking.py | 18 |
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): |
