From 58f8ffb6a5a664a3f70f5dd4fb0f7dee2638a87d Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 28 May 2015 18:49:01 +0200 Subject: [PATCH] [FIX] website_event_sale: avoid empty writes on product for each registration The sale.order.line on_change returns related field values that are not meant to be written on the line. Removing them from the `values-to-be-written` avoids the useless write() on product.product and the locking problems that come with it under high concurrency environments. --- addons/website_event_sale/models/sale_order.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/website_event_sale/models/sale_order.py b/addons/website_event_sale/models/sale_order.py index 583c8ca706e..eae042c1a18 100644 --- a/addons/website_event_sale/models/sale_order.py +++ b/addons/website_event_sale/models/sale_order.py @@ -44,6 +44,10 @@ class sale_order(osv.Model): values['price_unit'] = ticket.price values['name'] = "%s\n%s" % (ticket.event_id.display_name, ticket.name) + # avoid writing related values that end up locking the product record + values.pop('event_type_id', None) + values.pop('event_ok', None) + return values def _cart_update(self, cr, uid, ids, product_id=None, line_id=None, add_qty=0, set_qty=0, context=None, **kwargs):