diff --git a/addons/crm/models/calendar.py b/addons/crm/models/calendar.py index 0c55f665e4e..4493fd9f308 100644 --- a/addons/crm/models/calendar.py +++ b/addons/crm/models/calendar.py @@ -40,7 +40,7 @@ class CalendarEvent(models.Model): events = super(CalendarEvent, self).create(vals) for event in events: if event.opportunity_id and not event.activity_ids: - event.opportunity_id.log_meeting(event.name, event.start, event.duration) + event.opportunity_id.log_meeting(event) return events def _is_crm_lead(self, defaults, ctx=None): diff --git a/addons/crm/models/crm_lead.py b/addons/crm/models/crm_lead.py index 58b1ec38fa7..35d419be262 100644 --- a/addons/crm/models/crm_lead.py +++ b/addons/crm/models/crm_lead.py @@ -1280,15 +1280,24 @@ class Lead(models.Model): # BUSINESS # ------------------------------------------------------------ - def log_meeting(self, meeting_subject, meeting_date, duration): - if not duration: + def log_meeting(self, meeting): + """ Log the meeting info with a link to it in the chatter + :param record meeting: the meeting we want to log + """ + if not meeting.duration: duration = _('unknown') else: - duration = self.env['ir.qweb.field.duration'].value_to_html(duration, {'unit': 'hour'}) - meet_date = fields.Datetime.from_string(meeting_date) + duration = self.env['ir.qweb.field.duration'].value_to_html(meeting.duration, {'unit': 'hour'}) + meet_date = fields.Datetime.from_string(meeting.start) meeting_usertime = fields.Datetime.to_string(fields.Datetime.context_timestamp(self, meet_date)) - html_time = "" % (meeting_date, meeting_usertime) - message = _("Meeting scheduled at '%s'
Subject: %s
Duration: %s") % (html_time, meeting_subject, duration) + message = "

%s

" % Markup(_("Meeting scheduled at %(html_time)s
Subject: %(subject)s
Duration: %(duration)s")) % { + 'html_time': Markup("") % { + 'meeting_start': meeting.start, + 'meeting_user_time': meeting_usertime, + }, + 'subject': meeting._get_html_link(), # Already Markup valid + 'duration': duration, + } return self.message_post(body=message) # ------------------------------------------------------------