From b567ed3398a49a107ca3c46986652710618d2db7 Mon Sep 17 00:00:00 2001 From: "tfr@openerp.com" <> Date: Tue, 28 Jun 2011 11:07:26 +0200 Subject: [PATCH] [FIX] unlink event traceback bzr revid: tfr@openerp.com-20110628090726-6uo0wda3lbhq6nlg --- addons/base_calendar/base_calendar.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index d47de045cca..7aad9cc4e9a 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -1430,8 +1430,11 @@ rule or repeating pattern of time to exclude from the recurring rule."), res = False for id in ids: - event_datas = self.read(cr, uid, [id], ['date', 'rrule', 'exdate'], context=context)[0] - event_id = event_datas['id'] + data_list = self.read(cr, uid, [id], ['date', 'rrule', 'exdate'], context=context) + if len(data_list) < 1: + continue + event_data = data_list[0] + event_id = event_data['id'] if self.get_edit_all(cr, uid, event_id, vals=None): event_id = base_calendar_id2real_id(event_id) @@ -1443,11 +1446,11 @@ rule or repeating pattern of time to exclude from the recurring rule."), else: str_event, date_new = event_id.split('-') event_id = int(str_event) - if event_datas['rrule']: + if event_data['rrule']: # Remove one of the recurrent event date_new = time.strftime("%Y%m%dT%H%M%S", \ time.strptime(date_new, "%Y%m%d%H%M%S")) - exdate = (event_datas['exdate'] and (event_datas['exdate'] + ',') or '') + date_new + exdate = (event_data['exdate'] and (event_data['exdate'] + ',') or '') + date_new res = self.write(cr, uid, [event_id], {'exdate': exdate}) else: res = super(calendar_event, self).unlink(cr, uid, [event_id], context=context)