summaryrefslogtreecommitdiff
path: root/addons/mail/static/src
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2012-03-12 11:52:17 +0100
committerThibault Delavallée <tde@openerp.com>2012-03-12 11:52:17 +0100
commit4f220ff718de78e65716d4b0f782887dc7e06218 (patch)
tree1f5b08a814b9c736f57c2d6ed3bbd554846d85c2 /addons/mail/static/src
parent6611c2b70953a272f27503ad4c395bbbf5090ca1 (diff)
[IMP] Thread widget: use name_get to display the record name between the avatar and the message body. Updated comment display.
bzr revid: tde@openerp.com-20120312105217-sjm1lrminn70i6h4
Diffstat (limited to 'addons/mail/static/src')
-rw-r--r--addons/mail/static/src/js/mail.js21
-rw-r--r--addons/mail/static/src/xml/mail.xml16
2 files changed, 19 insertions, 18 deletions
diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js
index d9f6c3472c4..2dcf59a6081 100644
--- a/addons/mail/static/src/js/mail.js
+++ b/addons/mail/static/src/js/mail.js
@@ -23,7 +23,6 @@ openerp.mail = function(session) {
template: 'Thread',
/**
- *
* @param {Object} parent parent
* @param {Object} [params]
* @param {String} [params.res_model] res_model of mail.thread object
@@ -49,6 +48,7 @@ openerp.mail = function(session) {
this.params.offset = this.params.offset || 0;
this.params.records = this.params.records || null;
/* DataSets and internal vars */
+ this.name = 'Unknown'
this.map_hash = {};
this.sorted_comments = {'root_ids': [], 'root_id_msg_list': {}};
this.display_show_more = true;
@@ -83,10 +83,15 @@ openerp.mail = function(session) {
}
else self.do_action({ type: 'ir.actions.act_window', res_model: res_model, res_id: parseInt(res_id), views: [[false, 'form']]});
});
- /* display user, fetch comments */
- this.display_current_user();
- if (this.params.records) return this.display_comments(this.params.records);
- else return this.init_comments();
+ /* get record name */
+ var name_get_done = self.ds.name_get([this.params.res_id]).then(function (records) { self.name = records[0][1]; });
+ var display_done = $.when(name_get_done).then(function () {
+ /* display user, fetch comments */
+ self.display_current_user();
+ if (self.params.records) return self.display_comments(self.params.records);
+ else return self.init_comments();
+ });
+ return display_done
},
stop: function () {
@@ -164,7 +169,8 @@ openerp.mail = function(session) {
record.body_text = this.do_replace_internal_links(record.body_text);
if (record.tr_body_text) record.tr_body_text = this.do_replace_internal_links(record.tr_body_text);
// render
- $(session.web.qweb.render('ThreadMsg', {'record': record})).appendTo(this.$element.children('div.oe_mail_thread_display:first'));
+ $(session.web.qweb.render('ThreadMsg', {'record': record, 'res_model': this.params.res_model, 'res_id': this.params.res_id, 'name': this.name})).appendTo(
+ this.$element.children('div.oe_mail_thread_display:first'));
// truncated: hide full-text, show summary, add buttons
if (record.tr_body_text) {
var node_body = this.$element.find('span.oe_mail_msg_body:last').append(' <a href="#" class="reduce">[ ... Show less]</a>');
@@ -530,7 +536,6 @@ openerp.mail = function(session) {
* @param {Number} limit number of messages to fetch
*/
init_comments: function(domain, context, offset, limit) {
- var self = this;
this.params.domain = [];
this.display_show_more = true;
this.sorted_comments = {'models': {}};
@@ -576,7 +581,7 @@ openerp.mail = function(session) {
'res_model': model_name, 'res_id': records[0]['res_id'], 'uid': self.session.uid, 'records': records,
'parent_id': false, 'thread_level': self.params.thread_level}
);
- thread.appendTo(self.$element.find('div.oe_mail_wall_thread:last'));
+ var thread_displayed = thread.appendTo(self.$element.find('div.oe_mail_wall_thread:last'));
});
});
},
diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml
index 1a04d4e44c0..7f5fb7c5814 100644
--- a/addons/mail/static/src/xml/mail.xml
+++ b/addons/mail/static/src/xml/mail.xml
@@ -69,18 +69,14 @@
<t t-name="NoteDisplay">
<p class="oe_mail_msg">
- <span class="oe_mail_oe_fade">
- <a href="#" class="intlink oe_mail_oe_intlink" data-res-model='res.users' t-attf-data-res-id='{record.user_id[0]}'><t t-raw="record.user_id[1]"/></a>
- <t t-if="record.type == 'notification'">via OpenERP System Notification</t>
-<!--
- <t t-if="record.need_action_user_id != false">
- - <span class="oe_mail_oe_warning">Need action by <a href="#" class="intlink" data-res-model='res.users' t-attf-data-res-id='{record.need_action_user_id[0]}'><t t-raw="record.need_action_user_id[1]"/></a></span>
- </t>
--->
- on <t t-raw="record.date"/></span>
- <br />
+ <a href="#" class="intlink oe_mail_oe_intlink" t-attf-data-res-model='{res_model}' t-attf-data-res-id='{res_id}'><t t-raw="name"/></a>
<span class="oe_mail_msg_body"><t t-raw="record.body_text"/></span>
<t t-if="record.tr_body_text"><span class="oe_mail_msg_body_short"><t t-raw="record.tr_body_text"/></span></t>
+ <br />
+ <span class="oe_mail_oe_fade">
+ <a href="#" class="intlink oe_mail_oe_intlink" data-res-model='res.users' t-attf-data-res-id='{record.user_id[0]}'><t t-raw="record.user_id[1]"/></a>
+ on <t t-raw="record.date"/>
+ </span>
</p>
</t>