diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2024-10-01 09:07:55 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2024-10-01 09:07:55 +0700 |
| commit | f8ba3deeab30a5eee7ccfcbe9cf8a7e664d0bde7 (patch) | |
| tree | 00bd61d4abac0c87f5405db6595aa4709f7f416a /indoteknik_api/controllers | |
| parent | cb81068b8b695eaf8de5c0ba6b0951bae436626e (diff) | |
| parent | b9f1f1a02e53b1b874d8cfe5a97f8400bc4f4cbc (diff) | |
Merge branch 'production' into iman/switch-account
# Conflicts:
# indoteknik_api/controllers/api_v1/partner.py
Diffstat (limited to 'indoteknik_api/controllers')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/partner.py | 19 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/user.py | 2 |
2 files changed, 16 insertions, 5 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 }) diff --git a/indoteknik_api/controllers/api_v1/user.py b/indoteknik_api/controllers/api_v1/user.py index a4655417..b66e0f3c 100644 --- a/indoteknik_api/controllers/api_v1/user.py +++ b/indoteknik_api/controllers/api_v1/user.py @@ -123,7 +123,7 @@ class User(controller.Controller): alamat_bisnis = kw.get('alamat_bisnis', False) nama_wajib_pajak = kw.get('nama_wajib_pajak', False) is_pkp = kw.get('is_pkp') - type_acc = kw.get('type_acc', False) + type_acc = kw.get('type_acc', 'individu') or 'individu' if not name or not email or not password: return self.response(code=400, description='email, name, and password are required') |
