diff --git a/res_partner_company_messages/README.rst b/res_partner_company_messages/README.rst new file mode 100644 index 0000000..b287290 --- /dev/null +++ b/res_partner_company_messages/README.rst @@ -0,0 +1,6 @@ +Aggregate messages from company's contacts +========================================== + +By default, odoo displays under partner form only its own messages. The module shows under company form both their own messages and the messages of any contacts attached to that company. + +Tested on Odoo 8.0 ea60fed97af1c139e4647890bf8f68224ea1665b diff --git a/res_partner_company_messages/__init__.py b/res_partner_company_messages/__init__.py new file mode 100644 index 0000000..a0fdc10 --- /dev/null +++ b/res_partner_company_messages/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import models diff --git a/res_partner_company_messages/__openerp__.py b/res_partner_company_messages/__openerp__.py new file mode 100644 index 0000000..c1d7c43 --- /dev/null +++ b/res_partner_company_messages/__openerp__.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +{ + 'name': "Aggregate messages from company's contacts", + 'version': '1.0.0', + 'author': 'IT-Projects LLC, Ivan Yelizariev', + 'license': 'GPL-3', + 'category': 'Custom', + 'website': 'https://yelizariev.github.io', + 'images': ['images/child.png', 'images/parent.png'], + 'depends': ['mail'], + 'data': [ + 'views.xml', + ], + 'installable': True +} diff --git a/res_partner_company_messages/images/child.png b/res_partner_company_messages/images/child.png new file mode 100644 index 0000000..6b1d422 Binary files /dev/null and b/res_partner_company_messages/images/child.png differ diff --git a/res_partner_company_messages/images/parent.png b/res_partner_company_messages/images/parent.png new file mode 100644 index 0000000..825d130 Binary files /dev/null and b/res_partner_company_messages/images/parent.png differ diff --git a/res_partner_company_messages/models.py b/res_partner_company_messages/models.py new file mode 100644 index 0000000..7d4f92d --- /dev/null +++ b/res_partner_company_messages/models.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +from openerp import api +from openerp import models + + +class MailMessage(models.Model): + _inherit = 'mail.message' + + @api.cr_uid_context + def message_read(self, cr, uid, ids=None, domain=None, message_unload_ids=None, + thread_level=0, context=None, parent_id=False, limit=None): + if context and context.get('default_model') == 'res.partner': + partner = self.pool['res.partner'].browse(cr, uid, context.get('default_res_id')) + domain_by_id = domain and len(domain) == 1 and domain[0][0] == 'id' and domain[0][1] == '=' + if partner.is_company and not domain_by_id: + ids = None + domain = [('model', '=', 'res.partner'), ('res_id', 'in', [partner.id] + partner.child_ids.ids)] + return super(MailMessage, self).message_read(cr, uid, ids, domain, message_unload_ids, thread_level, context, parent_id, limit) diff --git a/res_partner_company_messages/static/description/icon.png b/res_partner_company_messages/static/description/icon.png new file mode 100644 index 0000000..b43a0a1 Binary files /dev/null and b/res_partner_company_messages/static/description/icon.png differ diff --git a/res_partner_company_messages/views.xml b/res_partner_company_messages/views.xml new file mode 100644 index 0000000..379a868 --- /dev/null +++ b/res_partner_company_messages/views.xml @@ -0,0 +1,3 @@ + + +