diff --git a/sale.py b/sale.py index d23e1f536a..c006a9e89c 100644 --- a/sale.py +++ b/sale.py @@ -49,9 +49,10 @@ class Sale(Model): product = id2product[line['product']] quantity = uom_obj.compute_qty(id2unit[line['unit']], line['quantity'], product.default_uom, round=False) - weight += uom_obj.compute_qty(product.weight_uom, - product.weight * quantity, carrier.weight_uom, - round=False) + if product.weight: + weight += uom_obj.compute_qty(product.weight_uom, + product.weight * quantity, carrier.weight_uom, + round=False) weights.append(weight) return context diff --git a/tests/scenario_carrier_weight.rst b/tests/scenario_carrier_weight.rst index 9868c2c192..62ee93f195 100644 --- a/tests/scenario_carrier_weight.rst +++ b/tests/scenario_carrier_weight.rst @@ -214,7 +214,7 @@ Create payment term:: >>> PaymentTerm = Model.get('account.invoice.payment_term') >>> PaymentTermLine = Model.get('account.invoice.payment_term.line') >>> payment_term = PaymentTerm(name='Direct') - >>> payment_term_line = PaymentTermLine(type='remainder') + >>> payment_term_line = PaymentTermLine(type='remainder', days=0) >>> payment_term.lines.append(payment_term_line) >>> payment_term.save() diff --git a/tests/test_carrier_weight.py b/tests/test_carrier_weight.py index 98395924cd..00c3e93ffc 100644 --- a/tests/test_carrier_weight.py +++ b/tests/test_carrier_weight.py @@ -64,6 +64,8 @@ class CarrierWeightTestCase(unittest.TestCase): 'default_uom': uom_id, 'category': category_id, 'type': 'service', + 'list_price': Decimal(0), + 'cost_price': Decimal(0), }) weight_uom_id, = self.uom.search([ ('name', '=', 'Kilogram'),