From 407a7eca27462da65b8ec4b0b5f207850252df6a Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Fri, 12 Oct 2012 15:02:32 +0200 Subject: [PATCH] [IMP]mail: reply to parent : author and partners bzr revid: chm@openerp.com-20121012130232-5enz0p8vd0ta85o3 --- addons/mail/mail_message.py | 3 ++- addons/mail/mail_message_view.xml | 8 ++++---- addons/mail/mail_thread.py | 2 +- addons/mail/static/src/js/mail.js | 31 ++++++++++++++++--------------- 4 files changed, 23 insertions(+), 21 deletions(-) diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index f6db94f3b75..386096e689f 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -151,7 +151,7 @@ class mail_message(osv.Model): 'date': lambda *a: fields.datetime.now(), 'author_id': lambda self, cr, uid, ctx={}: self._get_default_author(cr, uid, ctx), 'body': '', - 'is_private': True, + 'is_private': False, } #------------------------------------------------------ @@ -215,6 +215,7 @@ class mail_message(osv.Model): 'date': msg.date, 'author_id': author_id, 'is_author': is_author, + 'is_private': msg.is_private, 'partner_ids': partner_ids, 'parent_id': msg.parent_id and msg.parent_id.id or False, 'vote_user_ids': vote_ids, diff --git a/addons/mail/mail_message_view.xml b/addons/mail/mail_message_view.xml index fd304a309af..0444803893e 100644 --- a/addons/mail/mail_message_view.xml +++ b/addons/mail/mail_message_view.xml @@ -89,28 +89,28 @@ Inbox mail.wall + 'context': {'default_model': 'res.partner', 'default_is_private': False} }""/> To: me mail.wall + 'context': {'default_model': 'res.partner', 'default_is_private': False} }""/> Archives mail.wall + 'context': {'default_model': 'res.partner', 'default_is_private': False} }""/> Sent mail.wall + 'context': {'default_model': 'res.partner', 'default_is_private': False} }""/> diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index 81846258921..a0fb1deec55 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -683,7 +683,7 @@ class mail_thread(osv.AbstractModel): if parent_id: msg = messages.browse(cr, uid, parent_id, context=context) values["is_private"] = msg.is_private or False - values["partner_ids"] = [(4, partner.id) for partner in msg.partner_ids] + values["partner_ids"] = [(4, partner.id) for partner in msg.partner_ids] + [(4, msg.author_id.id)] print values # Avoid warnings about non-existing fields diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index 395f1a6dc2c..edbd2f18ef8 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -144,7 +144,6 @@ openerp.mail = function(session) { this.parent_thread= parent.messages!= undefined ? parent : false; - this.ds_attachment = new session.web.DataSetSearch(this, 'ir.attachment'); this.fileupload_id = _.uniqueId('oe_fileupload_temp'); $(window).on(self.fileupload_id, self.on_attachment_loaded); @@ -302,7 +301,7 @@ openerp.mail = function(session) { 'default_res_model': this.context.default_res_model, 'default_res_id': this.context.default_res_id, 'default_content_subtype': 'html', - 'default_is_private': true, + 'default_is_private': this.is_private, 'default_parent_id': this.id, 'default_body': mail.ChatterUtils.get_text2html(this.$('textarea').val() || ''), 'default_attachment_ids': attachments, @@ -478,6 +477,7 @@ openerp.mail = function(session) { this.res_id = param.res_id || false; this.type = param.type || false; this.is_author = param.is_author || false; + this.is_private = param.is_private || false; this.subject = param.subject || false; this.name = param.name || false; this.record_name = param.record_name || false; @@ -1004,32 +1004,32 @@ openerp.mail = function(session) { }, /** Displays a message or an expandable message */ - insert_message: function (message) { + insert_message: function (record) { var self=this; this.$("li.oe_wall_no_message").remove(); - if(message.type=='expandable'){ + if(record.type=='expandable'){ var message = new mail.ThreadExpandable(self, { - 'domain': message.domain, + 'domain': record.domain, 'context': { - 'default_model': message.model, - 'default_res_id': message.res_id, - 'default_parent_id': message.id }, - 'parameters': message + 'default_model': record.model, + 'default_res_id': record.res_id, + 'default_parent_id': record.id }, + 'parameters': record }); } else { var message = new mail.ThreadMessage(self, { - 'domain': message.domain, + 'domain': record.domain, 'context': { - 'default_model': message.model, - 'default_res_id': message.res_id, - 'default_parent_id': message.id }, + 'default_model': record.model, + 'default_res_id': record.res_id, + 'default_parent_id': record.id }, 'options':{ 'thread': self.options.thread, 'message': self.options.message }, - 'parameters': message + 'parameters': record }); } @@ -1140,7 +1140,8 @@ openerp.mail = function(session) { // update context _.extend(this.options.context, { default_res_id: this.view.datarecord.id, - default_model: this.view.model }); + default_model: this.view.model, + default_is_private: false }); // update domain var domain = this.options.domain.concat([['model', '=', this.view.model], ['res_id', '=', this.view.datarecord.id]]); // create and render Thread widget