summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/res_partner.py
diff options
context:
space:
mode:
authorIT Fixcomart <it@fixcomart.co.id>2024-05-10 07:43:40 +0000
committerIT Fixcomart <it@fixcomart.co.id>2024-05-10 07:43:40 +0000
commite2cf27c1fc540ad24b457d23c89ddd1ea4e6034a (patch)
treea635964dbd0b9729c1d161e16ca7e8dabb02a3c8 /indoteknik_custom/models/res_partner.py
parentcb9ae6021dd4858372ed78d16ab491226c95f1d2 (diff)
parent844339e517540826f6990456a63945dc879e37d5 (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.py32
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])