summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1/partner.py
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-10-01 09:07:55 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-10-01 09:07:55 +0700
commitf8ba3deeab30a5eee7ccfcbe9cf8a7e664d0bde7 (patch)
tree00bd61d4abac0c87f5405db6595aa4709f7f416a /indoteknik_api/controllers/api_v1/partner.py
parentcb81068b8b695eaf8de5c0ba6b0951bae436626e (diff)
parentb9f1f1a02e53b1b874d8cfe5a97f8400bc4f4cbc (diff)
Merge branch 'production' into iman/switch-account
# Conflicts: # indoteknik_api/controllers/api_v1/partner.py
Diffstat (limited to 'indoteknik_api/controllers/api_v1/partner.py')
-rw-r--r--indoteknik_api/controllers/api_v1/partner.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py
index 47ad2554..d1a41739 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'],
@@ -142,7 +143,6 @@ class Partner(controller.Controller):
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='Partner not found')
@@ -158,9 +158,20 @@ class Partner(controller.Controller):
params['value']['npwp'] = "00.000.000.0-000.000"
params_user['value']['npwp'] = "00.000.000.0-000.000"
- 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
})