diff --git a/addons/mail/doc/index.rst.inc b/addons/mail/doc/index.rst.inc
index 4679cd56fdf..822d855d5b4 100644
--- a/addons/mail/doc/index.rst.inc
+++ b/addons/mail/doc/index.rst.inc
@@ -9,3 +9,4 @@ Mail Module documentation topics
mail_thread
mail_openchatter_howto
mail_needaction_howto
+ mail_partner
diff --git a/addons/mail/doc/mail_partner.rst b/addons/mail/doc/mail_partner.rst
new file mode 100644
index 00000000000..a99246395d7
--- /dev/null
+++ b/addons/mail/doc/mail_partner.rst
@@ -0,0 +1,10 @@
+What is shown
+==============
+ - for every module which are related to partner show apporopriate message in the partner view like opportunities, sale orders and invoices.
+
+
+How it is done
+===============
+ - _inherit = 'mail.thread'
+
+ - Override def message_load_ids(self, cr, uid, ids, limit=100, offset=0, domain=[], ascent=False, root_ids=[], context=None) search by the partner
diff --git a/addons/mail/res_partner.py b/addons/mail/res_partner.py
index 637922ff75c..0729132fe27 100644
--- a/addons/mail/res_partner.py
+++ b/addons/mail/res_partner.py
@@ -24,11 +24,28 @@ from osv import fields
class res_partner(osv.osv):
""" Inherits partner and adds CRM information in the partner form """
- _inherit = 'res.partner'
+ _name = "res.partner"
+ _inherit = ['res.partner', 'mail.thread']
_columns = {
'emails': fields.one2many('mail.message', 'partner_id', 'Emails', readonly=True, domain=[('email_from','!=',False)]),
}
+ def message_load_ids(self, cr, uid, ids, limit=100, offset=0, domain=[], ascent=False, root_ids=[False], context=None):
+ """ Override of message_load_ids
+ partner discussion page :
+ - messages posted on res.partner, partner_id = partner.id
+ - messages directly sent to partner
+ """
+ if context is None:
+ context = {}
+ msg_obj = self.pool.get('mail.message')
+ msg_ids = []
+ for partner in self.browse(cr, uid, ids, context=context):
+ msg_ids += msg_obj.search(cr, uid, ['|',('partner_id', '=', partner.id), '&', ('res_id', '=', partner.id), ('model', '=', self._name)] + domain,
+ limit=limit, offset=offset, context=context)
+ if (ascent): msg_ids = self._message_add_ancestor_ids(cr, uid, ids, msg_ids, root_ids, context=context)
+ return msg_ids
+
res_partner()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/mail/res_partner_view.xml b/addons/mail/res_partner_view.xml
index 21da7d735b7..76b4980ecb0 100644
--- a/addons/mail/res_partner_view.xml
+++ b/addons/mail/res_partner_view.xml
@@ -12,6 +12,9 @@
False
+
+
+