From e7a0b1bb9095048914e11eb1915c20d336f74c08 Mon Sep 17 00:00:00 2001 From: Denis Ledoux Date: Tue, 3 Jun 2014 12:21:34 +0200 Subject: [PATCH] [FIX] event_sale: stored seats_max field seats_max is a stored field in event, and should remain stored when overrided in event_sale --- addons/event_sale/event_sale.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/addons/event_sale/event_sale.py b/addons/event_sale/event_sale.py index b9db63e125c..90cac8168ec 100644 --- a/addons/event_sale/event_sale.py +++ b/addons/event_sale/event_sale.py @@ -137,6 +137,11 @@ class event_event(osv.osv): pass return [] + def _get_ticket_events(self, cr, uid, ids, context=None): + # `self` is the event.event.ticket model when called by ORM! + return list(set(ticket.event_id.id + for ticket in self.browse(cr, uid, ids, context))) + _columns = { 'event_ticket_ids': fields.one2many('event.event.ticket', "event_id", "Event Ticket"), 'seats_max': fields.function(_get_seats_max, @@ -144,7 +149,11 @@ class event_event(osv.osv): help="The maximum registration level is equal to the sum of the maximum registration of event ticket." + "If you have too much registrations you are not able to confirm your event. (0 to ignore this rule )", type='integer', - readonly=True) + readonly=True, + store={ + 'event.event': (lambda self, cr, uid, ids, c = {}: ids, ['event_ticket_ids'], 20), + 'event.event.ticket': (_get_ticket_events, ['seats_max'], 10), + }), } _defaults = { 'event_ticket_ids': _get_tickets