diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 42f8b849fda..0c8c327c2f7 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -867,6 +867,12 @@ class purchase_order_line(osv.osv): supplier_delay = int(supplier_info.delay) if supplier_info else 0 return datetime.strptime(date_order_str, DEFAULT_SERVER_DATE_FORMAT) + relativedelta(days=supplier_delay) + def _check_product_uom_group(self, cr, uid, context=None): + group_uom = self.pool.get('ir.model.data').get_object(cr, uid, 'product', 'group_uom') + res = [user for user in group_uom.users if user.id == uid] + return len(res) and True or False + + def onchange_product_id(self, cr, uid, ids, pricelist_id, product_id, qty, uom_id, partner_id, date_order=False, fiscal_position_id=False, date_planned=False, name=False, price_unit=False, context=None): @@ -912,7 +918,8 @@ class purchase_order_line(osv.osv): uom_id = product_uom_po_id if product.uom_id.category_id.id != product_uom.browse(cr, uid, uom_id, context=context).category_id.id: - res['warning'] = {'title': _('Warning!'), 'message': _('Selected Unit of Measure does not belong to the same category as the product Unit of Measure.')} + if self._check_product_uom_group(cr, uid, context=context): + res['warning'] = {'title': _('Warning!'), 'message': _('Selected Unit of Measure does not belong to the same category as the product Unit of Measure.')} uom_id = product_uom_po_id res['value'].update({'product_uom': uom_id})