diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2024-04-26 14:14:16 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2024-04-26 14:14:16 +0700 |
| commit | b5a42eda62ae2b3536a072b9cb21a61e91a7b49a (patch) | |
| tree | ffa4386b0480b7b2c098680b0fbae7675ab213af /indoteknik_custom/models/res_partner.py | |
| parent | d026ce987698790c8424a1b88d7bfacf1508dad6 (diff) | |
Add res partner site feature
Diffstat (limited to 'indoteknik_custom/models/res_partner.py')
| -rw-r--r-- | indoteknik_custom/models/res_partner.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index ad6fd6ec..bc8e2b0d 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -31,6 +31,33 @@ class ResPartner(models.Model): ('director', 'Director'), ('procurement', 'Procurement'), ], string='Web Role') + site_id = fields.Many2one('res.partner.site', string='Site') + main_parent_id = fields.Many2one('res.partner', string='Main Parent', compute='_compute_main_parent_id') + + @api.onchange('site_id') + def _onchange_site_id(self): + for rec in self: + if not rec.site_id: continue + site = rec.site_id + + rec.street = site.street + rec.street2 = site.street2 + rec.city = site.city + rec.state_id = site.state_id + rec.country_id = site.country_id + rec.zip = site.zip + + def get_main_parent(self): + partner = self + + while partner.parent_id: + partner = partner.parent_id + + return partner + + def _compute_main_parent_id(self): + for partner in self: + partner.main_parent_id = partner.get_main_parent() def get_child_ids(self): partner = self.env['res.partner'].search([('id', '=', self.id)], limit=1) |
