[FIX] mail: read more show original message
authorDenis Ledoux <dle@odoo.com>
Sat, 25 Oct 2014 12:26:52 +0000 (14:26 +0200)
committerDenis Ledoux <dle@odoo.com>
Mon, 27 Oct 2014 12:24:47 +0000 (13:24 +0100)
Instead of html cleaned html, to allow display blockquotes

opw-614729

addons/mail/mail_message.py
addons/mail/static/src/js/mail.js
addons/mail/static/src/xml/mail.xml

index 8ac047f..be88fa9 100644 (file)
@@ -373,6 +373,7 @@ class mail_message(osv.Model):
                 'type': message.type,
                 'subtype': message.subtype_id.name if message.subtype_id else False,
                 'body': body_html,
+                'body_original': message.body if message.type == 'email' else None,
                 'model': message.model,
                 'res_id': message.res_id,
                 'record_name': message.record_name,
index 1f65058..094a4f7 100644 (file)
@@ -225,6 +225,7 @@ openerp.mail = function (session) {
             this.name = datasets.name ||  false,
             this.record_name = datasets.record_name ||  false,
             this.body = datasets.body || '',
+            this.body_original = datasets.body_original || '',
             this.vote_nb = datasets.vote_nb || 0,
             this.has_voted = datasets.has_voted ||  false,
             this.is_favorite = datasets.is_favorite ||  false,
@@ -976,6 +977,7 @@ openerp.mail = function (session) {
         },
 
         expender: function () {
+            var self = this;
             this.$('.oe_msg_body:first').expander({
                 slicePoint: this.options.truncate_limit,
                 expandText: _t('read more'),
@@ -983,7 +985,15 @@ openerp.mail = function (session) {
                 detailClass: 'oe_msg_tail',
                 moreClass: 'oe_mail_expand',
                 lessClass: 'oe_mail_reduce',
-                });
+                afterExpand: function(){
+                    self.$('.oe_msg_body').hide();
+                    self.$('.oe_msg_original').show();
+                },
+                onCollapse: function(){
+                    self.$('.oe_msg_body').show();
+                    self.$('.oe_msg_original').hide();
+                },
+            });
         },
 
         /**
index 1e52105..e57b9d7 100644 (file)
                         <t t-if="widget.subject" t-esc="widget.subject"/>
                     </h1>
                     <div class="oe_msg_body">
-                        <t t-raw="widget.body"/>
+                        <t t-raw="!widget.body_original || widget.body.length > widget.options.truncate_limit ? widget.body: widget.body_original"/>
+                    </div>
+                    <div t-if="widget.body_original" class="oe_msg_original" style="display:none;">
+                        <t t-raw="widget.body_original"/>
                     </div>
                 </div>
                 <div class="oe_msg_footer">