summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2015-11-18 12:52:17 +0100
committerThibault Delavallée <tde@openerp.com>2015-11-18 13:48:27 +0100
commit2e583eb7c92fcbdac3827ba25496324238f2aee5 (patch)
tree064f729fd265a2ae8ae2eda0ad5b29c2218ea6e0 /addons
parente01e24aa9c4433772751a84f0e57eb1ffcdf1507 (diff)
[FIX] mail: chatter: re-re-add the read more / less
The read more / read less in chatter has been removed in the new timeline and then cleaned timeline introduced at cc6d2aa995ab13645627eae49ae462fbf2b038e8. This feature has been brought back at revision 486aab5098fd757dfad06e63b9f3bde51a78cb0e. However a new cleaning removed the feature at revision 2a5f07e0b919d4209c2cb72c6dfdc8b86cd5c7ff. This commit brings back this feature for the second time. Next one brings free cookies.
Diffstat (limited to 'addons')
-rw-r--r--addons/mail/models/mail_message.py2
-rw-r--r--addons/mail/static/src/js/chat_manager.js1
-rw-r--r--addons/mail/static/src/js/thread.js6
-rw-r--r--addons/mail/static/src/less/thread.less4
-rw-r--r--addons/mail/static/src/xml/thread.xml13
5 files changed, 24 insertions, 2 deletions
diff --git a/addons/mail/models/mail_message.py b/addons/mail/models/mail_message.py
index 3ec357c8610..2bf6c25d13d 100644
--- a/addons/mail/models/mail_message.py
+++ b/addons/mail/models/mail_message.py
@@ -315,7 +315,7 @@ class Message(models.Model):
'attachment_ids': attachment_ids,
'tracking_value_ids': tracking_value_ids,
})
- body_short = tools.html_email_clean(message_dict['body'], remove=True)
+ body_short = tools.html_email_clean(message_dict['body'], shorten=True, remove=True)
message_dict['body_short'] = body_short != message_dict['body'] and body_short or False
return True
diff --git a/addons/mail/static/src/js/chat_manager.js b/addons/mail/static/src/js/chat_manager.js
index 56c9e6405d7..cadacd82c69 100644
--- a/addons/mail/static/src/js/chat_manager.js
+++ b/addons/mail/static/src/js/chat_manager.js
@@ -69,6 +69,7 @@ function make_message (data) {
var msg = {
id: data.id,
author_id: data.author_id,
+ body_short: data.body_short || "",
body: data.body || "",
date: data.date,
message_type: data.message_type,
diff --git a/addons/mail/static/src/js/thread.js b/addons/mail/static/src/js/thread.js
index 539b43740a3..6fd5838aa48 100644
--- a/addons/mail/static/src/js/thread.js
+++ b/addons/mail/static/src/js/thread.js
@@ -35,6 +35,12 @@ var Thread = Widget.extend({
this.$('.o_thread_message').removeClass('o_thread_selected_message');
$(event.currentTarget).toggleClass('o_thread_selected_message', !selected);
},
+ "click span.oe_mail_expand": function (event) {
+ event.preventDefault();
+ var $source = $(event.currentTarget);
+ $source.parents('.o_thread_message_core').find('.o_mail_body_short').toggle();
+ $source.parents('.o_thread_message_core').find('.o_mail_body_long').toggle();
+ },
},
init: function (parent, options) {
diff --git a/addons/mail/static/src/less/thread.less b/addons/mail/static/src/less/thread.less
index a7c96c8334f..e28b949bd5d 100644
--- a/addons/mail/static/src/less/thread.less
+++ b/addons/mail/static/src/less/thread.less
@@ -113,6 +113,10 @@
}
}
+ .o_mail_body_long {
+ display: none;
+ }
+
.o_mail_info {
margin-bottom: 2px;
.text-muted();
diff --git a/addons/mail/static/src/xml/thread.xml b/addons/mail/static/src/xml/thread.xml
index 62f692a9901..394627940cb 100644
--- a/addons/mail/static/src/xml/thread.xml
+++ b/addons/mail/static/src/xml/thread.xml
@@ -109,7 +109,18 @@
</t>
<p t-if="message.subject" class="o_mail_subject">Subject: <t t-esc="message.subject"/></p>
<t t-if="!(message.tracking_value_ids &amp;&amp; message.tracking_value_ids.length &gt; 0)">
- <t t-raw="message.body"/>
+ <t t-if="message.body_short">
+ <div class="o_mail_body_short">
+ <t t-raw="message.body_short"/>
+ </div>
+ <div class="o_mail_body_long">
+ <t t-raw="message.body"/>
+ <span class="oe_mail_expand"><a href="#">... read less</a></span>
+ </div>
+ </t>
+ <t t-if="! message.body_short">
+ <t t-raw="message.body"/>
+ </t>
</t>
<t t-foreach="message.attachment_ids" t-as="attachment">
<t t-call="mail.Attachment"/>