[FIX] website_sale: require a cart before submitting extra info
When user tries to enter extra info from Configure Form from 'settings' so 'website.sale_get_order' method does not get any order. Steps to reproduce: 1) Install website_sale module. 2) Click on settings > activate 'Extra Step During Checkout' > click on 'Save' button. 3) Now in 'settings', click on 'Configure Form' under 'Extra Step During Checkout'. 4) Now, click on 'Discard' button on top right of screen. 5) Enter something in textbox 'Give us your feedback' > click on 'Next' button and traceback will be generated in backend. Error: ValueError: Expected singleton: sale.order() traceback will be generated because in method '_message_log' it is expecting a record. Sentry-4126876202 closes odoo/odoo#125259 X-original-commit: 43506c5934e50bc1b132a135466b405f1d1ebb20 Signed-off-by: Mohit Beniwal (mobe) <mobe@odoo.com>
This commit is contained in:
@@ -110,6 +110,9 @@ class WebsiteSaleForm(WebsiteForm):
|
||||
return json.dumps({'error_fields': e.args[0]})
|
||||
|
||||
order = request.website.sale_get_order()
|
||||
if not order:
|
||||
return json.dumps({'error': "No order found; please add a product to your cart."})
|
||||
|
||||
if data['record']:
|
||||
order.write(data['record'])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user