diff options
Diffstat (limited to 'addons/event/models/res_partner.py')
| -rw-r--r-- | addons/event/models/res_partner.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/addons/event/models/res_partner.py b/addons/event/models/res_partner.py new file mode 100644 index 00000000..1311e15d --- /dev/null +++ b/addons/event/models/res_partner.py @@ -0,0 +1,25 @@ +# -*- 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', groups='event.group_event_user', + help='Number of events the partner has participated.') + + def _compute_event_count(self): + self.event_count = 0 + if not self.user_has_groups('event.group_event_user'): + return + for partner in self: + partner.event_count = self.env['event.event'].search_count([('registration_ids.partner_id', 'child_of', partner.ids)]) + + def action_event_view(self): + action = self.env["ir.actions.actions"]._for_xml_id("event.action_event_view") + action['context'] = {} + action['domain'] = [('registration_ids.partner_id', 'child_of', self.ids)] + return action |
