diff options
| author | IT Fixcomart <it@fixcomart.co.id> | 2024-05-10 07:43:40 +0000 |
|---|---|---|
| committer | IT Fixcomart <it@fixcomart.co.id> | 2024-05-10 07:43:40 +0000 |
| commit | e2cf27c1fc540ad24b457d23c89ddd1ea4e6034a (patch) | |
| tree | a635964dbd0b9729c1d161e16ca7e8dabb02a3c8 /indoteknik_custom/models/res_partner.py | |
| parent | cb9ae6021dd4858372ed78d16ab491226c95f1d2 (diff) | |
| parent | 844339e517540826f6990456a63945dc879e37d5 (diff) | |
Merged in dev/request-by-abl (pull request #141)
Dev/request by abl
Diffstat (limited to 'indoteknik_custom/models/res_partner.py')
| -rw-r--r-- | indoteknik_custom/models/res_partner.py | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index abb7f739..eee19b2f 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -28,14 +28,42 @@ class ResPartner(models.Model): use_only_ready_stock = fields.Boolean(string='Use Only Ready Stock') web_role = fields.Selection([ ('manager', 'Manager'), - ('director', 'Director') + ('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') pareto_status = fields.Selection([ ('PR', 'Pareto Repeating'), ('PPR', 'Potensi Pareto Repeating'), ('PNR', 'Pareto Non Repeating'), ('NP', 'Non Pareto') ]) + + @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) @@ -47,7 +75,7 @@ class ResPartner(models.Model): def get_approve_partner_ids(self, type=False): parent = self.parent_id or self - partners = self.search([('parent_id', '=', parent.id), ('web_role', 'in', ['manager', 'director'])]) + partners = self.search([('parent_id', '=', parent.id), ('web_role', '!=', False)]) if type == 'email_comma_sep': return ",".join([x.email for x in partners]) |
