[FIX] account: unit arg of on_change_unit_amount can be False
authorDenis Ledoux <dle@odoo.com>
Thu, 31 Jul 2014 16:15:41 +0000 (18:15 +0200)
committerDenis Ledoux <dle@odoo.com>
Thu, 31 Jul 2014 16:15:41 +0000 (18:15 +0200)
addons/account/account_analytic_line.py

index 077a409..e620359 100644 (file)
@@ -79,11 +79,13 @@ class account_analytic_line(osv.osv):
         prod = product_obj.browse(cr, uid, prod_id, context=context)
         result = 0.0
         if prod_id:
-            unit_obj = product_uom_obj.browse(cr, uid, unit, context=context)
-            if prod.uom_id.category_id.id != unit_obj.category_id.id:
+            unit_obj = False
+            if unit:
+                unit_obj = product_uom_obj.browse(cr, uid, unit, context=context)
+            if not unit_obj or prod.uom_id.category_id.id != unit_obj.category_id.id:
                 unit = prod.uom_id.id
             if j_id.type == 'purchase':
-                if prod.uom_po_id.category_id.id != unit_obj.category_id.id:
+                if not unit_obj or prod.uom_po_id.category_id.id != unit_obj.category_id.id:
                     unit = prod.uom_po_id.id
         if j_id.type <> 'sale':
             a = prod.property_account_expense.id