diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml index 6d047843fc7..85e514ce254 100644 --- a/addons/mail/data/mail_demo.xml +++ b/addons/mail/data/mail_demo.xml @@ -73,6 +73,81 @@ none + + + Plan to install backup servers + Hello,

+

We need to deploy new backup servers, with the following requirements:

+ +

+ Do you have a simple solution with servers running on Redhat Linux? +

+

Best regards,

+ ]]>
+ email + + virginie@agrolait.fr + + + +
+ + + Feedback about our On Site Assistance + Hi Virginie,

I wrote to you about our On Site Assistance Service that we delivered to Agrolait last week. Do you have any feedback or remark about our service? I noticed you requested new IP phones. Will it be used for new employees, or did you have any issue with the ones we provided?
Best regards,

]]>
+ comment + + + + +
+ + + + bWlncmF0aW9uIHRlc3Q= + catalog.doc + catalog.doc + + + activity_graph_2012.jpg + activity_graph_2012 + + + + Hi Demo,

+

The next version of our products catalog is scheduled for next month. Our product team send me their updated document holding the prices and costs, and I updated our catalog.

+

You will find it in attachment, as well as a comparative benchmark of the different solutions currently existing on the market.
Have a nice reading!
+ Sincerely,

]]>
+ comment + + + + + +
+ + + Information meeting + Hello,

Epic Technologies is a small company specialized in software managing huge volume of data. Having an efficient and reliable backup system is very important for us, and critical for our customers. I eared you have some interesting solutions to manage our backups. Could we meet each other as soon as possible to discuss our need? Here is a first list of requirements:

+ +

Thanks,

+ ]]>
+ comment + + + + +
+ bWlncmF0aW9uIHRlc3Q= @@ -117,53 +192,16 @@ - - - Plan to install backup servers - Hello,

-

We need to deploy new backup servers, with the following requirements:

- -

- Do you have a simple solution with servers running on Redhat Linux? -

-

Best regards,

- ]]>
- email - - virginie@agrolait.fr - - - -
- - - - bWlncmF0aW9uIHRlc3Q= - catalog.doc - catalog.doc - - - activity_graph_2012.jpg - activity_graph_2012 - - - - Hi Demo,

-

The next version of our products catalog is scheduled for next month. Our product team send me their updated document holding the prices and costs, and I updated our catalog.

-

You will find it in attachment, as well as a comparative benchmark of the different solutions currently existing on the market.
Have a nice reading!
- Sincerely,

]]>
+ + + Hello,

I have a friend working at Epic Technologies. He told me they plan to upgrade their backup servers within the next 3 months.

I think that someone should contact them and check if there is an opportunity.

]]>
comment - - - - + + +
+ Thank you!
Could you send me the updated pricelists as negotiated at the beginning of this year?

Sincerely,

]]>
@@ -175,15 +213,6 @@
- - - Hello,

I have a friend working at Epic Technologies. He told me they plan to upgrade their backup servers within the next 3 months.

I think that someone should contact them and check if there is an opportunity.

]]>
- comment - - - - -
@@ -194,23 +223,6 @@ - - - Information meeting - Hello,

Epic Technologies is a small company specialized in software managing huge volume of data. Having an efficient and reliable backup system is very important for us, and critical for our customers. I eared you have some interesting solutions to manage our backups. Could we meet each other as soon as possible to discuss our need? Here is a first list of requirements:

-
    -
  • about 25 backup servers, running on Redhat Linux
  • -
  • minimum 200Gb of storage per server
  • -
  • setup a VPN between all our servers in New York and Chicago
  • -
-

Thanks,

- ]]>
- comment - - - - -
RE: Information meeting Hello Epic!

@@ -253,16 +265,6 @@
- - - Feedback about our On Site Assistance - Hi Virginie,

I wrote to you about our On Site Assistance Service that we delivered to Agrolait last week. Do you have any feedback or remark about our service? I noticed you requested new IP phones. Will it be used for new employees, or did you have any issue with the ones we provided?
Best regards,

]]>
- comment - - - - -
RE: Feedback about our On Site Assistance Hello Administrator,

Glad to hear from you! Everything is perfect, thanks for asking. Concerning the order of 2 IP phones, I ordered them for new employees. We are satisfied with the products of YourCompany, and we plan to fit out each new employee with one of your phone this year.
Regards,

]]>
diff --git a/addons/mail/models/mail_channel.py b/addons/mail/models/mail_channel.py index ab62fcc26d7..9bab5770c00 100644 --- a/addons/mail/models/mail_channel.py +++ b/addons/mail/models/mail_channel.py @@ -494,8 +494,11 @@ class Channel(models.Model): @api.multi def channel_join_and_get_info(self): self.ensure_one() - notification = _('
joined #%s
') % (self.id, self.name,) - self.message_post(body=notification, message_type="notification", subtype="mail.mt_comment") + if self.channel_type == 'channel': + notification = _('
joined #%s
') % (self.id, self.name,) + self.message_post(body=notification, message_type="notification", subtype="mail.mt_comment") + else: + self.channel_last_seen_partner_ids.write({'is_pinned': True}) self.action_follow() channel_info = self.channel_info()[0] diff --git a/addons/mail/static/src/js/chat_manager.js b/addons/mail/static/src/js/chat_manager.js index 0bb36638f49..3645cc0d8e2 100644 --- a/addons/mail/static/src/js/chat_manager.js +++ b/addons/mail/static/src/js/chat_manager.js @@ -69,7 +69,7 @@ function make_message (data) { var msg = { id: data.id, author_id: data.author_id, - body: data.body, + body: data.body || "", date: data.date, message_type: data.message_type, is_note: data.is_note, @@ -418,7 +418,7 @@ 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")) { - add_channel(chat_session, {autoswitch: false, silent: true, hidden: true}); + 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); } @@ -557,6 +557,7 @@ var chat_manager = { } return def.then(function () { channels = _.without(channels, channel); + delete channel_defs[channel.id]; }); }, close_chat_session: function (channel_id) { diff --git a/addons/mail/static/src/js/client_action.js b/addons/mail/static/src/js/client_action.js index 2bbbdfb4355..7f9e3a83665 100644 --- a/addons/mail/static/src/js/client_action.js +++ b/addons/mail/static/src/js/client_action.js @@ -223,12 +223,12 @@ var ChatAction = Widget.extend(ControlPanelMixin, { render_sidebar: function () { var self = this; - var $sidebar = QWeb.render("mail.chat.Sidebar", { + var $sidebar = $(QWeb.render("mail.chat.Sidebar", { active_channel_id: this.channel ? this.channel.id: undefined, channels: chat_manager.get_channels(), needaction_counter: chat_manager.get_needaction_counter(), - }); - this.$(".o_mail_chat_sidebar").replaceWith($sidebar); + })); + this.$(".o_mail_chat_sidebar").html($sidebar.contents()); this.$('.o_mail_add_channel[data-type=public]').find("input").autocomplete({ source: function(request, response) { @@ -281,6 +281,16 @@ var ChatAction = Widget.extend(ControlPanelMixin, { }); }, + render_snackbar: function (nb_needactions) { + this.$snackbar = $(QWeb.render('mail.chat.UndoSnackbar', { + nb_needactions: nb_needactions, + })); + this.$('.o_mail_chat_content').append(this.$snackbar); + // Hide snackbar after 20s + var $snackbar = this.$snackbar; + setTimeout(function() { $snackbar.fadeOut(); }, 20000); + }, + do_search_channel: function(search_val){ var Channel = new Model("mail.channel"); return Channel.call('channel_search_to_join', [search_val]).then(function(result){ @@ -334,10 +344,7 @@ var ChatAction = Widget.extend(ControlPanelMixin, { if (channel.type !== 'static') { // Display snackbar if needactions have been cleared if (channel.needaction_counter > 0) { - self.$snackbar = $(QWeb.render('mail.chat.UndoSnackbar', { - nb_needactions: channel.needaction_counter, - })); - self.$('.o_mail_chat_content').append(self.$snackbar); + self.render_snackbar(channel.needaction_counter); } chat_manager.mark_channel_as_seen(channel); self.clear_needactions_def = chat_manager.mark_all_as_read(channel); diff --git a/addons/mail/static/src/less/client_action.less b/addons/mail/static/src/less/client_action.less index a39818c5287..5e077caedd2 100644 --- a/addons/mail/static/src/less/client_action.less +++ b/addons/mail/static/src/less/client_action.less @@ -105,9 +105,13 @@ .o-position-absolute(15px, 15px); padding-top: 10px; padding-bottom: 10px; - background-color: lighten(@odoo-brand-optional, 50%); - border-color: lighten(@odoo-brand-optional, 40%); - color: @odoo-brand-optional; + cursor: pointer; + background-color: darken(@gray, 8%); + color: white; + .o_snackbar_undo { + margin-left: 8px; + padding: 8px; + } } } } diff --git a/addons/mail/static/src/less/thread.less b/addons/mail/static/src/less/thread.less index b7358946fe0..a7c96c8334f 100644 --- a/addons/mail/static/src/less/thread.less +++ b/addons/mail/static/src/less/thread.less @@ -8,7 +8,8 @@ } .o_thread_date_separator { - margin-bottom: 15px; + margin-top: 15px; + margin-bottom: 30px; border-bottom: solid @gray-lighter 2px; text-align: center; @@ -23,6 +24,7 @@ } .o_thread_new_messages_separator { + margin-bottom: 15px; border-bottom: solid lighten(@odoo-brand-primary, 15%) 1px; text-align: right; .o_thread_separator_label { diff --git a/addons/mail/static/src/xml/client_action.xml b/addons/mail/static/src/xml/client_action.xml index b6dcbb7e18a..89d7395073d 100644 --- a/addons/mail/static/src/xml/client_action.xml +++ b/addons/mail/static/src/xml/client_action.xml @@ -91,11 +91,8 @@ -