diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index f4a276d0eda..0fb5378d03e 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -184,7 +184,10 @@ class CalDAV(object): continue if cal_data.name.lower() == 'valarm': alarm = self.pool.get('basic.calendar.alarm') - vals = alarm.import_cal(cr, uid, cal_data) + ctx = context.copy() + if cal_children: + ctx.update({'model': cal_children[cal_data.name.lower()]}) + vals = alarm.import_cal(cr, uid, cal_data, context=ctx) self.ical_set(cal_data.name.lower(), vals, 'value') continue if cal_data.name.lower() in self.__attribute__: @@ -227,9 +230,11 @@ class CalDAV(object): data[map_field], vevent, context=context) elif field == 'valarm' and data[map_field]: model = self.__attribute__[field].get('object', False) + ctx = context.copy() + ctx.update({'model': model}) alarm_obj = self.pool.get('basic.calendar.alarm') vevent = alarm_obj.export_cal(cr, uid, model, \ - data[map_field][0], vevent, context=context) + data[map_field][0], vevent, context=ctx) elif data[map_field]: if map_type in ("char", "text"): vevent.add(field).value = tools.ustr(data[map_field]) @@ -628,11 +633,14 @@ class Alarm(CalDAV, osv.osv_memory): trigger.value = delta # Compute other details - valarm.add('DESCRIPTION').value = alarm_data['name'] + valarm.add('DESCRIPTION').value = alarm_data['name'] or 'OpenERP' valarm.add('ACTION').value = alarm_data['action'] return vevent - def import_cal(self, cr, uid, ical_data): + def import_cal(self, cr, uid, ical_data, context=None): + ctx = context.copy() + ctx.update({'model': context.get('model', None)}) + self.__attribute__ = get_attribute_mapping(cr, uid, self._calname, ctx) for child in ical_data.getChildren(): if child.name.lower() == 'trigger': seconds = child.value.seconds diff --git a/addons/caldav/caldav_data.xml b/addons/caldav/caldav_data.xml index ae380e8f0d7..295b05ba540 100644 --- a/addons/caldav/caldav_data.xml +++ b/addons/caldav/caldav_data.xml @@ -366,7 +366,7 @@ - + field @@ -394,7 +394,7 @@ - + field