diff options
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/__init__.py | 3 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/city.py | 12 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/partner.py | 6 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/state.py | 24 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/user.py | 9 |
5 files changed, 47 insertions, 7 deletions
diff --git a/indoteknik_api/controllers/api_v1/__init__.py b/indoteknik_api/controllers/api_v1/__init__.py index 2d774071..6f27eec5 100644 --- a/indoteknik_api/controllers/api_v1/__init__.py +++ b/indoteknik_api/controllers/api_v1/__init__.py @@ -28,4 +28,5 @@ from . import midtrans from . import wati from . import courier from . import voucher -from . import stock_picking
\ No newline at end of file +from . import stock_picking +from . import state
\ No newline at end of file diff --git a/indoteknik_api/controllers/api_v1/city.py b/indoteknik_api/controllers/api_v1/city.py index 6e0e3edb..afe92c4a 100644 --- a/indoteknik_api/controllers/api_v1/city.py +++ b/indoteknik_api/controllers/api_v1/city.py @@ -15,10 +15,16 @@ class City(controller.Controller): name = '%' + name.replace(' ', '%') + '%' parameters.append(('name', 'ilike', name)) - cities = request.env['vit.kota'].search(parameters) + state_id = kw.get('state_id') + if state_id: + parameters.append(('state_id', '=', int(state_id))) + + districts = request.env['vit.kota'].search(parameters) data = [] - for city in cities: - data.append({ 'id': city.id, 'name': city.name }) + for district in districts: + data.append({ 'id': district.id, 'name': district.name }) return self.response(data) + + diff --git a/indoteknik_api/controllers/api_v1/partner.py b/indoteknik_api/controllers/api_v1/partner.py index 833b3302..a7925a02 100644 --- a/indoteknik_api/controllers/api_v1/partner.py +++ b/indoteknik_api/controllers/api_v1/partner.py @@ -69,6 +69,7 @@ class Partner(controller.Controller): 'mobile': ['required'], 'phone': [''], 'street': ['required'], + 'state_id': ['required', 'number', 'alias:state_id'], 'city_id': ['required', 'number', 'alias:kota_id'], 'district_id': ['number', 'alias:kecamatan_id'], 'sub_district_id': ['number', 'alias:kelurahan_id', 'exclude_if_null'], @@ -82,7 +83,7 @@ class Partner(controller.Controller): partner = request.env[self._name].search([('id', '=', params['value']['id'])], limit=1) if not partner: return self.response(code=404, description='User not found') - + partner.write(params['value']) return self.response({ @@ -100,10 +101,11 @@ class Partner(controller.Controller): 'mobile': ['required'], 'phone': [''], 'street': ['required'], + 'state_id': ['required', 'number', 'alias:state_id'], 'city_id': ['required', 'number', 'alias:kota_id'], 'district_id': ['number', 'alias:kecamatan_id'], 'sub_district_id': ['number', 'alias:kelurahan_id', 'exclude_if_null'], - 'zip': ['required'], + 'zip': ['required'] }) if not params['valid']: diff --git a/indoteknik_api/controllers/api_v1/state.py b/indoteknik_api/controllers/api_v1/state.py new file mode 100644 index 00000000..598ef70b --- /dev/null +++ b/indoteknik_api/controllers/api_v1/state.py @@ -0,0 +1,24 @@ +from .. import controller +from odoo import http +from odoo.http import request + +class District(controller.Controller): + prefix = '/api/v1/' + + @http.route(prefix + 'state', auth='public', methods=['GET', 'OPTIONS']) + @controller.Controller.must_authorized() + def get_state(self, **kw): + parameters = [] + + name = kw.get('name') + if name: + name = '%' + name.replace(' ', '%') + '%' + parameters.append(('name', 'ilike', name)) + + states = request.env['res.country.state'].search(parameters) + data = [] + for state in states: + data.append({ 'id': state.id, 'name': state.name }) + + return self.response(data) + diff --git a/indoteknik_api/controllers/api_v1/user.py b/indoteknik_api/controllers/api_v1/user.py index 52d773e2..c7bfe91a 100644 --- a/indoteknik_api/controllers/api_v1/user.py +++ b/indoteknik_api/controllers/api_v1/user.py @@ -94,7 +94,13 @@ class User(controller.Controller): user = request.env['res.users'].create(user_data) user.partner_id.email = email - + user.partner_id.customer_type = 'nonpkp' + user.partner_id.npwp = '0.000.000.0-000.000' + user.partner_id.sppkp = '-' + user.partner_id.nama_wajib_pajak = user.name + user.partner_id.user_id = 3222 + user.partner_id.property_account_receivable_id = 395 + user.partner_id.property_account_payable_id = 438 data = { 'is_auth': True, 'user': self.response_with_token(user) @@ -149,6 +155,7 @@ class User(controller.Controller): 'name': name, 'login': email, 'mobile': phone, + 'phone': phone, 'password': password, 'active': False, 'sel_groups_1_9_10': 9 |
