diff --git a/addons/mail/models/mail_channel.py b/addons/mail/models/mail_channel.py index 6c5c5e3ac24..a2f257a45ca 100644 --- a/addons/mail/models/mail_channel.py +++ b/addons/mail/models/mail_channel.py @@ -166,7 +166,6 @@ class Channel(models.Model): self.message_post(body=notification, message_type="notification", subtype="mail.mt_comment") return result - @api.multi def message_get_email_values(self, notif_mail=None): self.ensure_one() @@ -423,6 +422,10 @@ class Channel(models.Model): for channel in self: partners_to_add = partners - channel.channel_partner_ids channel.write({'channel_last_seen_partner_ids': [(0, 0, {'partner_id': partner_id}) for partner_id in partners_to_add.ids]}) + for partner in partners_to_add: + notification = _('
joined #%s
') % (self.id, self.name,) + self.message_post(body=notification, message_type="notification", subtype="mail.mt_comment", author_id=partner.id) + # broadcast the channel header to the added partner self._broadcast(partner_ids) @@ -525,7 +528,7 @@ class Channel(models.Model): 'email_send': False, 'channel_partner_ids': [(4, self.env.user.partner_id.id)] }) - channel_info = new_channel.channel_info()[0] + channel_info = new_channel.channel_info('creation')[0] notification = _('
created #%s
') % (new_channel.id, new_channel.name,) new_channel.message_post(body=notification, message_type="notification", subtype="mail.mt_comment") self.env['bus.bus'].sendone((self._cr.dbname, 'res.partner', self.env.user.partner_id.id), channel_info) @@ -538,7 +541,7 @@ class Channel(models.Model): user isn't registered to. """ domain = expression.AND([ [('name', 'ilike', search)], - [('channel_type', '!=', 'chat')], + [('channel_type', '=', 'channel')], expression.OR([ [('public', '!=', 'private')], [('channel_partner_ids', 'in', [self.env.user.partner_id.id])] diff --git a/addons/mail/static/src/js/chat_manager.js b/addons/mail/static/src/js/chat_manager.js index 9b89cb88995..e8a2ad3951e 100644 --- a/addons/mail/static/src/js/chat_manager.js +++ b/addons/mail/static/src/js/chat_manager.js @@ -489,10 +489,10 @@ function on_mark_as_unread_notification (data) { } function on_chat_session_notification (chat_session) { - if ((chat_session.channel_type === "channel") && (chat_session.public === "private") && (chat_session.state === "open")) { + if ((chat_session.channel_type === "channel") && (chat_session.state === "open")) { add_channel(chat_session, {autoswitch: false}); - if (!chat_session.is_minimized) { - web_client.do_notify(_t("Private Channel"), _t("You have been invited to: ") + chat_session.name); + if (!chat_session.is_minimized && chat_session.info !== 'creation') { + web_client.do_notify(_t("Invitation"), _t("You have been invited to: ") + chat_session.name); } } // partner specific change (open a detached window for example) diff --git a/addons/mail/static/src/js/client_action.js b/addons/mail/static/src/js/client_action.js index 89afd003126..e4908188122 100644 --- a/addons/mail/static/src/js/client_action.js +++ b/addons/mail/static/src/js/client_action.js @@ -422,6 +422,9 @@ var ChatAction = Widget.extend(ControlPanelMixin, { display_needactions: this.channel.display_needactions, messages_separator_position: this.messages_separator_position, squash_close_messages: this.channel.type !== 'static', + display_empty_channel: !messages.length && !this.domain.length, + display_no_match: !messages.length && this.domain.length, + display_subject: this.channel.mass_mailing || this.channel.id === "channel_inbox", }; }, diff --git a/addons/mail/static/src/js/thread.js b/addons/mail/static/src/js/thread.js index 1f2404dfe47..a1f8fc8a076 100644 --- a/addons/mail/static/src/js/thread.js +++ b/addons/mail/static/src/js/thread.js @@ -77,7 +77,7 @@ var Thread = Widget.extend({ this.$el.html(QWeb.render('mail.ChatThread', { messages: msgs, - options: _.extend({}, this.options, options), + options: options, ORDER: ORDER, })); }, diff --git a/addons/mail/static/src/less/client_action.less b/addons/mail/static/src/less/client_action.less index 60128b41b50..f6479b9a418 100644 --- a/addons/mail/static/src/less/client_action.less +++ b/addons/mail/static/src/less/client_action.less @@ -128,7 +128,7 @@ .o_mail_chat { .o_mail_chat_sidebar { background-color: darken(@gray, 8%); - color: lighten(@gray, 50%); + color: lighten(@gray, 60%); opacity: 0.9; .o_mail_chat_channel_item { diff --git a/addons/mail/static/src/xml/chatter.xml b/addons/mail/static/src/xml/chatter.xml index f8ce3057e14..6207cdb3980 100644 --- a/addons/mail/static/src/xml/chatter.xml +++ b/addons/mail/static/src/xml/chatter.xml @@ -53,7 +53,7 @@ - +