diff --git a/addons/bus/static/src/js/services/bus_service.js b/addons/bus/static/src/js/services/bus_service.js index 72ba8c1531b..36eb496270f 100644 --- a/addons/bus/static/src/js/services/bus_service.js +++ b/addons/bus/static/src/js/services/bus_service.js @@ -80,7 +80,7 @@ var BusService = CrossTab.extend(ServicesMixin, { * @param {function} [callback] if given callback will be called when user clicks on notification */ _sendNativeNotification: function (title, content, callback) { - var notification = new Notification(title, {body: content, icon: "/mail/static/src/img/odoobot.png"}); + var notification = new Notification(title, {body: content, icon: "/mail/static/src/img/odoobot_transparent.png"}); notification.onclick = function () { window.focus(); if (this.cancel) { diff --git a/addons/bus/static/tests/bus_tests.js b/addons/bus/static/tests/bus_tests.js index c8c7eab2bd9..e58fd22e8a8 100644 --- a/addons/bus/static/tests/bus_tests.js +++ b/addons/bus/static/tests/bus_tests.js @@ -223,7 +223,7 @@ QUnit.module('Bus', { var pollDeferredMaster = $.Deferred(); var parentMaster = new Widget(); - testUtils.addMockEnvironment(parentMaster, { + testUtils.mock.addMockEnvironment(parentMaster, { data: {}, services: { bus_service: BusService, @@ -255,7 +255,7 @@ QUnit.module('Bus', { setTimeout(function () { var parentSlave = new Widget(); var pollDeferredSlave = $.Deferred(); - testUtils.addMockEnvironment(parentSlave, { + testUtils.mock.addMockEnvironment(parentSlave, { data: {}, services: { bus_service: BusService, diff --git a/addons/im_livechat/static/src/js/im_livechat.js b/addons/im_livechat/static/src/js/im_livechat.js index b8941eb4239..1445ba79eae 100644 --- a/addons/im_livechat/static/src/js/im_livechat.js +++ b/addons/im_livechat/static/src/js/im_livechat.js @@ -360,7 +360,7 @@ var LivechatButton = Widget.extend({ */ _onUpdatedTypingPartners: function (ev) { ev.stopPropagation(); - this._chatWindow.renderTypingNotificationBar(); + this._chatWindow.renderHeader(); }, /** * @private diff --git a/addons/im_livechat/static/src/js/im_livechat_backend.js b/addons/im_livechat/static/src/js/im_livechat_backend.js index f227a14a135..e303f48bf2a 100644 --- a/addons/im_livechat/static/src/js/im_livechat_backend.js +++ b/addons/im_livechat/static/src/js/im_livechat_backend.js @@ -4,12 +4,19 @@ odoo.define('im_livechat.Discuss', function (require) { var Discuss = require('mail.Discuss'); Discuss.include({ - _renderSidebar: function (options) { - // Override to sort livechat threads by last message's date - var threadPartition = _.partition(options.threads, function (thread) { - return thread.getType() === 'livechat'; + /** + * Override to sort livechats by last message's date + * + * @override + * @private + * @param {mail.model.Channel[]} channels + * @returns {mail.model.Channel[]} + */ + _sortChannels: function (channels) { + var partition = _.partition(channels, function (channel) { + return channel.getType() === 'livechat'; }); - threadPartition[0].sort(function (c1, c2) { + partition[0].sort(function (c1, c2) { if (!c1.hasMessages()) { return -1; } else if (!c2.hasMessages()) { @@ -17,8 +24,8 @@ Discuss.include({ } return c2.getLastMessage().getDate().diff(c1.getLastMessage().getDate()); }); - options.threads = threadPartition[0].concat(threadPartition[1]); - return this._super(options); + channels = partition[0].concat(partition[1]); + return this._super(channels); }, }); diff --git a/addons/im_livechat/views/im_livechat_channel_templates.xml b/addons/im_livechat/views/im_livechat_channel_templates.xml index f47a5c0a591..a736c33d3f0 100644 --- a/addons/im_livechat/views/im_livechat_channel_templates.xml +++ b/addons/im_livechat/views/im_livechat_channel_templates.xml @@ -166,14 +166,14 @@ - - - - - + + + + + diff --git a/addons/im_support/static/src/xml/discuss.xml b/addons/im_support/static/src/xml/discuss.xml index ac428d02612..8c00191de10 100644 --- a/addons/im_support/static/src/xml/discuss.xml +++ b/addons/im_support/static/src/xml/discuss.xml @@ -1,14 +1,24 @@