diff --git a/addons/website_sale_delivery/controllers/main.py b/addons/website_sale_delivery/controllers/main.py index c623ebab63c..09b03d78f6e 100644 --- a/addons/website_sale_delivery/controllers/main.py +++ b/addons/website_sale_delivery/controllers/main.py @@ -4,6 +4,7 @@ from odoo import http, _ from odoo.http import request from odoo.addons.website_sale.controllers.main import WebsiteSale +from odoo.exceptions import UserError class WebsiteSaleDelivery(WebsiteSale): @@ -32,7 +33,10 @@ class WebsiteSaleDelivery(WebsiteSale): @http.route(['/shop/carrier_rate_shipment'], type='json', auth='public', methods=['POST'], website=True) def cart_carrier_rate_shipment(self, carrier_id, **kw): order = request.website.sale_get_order(force_create=True) - assert int(carrier_id) in order._get_delivery_methods().ids, "unallowed carrier" + + if not int(carrier_id) in order._get_delivery_methods().ids: + raise UserError(_('It seems that a delivery method is not compatible with your address. Please refresh the page and try again.')) + Monetary = request.env['ir.qweb.field.monetary'] res = {'carrier_id': carrier_id} diff --git a/addons/website_sale_delivery/i18n/website_sale_delivery.pot b/addons/website_sale_delivery/i18n/website_sale_delivery.pot index 13593142ead..6c951ad4302 100644 --- a/addons/website_sale_delivery/i18n/website_sale_delivery.pot +++ b/addons/website_sale_delivery/i18n/website_sale_delivery.pot @@ -92,7 +92,15 @@ msgid "Free" msgstr "" #. module: website_sale_delivery -#: code:addons/website_sale_delivery/controllers/main.py:72 +#: code:addons/website_sale_delivery/controllers/main.py:0 +#, python-format +msgid "" +"It seems that a delivery method is not compatible with your address. Please " +"refresh the page and try again." +msgstr "" + +#. module: website_sale_delivery +#: code:addons/website_sale_delivery/controllers/main.py:0 #, python-format msgid "" "No shipping method is available for your current order and shipping address."