mirror of
https://github.com/bringout/oca-mrp.git
synced 2026-04-22 03:52:09 +02:00
46 lines
1.6 KiB
Python
46 lines
1.6 KiB
Python
# Copyright 2014 Tecnativa S.L. - Pedro M. Baeza
|
|
# Copyright 2015 Tecnativa S.L. - Javier Iniesta
|
|
# Copyright 2016 Tecnativa S.L. - Antonio Espinosa
|
|
# Copyright 2016 Tecnativa S.L. - Vicent Cubells
|
|
# Copyright 2020 Tecnativa S.L. - Víctor Martínez
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
|
|
from odoo import api, fields, models
|
|
|
|
|
|
class ResPartner(models.Model):
|
|
_inherit = "res.partner"
|
|
|
|
event_registration_ids = fields.One2many(
|
|
string="Event registrations",
|
|
comodel_name="event.registration",
|
|
inverse_name="attendee_partner_id",
|
|
)
|
|
registration_count = fields.Integer(
|
|
string="Attendances", compute="_compute_registration_count", store=False
|
|
)
|
|
|
|
@api.depends("event_registration_ids")
|
|
def _compute_registration_count(self):
|
|
for partner in self:
|
|
partner.registration_count = len(
|
|
self.env["event.registration"]
|
|
.search(
|
|
[
|
|
("attendee_partner_id", "child_of", partner.id),
|
|
("state", "not in", ("cancel", "draft")),
|
|
]
|
|
)
|
|
.mapped("event_id")
|
|
)
|
|
|
|
def write(self, data):
|
|
res = super(ResPartner, self).write(data)
|
|
self.mapped("event_registration_ids").partner_data_update(data)
|
|
return res
|
|
|
|
def address_get(self, adr_pref=None):
|
|
attendee_partner = self.env.context.get("get_attendee_partner_address", False)
|
|
if attendee_partner:
|
|
return {adr_pref: attendee_partner}
|
|
return super(ResPartner, self).address_get(adr_pref)
|