diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2024-09-06 16:20:11 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2024-09-06 16:20:11 +0700 |
| commit | 84cb69b4ce0a793768fbeca4367d37f21e896615 (patch) | |
| tree | 5264ef07c721352b61a45d292e3e7d0667a46415 | |
| parent | 95d7027481595aa83d75570044391e68c11e9ce1 (diff) | |
<iman> update new register
| -rw-r--r-- | indoteknik_api/controllers/api_v1/partner.py | 12 | ||||
| -rw-r--r-- | indoteknik_custom/models/res_partner.py | 62 | ||||
| -rw-r--r-- | indoteknik_custom/models/user_company_request.py | 2 |
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 |
