From a866d1819c5a6a42141bb1108014458d30f2779d Mon Sep 17 00:00:00 2001 From: Srushti Patel Date: Tue, 30 Aug 2016 11:34:56 +0530 Subject: [PATCH] [IMP] event : Add Stat button on contact form to count attended events Count childs_ids too --- addons/event/__manifest__.py | 1 + addons/event/models/__init__.py | 1 + addons/event/models/res_partner.py | 20 ++++++++++++++++++++ addons/event/views/res_partner_views.xml | 20 ++++++++++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 addons/event/models/res_partner.py create mode 100644 addons/event/views/res_partner_views.xml diff --git a/addons/event/__manifest__.py b/addons/event/__manifest__.py index 095bf9ad377..c7da5440836 100644 --- a/addons/event/__manifest__.py +++ b/addons/event/__manifest__.py @@ -29,6 +29,7 @@ Key Features 'data/event_data.xml', 'views/event_config_settings_views.xml', 'views/event_templates.xml', + 'views/res_partner_views.xml', 'data/email_template_data.xml', ], 'demo': [ diff --git a/addons/event/models/__init__.py b/addons/event/models/__init__.py index b858091a06d..c1a14d9e453 100644 --- a/addons/event/models/__init__.py +++ b/addons/event/models/__init__.py @@ -4,3 +4,4 @@ import event import event_mail import event_config_settings +import res_partner diff --git a/addons/event/models/res_partner.py b/addons/event/models/res_partner.py new file mode 100644 index 00000000000..d534f3749f2 --- /dev/null +++ b/addons/event/models/res_partner.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models + +class ResPartner(models.Model): + _inherit = 'res.partner' + + event_count = fields.Integer("Events", compute='_compute_event_count', help="Number of events the partner has participated.") + + def _compute_event_count(self): + for partner in self: + partner.event_count = self.env['event.event'].search_count([('registration_ids.partner_id', 'child_of', partner.ids)]) + + @api.multi + def action_event_view(self): + action = self.env.ref('event.action_event_view').read()[0] + action['context'] = {} + action['domain'] = [('registration_ids.partner_id', 'child_of', self.ids)] + return action diff --git a/addons/event/views/res_partner_views.xml b/addons/event/views/res_partner_views.xml new file mode 100644 index 00000000000..8fd4b774c5e --- /dev/null +++ b/addons/event/views/res_partner_views.xml @@ -0,0 +1,20 @@ + + + + + view.res.partner.form.event.inherited + res.partner + + +
+ +
+
+
+
+