diff --git a/addons/delivery/i18n/delivery.pot b/addons/delivery/i18n/delivery.pot index 1831a1ce58f..552ecca7bab 100644 --- a/addons/delivery/i18n/delivery.pot +++ b/addons/delivery/i18n/delivery.pot @@ -355,6 +355,13 @@ msgstr "" msgid "Error: no matching grid." msgstr "" +#. module: delivery +#: code:addons/delivery/models/delivery_carrier.py:206 +#: code:addons/delivery/models/delivery_grid.py:50 +#, python-format +msgid "Error: this delivery method is not available for this address." +msgstr "" + #. module: delivery #: model:ir.model.fields,field_description:delivery.field_sale_order_delivery_price msgid "Estimated Delivery Price" diff --git a/addons/delivery/models/delivery_carrier.py b/addons/delivery/models/delivery_carrier.py index c279b762db9..50bb9202ddc 100644 --- a/addons/delivery/models/delivery_carrier.py +++ b/addons/delivery/models/delivery_carrier.py @@ -199,6 +199,12 @@ class DeliveryCarrier(models.Model): carrier.product_id.list_price = carrier.fixed_price def fixed_rate_shipment(self, order): + carrier = self._match_address(order.partner_shipping_id) + if not carrier: + return {'success': False, + 'price': 0.0, + 'error_message': _('Error: this delivery method is not available for this address.'), + 'warning_message': False} price = self.fixed_price if self.company_id.currency_id.id != order.currency_id.id: price = self.env['res.currency']._compute(self.company_id.currency_id, order.currency_id, price) diff --git a/addons/delivery/models/delivery_grid.py b/addons/delivery/models/delivery_grid.py index dddc300dfe2..5779684c8c0 100644 --- a/addons/delivery/models/delivery_grid.py +++ b/addons/delivery/models/delivery_grid.py @@ -47,7 +47,7 @@ class ProviderGrid(models.Model): if not carrier: return {'success': False, 'price': 0.0, - 'error_message': _('Error: no matching grid.'), + 'error_message': _('Error: this delivery method is not available for this address.'), 'warning_message': False} try: