summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-09-06 16:20:11 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-09-06 16:20:11 +0700
commit84cb69b4ce0a793768fbeca4367d37f21e896615 (patch)
tree5264ef07c721352b61a45d292e3e7d0667a46415
parent95d7027481595aa83d75570044391e68c11e9ce1 (diff)
<iman> update new register
-rw-r--r--indoteknik_api/controllers/api_v1/partner.py12
-rw-r--r--indoteknik_custom/models/res_partner.py62
-rw-r--r--indoteknik_custom/models/user_company_request.py2
3 files changed, 46 insertions, 30 deletions
diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py
index f662fd79..b844b6ee 100644
--- a/indoteknik_api/controllers/api_v1/partner.py
+++ b/indoteknik_api/controllers/api_v1/partner.py
@@ -123,15 +123,27 @@ class Partner(controller.Controller):
'npwp': [],
'alamat_lengkap_text': [],
})
+ id_user = self.get_request_params(kw, {
+ 'id_user': ['number']
+ })
+ params_user = self.get_request_params(kw, {
+ 'company_type_id': ['number'],
+ 'industry_id': ['number'],
+ 'tax_name': ['alias:nama_wajib_pajak'],
+ 'npwp': [],
+ 'alamat_lengkap_text': [],
+ })
if not params['valid']:
return self.response(code=400, description=params)
partner = request.env[self._name].search([('id', '=', params['value']['id'])], limit=1)
+ user = request.env[self._name].search([('id', '=', id_user['value']['id_user'])], limit=1)
if not partner:
return self.response(code=404, description='User not found')
partner.write(params['value'])
+ user.write(params_user['value'])
return self.response({
'id': partner.id
diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py
index 3cc1b1aa..b8a6502c 100644
--- a/indoteknik_custom/models/res_partner.py
+++ b/indoteknik_custom/models/res_partner.py
@@ -92,14 +92,15 @@ class ResPartner(models.Model):
if partner.company_type == 'person' and not partner.parent_id:
partner.alamat_lengkap_text = partner.street
- if partner.company_type == 'person' and partner.parent_id:
- partner.alamat_lengkap_text = partner.parent_id.alamat_lengkap_text
+ # if partner.company_type == 'person' and partner.parent_id:
+ # partner.alamat_lengkap_text = partner.parent_id.alamat_lengkap_text
+
alamat_lengkap = fields.Char(string="Alamat Lengkap", required=False, compute="_alamat_lengkap")
- alamat_lengkap_text = fields.Text(string="Alamat Lengkap", required=False)
+ alamat_lengkap_text = fields.Text(string="Alamat Lengkap", required=False , tracking=3)
- # def write(self, vals):
- # res = super(ResPartner, self).write(vals)
+ def write(self, vals):
+ res = super(ResPartner, self).write(vals)
#
# # if 'property_payment_term_id' in vals:
# # if not self.env.user.is_accounting and vals['property_payment_term_id'] != 26:
@@ -110,33 +111,34 @@ class ResPartner(models.Model):
# # if self.env.user.id not in users_in_group.mapped('id'):
# # raise UserError('You name it')
#
- # return res
-
- def write(self, vals):
- if self.company_type == 'person':
- if self.parent_id:
- parent = self.parent_id
- vals['customer_type'] = parent.customer_type
- vals['nama_wajib_pajak'] = parent.nama_wajib_pajak
- vals['npwp'] = parent.npwp
- vals['sppkp'] = parent.sppkp
- vals['alamat_lengkap_text'] = parent.alamat_lengkap_text
- vals['industry_id'] = parent.industry_id.id
- vals['company_type_id'] = parent.company_type_id.id
-
- res = super(ResPartner, self).write(vals)
return res
- @api.onchange('company_type')
- def _onchange_company_type(self):
- if self.company_type == 'person' and self.parent_id:
- self.customer_type = self.parent_id.customer_type
- self.npwp = self.parent_id.npwp
- self.sppkp = self.parent_id.sppkp
- self.nama_wajib_pajak = self.parent_id.nama_wajib_pajak
- self.alamat_lengkap_text = self.parent_id.alamat_lengkap_text
- self.industry_id = self.parent_id.industry_id.id
- self.company_type_id = self.parent_id.company_type_id.id
+ # def write(self, vals):
+ # if self.company_type == 'person':
+ # if self.parent_id:
+ # parent = self.parent_id
+ # vals['customer_type'] = parent.customer_type
+ # vals['nama_wajib_pajak'] = parent.nama_wajib_pajak
+ # vals['npwp'] = parent.npwp
+ # vals['sppkp'] = parent.sppkp
+ # vals['alamat_lengkap_text'] = parent.alamat_lengkap_text
+ # vals['industry_id'] = parent.industry_id.id
+ # vals['company_type_id'] = parent.company_type_id.id
+ #
+ # res = super(ResPartner, self).write(vals)
+ # return res
+
+ @api.depends('company_type', 'parent_id', 'npwp', 'sppkp', 'nama_wajib_pajak','alamat_lengkap_text', 'industry_id', 'company_type_id')
+ def _related_fields(self):
+ for partner in self:
+ if partner.company_type == 'person' and partner.parent_id:
+ partner.customer_type = partner.parent_id.customer_type
+ partner.npwp = partner.parent_id.npwp
+ partner.sppkp = partner.parent_id.sppkp
+ partner.nama_wajib_pajak = partner.parent_id.nama_wajib_pajak
+ partner.alamat_lengkap_text = partner.parent_id.alamat_lengkap_text
+ partner.industry_id = partner.parent_id.industry_id.id
+ partner.company_type_id = partner.parent_id.company_type_id.id
@api.constrains('property_payment_term_id')
def updated_by_payment_term(self):
diff --git a/indoteknik_custom/models/user_company_request.py b/indoteknik_custom/models/user_company_request.py
index d6134650..56bb8d5d 100644
--- a/indoteknik_custom/models/user_company_request.py
+++ b/indoteknik_custom/models/user_company_request.py
@@ -27,6 +27,8 @@ class UserCompanyRequest(models.Model):
self.user_id.sppkp = self.user_company_id.sppkp
self.user_id.nama_wajib_pajak = self.user_company_id.nama_wajib_pajak
self.user_id.alamat_lengkap_text = self.user_company_id.alamat_lengkap_text
+ self.user_id.industry_id = self.user_company_id.industry_id.id
+ self.user_id.company_type_id = self.user_company_id.company_type_id.id
self.user_id.user_id = self.user_company_id.user_id
self.user_id.property_account_receivable_id = self.user_company_id.property_account_receivable_id
self.user_id.property_account_payable_id = self.user_company_id.property_account_payable_id