From e244bfa1c819e804b120ad49f37fce0aa802e529 Mon Sep 17 00:00:00 2001 From: Xavier Dubuc Date: Fri, 17 Jul 2020 10:38:05 +0000 Subject: [PATCH] [FIX] mail: do not fetch 'user_notification' messages in thread MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit task-2296856 See odoo/enterprise#12095 closes odoo/odoo#55189 X-original-commit: 5aaff1547d04bccf20ef333f515811570e8b8e22 Related: odoo/enterprise#12100 Signed-off-by: Alexandre Kühn (aku) Signed-off-by: Sébastien Theys (seb) --- .../src/components/chatter/chatter_tests.js | 26 +++++++++++++++++++ .../src/models/thread_cache/thread_cache.js | 8 +++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/addons/mail/static/src/components/chatter/chatter_tests.js b/addons/mail/static/src/components/chatter/chatter_tests.js index 2043b5eece2..36b87b65f5d 100644 --- a/addons/mail/static/src/components/chatter/chatter_tests.js +++ b/addons/mail/static/src/components/chatter/chatter_tests.js @@ -340,6 +340,32 @@ QUnit.test('composer show/hide on log note/send message', async function (assert ); }); +QUnit.test('should not display user notification messages in chatter', async function (assert) { + assert.expect(1); + + this.data['mail.message'].records = [{ + author_id: [7, "Demo"], + body: "

User notification

", + date: "2019-04-20 11:00:00", + id: 102, + message_type: 'user_notification', + model: 'res.partner', + res_id: 100, + }]; + await this.start(); + const chatter = this.env.models['mail.chatter'].create({ + threadId: 100, + threadModel: 'res.partner', + }); + await this.createChatterComponent({ chatter }); + + assert.containsNone( + document.body, + '.o_Message', + "should display no messages" + ); +}); + }); }); }); diff --git a/addons/mail/static/src/models/thread_cache/thread_cache.js b/addons/mail/static/src/models/thread_cache/thread_cache.js index 4fdcaed6114..81027d665ba 100644 --- a/addons/mail/static/src/models/thread_cache/thread_cache.js +++ b/addons/mail/static/src/models/thread_cache/thread_cache.js @@ -234,7 +234,13 @@ function factory(dependencies) { } else if (thread === this.env.messaging.moderation) { return domain.concat([['need_moderation', '=', true]]); } else { - return domain.concat([['model', '=', thread.model], ['res_id', '=', thread.id]]); + // Avoid to load user_notification as these messages are not + // meant to be shown on chatters. + return domain.concat([ + ['message_type', '!=', 'user_notification'], + ['model', '=', thread.model], + ['res_id', '=', thread.id], + ]); } }