diff options
| author | Olivier Dony <odo@openerp.com> | 2014-04-29 12:50:20 +0200 |
|---|---|---|
| committer | Olivier Dony <odo@openerp.com> | 2014-04-29 12:50:20 +0200 |
| commit | 3891e0f2aa3b3ecb7f4eacffdea447102a62448c (patch) | |
| tree | c9e40c4549c65a06ed5b8a14be1622e964968f6a | |
| parent | 048c4c284ba1e782ff0080a575c52eed56b647b6 (diff) | |
[FIX] event_sale: call to parent store trigger resolver fails due to class mismatch for <unbound_method>
bzr revid: odo@openerp.com-20140429105020-0itp8j0oa4im3bj7
| -rw-r--r-- | addons/event/event.py | 2 | ||||
| -rw-r--r-- | addons/event_sale/event_sale.py | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/addons/event/event.py b/addons/event/event.py index 94aab1e5e26..37efedf2549 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -131,7 +131,7 @@ class event_event(osv.osv): @return: Dictionary of function field values. """ event_ids=set() - for registration in self.browse(cr, uid, ids, context=context): + for registration in self.pool['event.registration'].browse(cr, uid, ids, context=context): event_ids.add(registration.event_id.id) return list(event_ids) diff --git a/addons/event_sale/event_sale.py b/addons/event_sale/event_sale.py index 0f2b1edbca0..b4f42673aba 100644 --- a/addons/event_sale/event_sale.py +++ b/addons/event_sale/event_sale.py @@ -139,10 +139,16 @@ class event_event(osv.osv): return [] def _get_ticket_events(self, cr, uid, ids, context=None): - # `self` is the event.event.ticket model here! + # `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))) + # proxy method, can't import parent method directly as unbound_method: it would receive + # an invalid `self` <event_registration> when called by ORM + def _events_from_registrations(self, cr, uid, ids, context=None): + # `self` is the event.registration model when called by ORM + return self.pool['event.event']._get_events_from_registrations(cr, uid, ids, context=context) + _columns = { 'event_ticket_ids': fields.one2many('event.event.ticket', "event_id", "Event Ticket"), 'seats_max': fields.function(_get_seats_max, @@ -154,7 +160,7 @@ class event_event(osv.osv): 'seats_available': fields.function(Event._get_seats, oldname='register_avail', string='Available Seats', type='integer', multi='seats_reserved', store={ - 'event.registration': (Event._get_events_from_registrations, ['state'], 10), + 'event.registration': (_events_from_registrations, ['state'], 10), 'event.event': (lambda self, cr, uid, ids, c = {}: ids, ['seats_max', 'registration_ids'], 20), 'event.event.ticket': (_get_ticket_events, ['seats_max'], 10), |
