From 73c9b3d01463e2ca143113ebca8d3a7e3b756256 Mon Sep 17 00:00:00 2001 From: Goffin Simon Date: Tue, 16 Jan 2018 13:31:58 +0100 Subject: [PATCH] [FIX] mail: Cannot send new message from Event Track When the Speaker address is False, it crashed. opw:805361 --- addons/mail/static/src/js/chatter.js | 6 +++--- addons/mail/static/src/js/utils.js | 18 ++++++++++-------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/addons/mail/static/src/js/chatter.js b/addons/mail/static/src/js/chatter.js index 51036e66aee..5d490a48297 100644 --- a/addons/mail/static/src/js/chatter.js +++ b/addons/mail/static/src/js/chatter.js @@ -111,7 +111,7 @@ var ChatterComposer = composer.BasicComposer.extend({ .done(function (suggested_recipients) { var thread_recipients = suggested_recipients[self.context.default_res_id]; _.each(thread_recipients, function (recipient) { - var parsed_email = utils.parse_email(recipient[1]); + var parsed_email = recipient[1] && utils.parse_email(recipient[1]); if (_.indexOf(email_addresses, parsed_email[1]) === -1) { self.suggested_partners.push({ checked: true, @@ -188,8 +188,8 @@ var ChatterComposer = composer.BasicComposer.extend({ context: { force_email: true, ref: "compound_context", - default_name: parsed_email[0], - default_email: parsed_email[1], + default_name: parsed_email && parsed_email[0], + default_email: parsed_email && parsed_email[1], }, title: _t("Please complete partner's informations"), disable_multiple_selection: true, diff --git a/addons/mail/static/src/js/utils.js b/addons/mail/static/src/js/utils.js index b4e0c01a23a..4c7619e393a 100644 --- a/addons/mail/static/src/js/utils.js +++ b/addons/mail/static/src/js/utils.js @@ -101,15 +101,17 @@ function inline (node, transform_children) { // Parses text to find email: Tagada -> [Tagada, address@mail.fr] or False function parse_email (text) { - var result = text.match(/(.*)<(.*@.*)>/); - if (result) { - return [_.str.trim(result[1]), _.str.trim(result[2])]; + if (text){ + var result = text.match(/(.*)<(.*@.*)>/); + if (result) { + return [_.str.trim(result[1]), _.str.trim(result[2])]; + } + result = text.match(/(.*@.*)/); + if (result) { + return [_.str.trim(result[1]), _.str.trim(result[1])]; + } + return [text, false]; } - result = text.match(/(.*@.*)/); - if (result) { - return [_.str.trim(result[1]), _.str.trim(result[1])]; - } - return [text, false]; } // Replaces textarea text into html text (add

, )