From 4643df754b03eb3f8ae9567bc5b5327934b6cc83 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Wed, 4 Sep 2024 17:15:20 +0700 Subject: update new register --- indoteknik_api/controllers/api_v1/partner.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'indoteknik_api/controllers/api_v1/partner.py') diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py index 69a2f861..4716173e 100644 --- a/indoteknik_api/controllers/api_v1/partner.py +++ b/indoteknik_api/controllers/api_v1/partner.py @@ -116,20 +116,25 @@ class Partner(controller.Controller): def write_partner_by_id(self, **kw): params = self.get_request_params(kw, { 'id': ['required', 'number'], - 'name': [], 'company_type_id': ['number'], 'industry_id': ['number'], 'tax_name': ['alias:nama_wajib_pajak'], 'npwp': [], + 'alamat_lengkap_text':[], + }) + + id_user = self.get_request_params(kw, { + 'id_user': ['number'] }) if not params['valid']: return self.response(code=400, description=params) - + partner = request.env[self._name].search([('id', '=', params['value']['id'])], limit=1) if not partner: return self.response(code=404, description='User not found') - + + # Simpan perubahan data partner.write(params['value']) return self.response({ -- cgit v1.2.3 From 95d7027481595aa83d75570044391e68c11e9ce1 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Thu, 5 Sep 2024 09:41:47 +0700 Subject: update new register --- indoteknik_api/controllers/api_v1/partner.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'indoteknik_api/controllers/api_v1/partner.py') diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py index 4716173e..f662fd79 100644 --- a/indoteknik_api/controllers/api_v1/partner.py +++ b/indoteknik_api/controllers/api_v1/partner.py @@ -116,15 +116,12 @@ class Partner(controller.Controller): def write_partner_by_id(self, **kw): params = self.get_request_params(kw, { 'id': ['required', 'number'], + 'name': [], 'company_type_id': ['number'], 'industry_id': ['number'], 'tax_name': ['alias:nama_wajib_pajak'], 'npwp': [], - 'alamat_lengkap_text':[], - }) - - id_user = self.get_request_params(kw, { - 'id_user': ['number'] + 'alamat_lengkap_text': [], }) if not params['valid']: @@ -134,7 +131,6 @@ class Partner(controller.Controller): if not partner: return self.response(code=404, description='User not found') - # Simpan perubahan data partner.write(params['value']) return self.response({ -- cgit v1.2.3 From 84cb69b4ce0a793768fbeca4367d37f21e896615 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Fri, 6 Sep 2024 16:20:11 +0700 Subject: update new register --- indoteknik_api/controllers/api_v1/partner.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'indoteknik_api/controllers/api_v1/partner.py') 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 -- cgit v1.2.3 From 33d2a0583d74182709588313ad0eae70c8569f02 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Thu, 12 Sep 2024 12:18:59 +0700 Subject: update new register --- indoteknik_api/controllers/api_v1/partner.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indoteknik_api/controllers/api_v1/partner.py') diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py index b844b6ee..b7dcdb0d 100644 --- a/indoteknik_api/controllers/api_v1/partner.py +++ b/indoteknik_api/controllers/api_v1/partner.py @@ -66,6 +66,7 @@ class Partner(controller.Controller): 'name': ['required'], 'email': ['required'], 'mobile': ['required'], + 'phone': ['required'], 'street': ['required'], 'city_id': ['required', 'number', 'alias:kota_id'], 'district_id': ['number', 'alias:kecamatan_id'], @@ -95,6 +96,7 @@ class Partner(controller.Controller): 'name': ['required'], 'email': ['required'], 'mobile': ['required'], + 'phone': ['required'], 'street': ['required'], 'city_id': ['required', 'number', 'alias:kota_id'], 'district_id': ['number', 'alias:kecamatan_id'], @@ -122,6 +124,7 @@ class Partner(controller.Controller): 'tax_name': ['alias:nama_wajib_pajak'], 'npwp': [], 'alamat_lengkap_text': [], + 'street': [], }) id_user = self.get_request_params(kw, { 'id_user': ['number'] -- cgit v1.2.3 From f0aaf4476c8b92cb68503e9760216ca20fe4e34d Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Tue, 17 Sep 2024 14:05:31 +0700 Subject: api check_tempo and add type promotion on sale order --- indoteknik_api/controllers/api_v1/partner.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'indoteknik_api/controllers/api_v1/partner.py') diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py index 69a2f861..83f92a19 100644 --- a/indoteknik_api/controllers/api_v1/partner.py +++ b/indoteknik_api/controllers/api_v1/partner.py @@ -164,4 +164,32 @@ class Partner(controller.Controller): }) return self.response(data) + + @http.route(prefix + 'check//tempo', auth='public', methods=['GET', 'OPTIONS']) + @controller.Controller.must_authorized() + def get_check_tempo_partner(self, **kw): + partner_id = int(kw.get('partner_id')) + + partner = request.env['res.partner'].search([('id', '=', partner_id)], limit=1) + if not partner: + return self.response(code=404, description='Partner not found') + + partner = partner.parent_id or partner + + if any(line.days == 0 for line in partner.property_payment_term_id.line_ids): + return self.response(code=402, description='Partner not tempo') + + result_tempo = sum(m.amount_total_signed for m in request.env['account.move'].search([('partner_id', '=', partner.id), ('payment_state', '=', 'not_paid'), ('state', '=', 'posted')])) + + remaining_limit = partner.blocking_stage - result_tempo if partner.active_limit else None + + data = { + 'name': partner.name, + 'amount_due': result_tempo, + 'remaining_limit': remaining_limit + } + + return self.response(data) + + -- cgit v1.2.3 From 314125a03d680cd2da6e413200abd8eefec2b1ec Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Tue, 17 Sep 2024 17:22:50 +0700 Subject: uppdate new register --- indoteknik_api/controllers/api_v1/partner.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indoteknik_api/controllers/api_v1/partner.py') diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py index b7dcdb0d..3cc6b193 100644 --- a/indoteknik_api/controllers/api_v1/partner.py +++ b/indoteknik_api/controllers/api_v1/partner.py @@ -66,7 +66,7 @@ class Partner(controller.Controller): 'name': ['required'], 'email': ['required'], 'mobile': ['required'], - 'phone': ['required'], + 'phone': [''], 'street': ['required'], 'city_id': ['required', 'number', 'alias:kota_id'], 'district_id': ['number', 'alias:kecamatan_id'], @@ -96,7 +96,7 @@ class Partner(controller.Controller): 'name': ['required'], 'email': ['required'], 'mobile': ['required'], - 'phone': ['required'], + 'phone': [''], 'street': ['required'], 'city_id': ['required', 'number', 'alias:kota_id'], 'district_id': ['number', 'alias:kecamatan_id'], -- cgit v1.2.3 From 9fca7c59d523c5fd51ca696820b448ebbd8226d4 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Mon, 30 Sep 2024 17:29:09 +0700 Subject: update register alamat --- indoteknik_api/controllers/api_v1/partner.py | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'indoteknik_api/controllers/api_v1/partner.py') diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py index 663f4d7d..369f2125 100644 --- a/indoteknik_api/controllers/api_v1/partner.py +++ b/indoteknik_api/controllers/api_v1/partner.py @@ -72,6 +72,7 @@ class Partner(controller.Controller): 'district_id': ['number', 'alias:kecamatan_id'], 'sub_district_id': ['number', 'alias:kelurahan_id', 'exclude_if_null'], 'zip': ['required'], + 'alamat_lengkap_text': [] }) if not params['valid']: @@ -117,7 +118,7 @@ class Partner(controller.Controller): @controller.Controller.must_authorized() def write_partner_by_id(self, **kw): params = self.get_request_params(kw, { - 'id': ['required', 'number'], + 'id': ['', 'number'], 'name': [], 'company_type_id': ['number'], 'industry_id': ['number'], @@ -126,9 +127,13 @@ class Partner(controller.Controller): 'alamat_lengkap_text': [], 'street': [], }) + + # Mengambil id_user dari request id_user = self.get_request_params(kw, { 'id_user': ['number'] }) + + # Mengambil parameter user dari request params_user = self.get_request_params(kw, { 'company_type_id': ['number'], 'industry_id': ['number'], @@ -137,17 +142,31 @@ class Partner(controller.Controller): 'alamat_lengkap_text': [], }) + # Cek validitas parameter if not params['valid']: return self.response(code=400, description=params) + # Mencari partner dan user berdasarkan ID 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') + return self.response(code=404, description='Partner not found') - partner.write(params['value']) - user.write(params_user['value']) + # Filter parameter yang memiliki nilai saja untuk partner + params_filtered = {k: v for k, v in params['value'].items() if v} + + # Filter parameter yang memiliki nilai saja untuk user + params_user_filtered = {k: v for k, v in params_user['value'].items() if v} + + # Update partner dan user hanya dengan parameter yang memiliki nilai + if params_filtered: + partner.write(params_filtered) + + if params_user_filtered: + user.write(params_user_filtered) + # Return response dengan ID partner yang di-update return self.response({ 'id': partner.id }) -- cgit v1.2.3