Do not compute price if no currency is set

issue11684
review435831003
This commit is contained in:
Cédric Krier
2022-09-25 20:21:45 +02:00
parent 5bf8f01390
commit bde73874bd
+4 -4
View File
@@ -28,8 +28,6 @@ class Carrier(metaclass=PoolMeta):
Currency = Pool().get('currency.currency')
price = amount * self.percentage / Decimal(100)
if not currency_id:
return price, currency_id
currency = Currency(currency_id)
return currency.round(price), currency_id
@@ -38,7 +36,8 @@ class Carrier(metaclass=PoolMeta):
if self.carrier_cost_method == 'percentage':
amount = Transaction().context.get('amount', Decimal(0))
currency_id = Transaction().context.get('currency', currency_id)
return self.compute_percentage(amount, currency_id)
if currency_id is not None:
return self.compute_percentage(amount, currency_id)
return price, currency_id
def get_purchase_price(self):
@@ -46,5 +45,6 @@ class Carrier(metaclass=PoolMeta):
if self.carrier_cost_method == 'percentage':
amount = Transaction().context.get('amount', Decimal(0))
currency_id = Transaction().context.get('currency', currency_id)
return self.compute_percentage(amount, currency_id)
if currency_id is not None:
return self.compute_percentage(amount, currency_id)
return price, currency_id