diff --git a/res_partner_company_messages/README.rst b/res_partner_company_messages/README.rst new file mode 100644 index 0000000..f9f424d --- /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 9.0 c8cd67c5d98b410cabe0a6efb3347a8a4de731d8 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..833891b --- /dev/null +++ b/res_partner_company_messages/__openerp__.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +{ + 'name': "Aggregate messages from company's contacts", + 'version': '1.0.0', + 'author': 'IT-Projects LLC, Ivan Yelizariev', + 'license': 'LGPL-3', + "price": 70.00, + "currency": "EUR", + 'category': 'Discuss', + 'website': 'https://twitter.com/yelizariev', + '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..f1d906a --- /dev/null +++ b/res_partner_company_messages/models.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from openerp import api +from openerp import models + + +class Partner(models.Model): + _inherit = 'res.partner' + + @api.multi + def read(self, fields=None, load='_classic_read'): + res = super(Partner, self).read(fields=fields, load=load) + if fields and 'message_ids' in fields: + for vals in res: + partner = self.browse(vals['id']) + if not partner.is_company: + continue + domain = [('model', '=', 'res.partner'), ('res_id', 'in', [partner.id] + partner.child_ids.ids)] + vals['message_ids'] = self.env['mail.message'].search(domain).ids + return res 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 @@ + + +