diff --git a/addons/calendar/calendar.py b/addons/calendar/calendar.py index efec3877a19..f2fe4eafa5a 100644 --- a/addons/calendar/calendar.py +++ b/addons/calendar/calendar.py @@ -1046,7 +1046,9 @@ class calendar_event(osv.Model): def new_invitation_token(self, cr, uid, record, partner_id): return uuid.uuid4().hex - def create_attendees(self, cr, uid, ids, context): + def create_attendees(self, cr, uid, ids, context=None): + if context is None: + context = {} user_obj = self.pool['res.users'] current_user = user_obj.browse(cr, uid, uid, context=context) res = {} @@ -1076,8 +1078,9 @@ class calendar_event(osv.Model): if not current_user.email or current_user.email != partner.email: mail_from = current_user.email or tools.config.get('email_from', False) - if self.pool['calendar.attendee']._send_mail_to_attendees(cr, uid, att_id, email_from=mail_from, context=context): - self.message_post(cr, uid, event.id, body=_("An invitation email has been sent to attendee %s") % (partner.name,), subtype="calendar.subtype_invitation", context=context) + if not context.get('no_email'): + if self.pool['calendar.attendee']._send_mail_to_attendees(cr, uid, att_id, email_from=mail_from, context=context): + self.message_post(cr, uid, event.id, body=_("An invitation email has been sent to attendee %s") % (partner.name,), subtype="calendar.subtype_invitation", context=context) if new_attendees: self.write(cr, uid, [event.id], {'attendee_ids': [(4, att) for att in new_attendees]}, context=context) diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py index 9ac9d0e193e..a7576e8c244 100644 --- a/addons/hr_holidays/hr_holidays.py +++ b/addons/hr_holidays/hr_holidays.py @@ -385,7 +385,8 @@ class hr_holidays(osv.osv): if record.user_id and record.user_id.partner_id: meeting_vals['partner_ids'] = [(4,record.user_id.partner_id.id)] - meeting_id = meeting_obj.create(cr, uid, meeting_vals) + ctx_no_email = dict(context or {}, no_email=True) + meeting_id = meeting_obj.create(cr, uid, meeting_vals, context=ctx_no_email) self._create_resource_leave(cr, uid, [record], context=context) self.write(cr, uid, ids, {'meeting_id': meeting_id}) elif record.holiday_type == 'category': @@ -430,7 +431,6 @@ class hr_holidays(osv.osv): return True def holidays_cancel(self, cr, uid, ids, context=None): - meeting_obj = self.pool.get('calendar.event') for record in self.browse(cr, uid, ids): # Delete the meeting if record.meeting_id: