From b1329f940ae66b60185fa097012393b0d51b9e5f Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Mon, 9 Jan 2023 17:10:02 +0700 Subject: API get city, district, sub-district --- indoteknik_api/controllers/api_v1/sub_district.py | 30 +++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 indoteknik_api/controllers/api_v1/sub_district.py (limited to 'indoteknik_api/controllers/api_v1/sub_district.py') diff --git a/indoteknik_api/controllers/api_v1/sub_district.py b/indoteknik_api/controllers/api_v1/sub_district.py new file mode 100644 index 00000000..706cc660 --- /dev/null +++ b/indoteknik_api/controllers/api_v1/sub_district.py @@ -0,0 +1,30 @@ +from .. import controller +from odoo import http +from odoo.http import request + +class SubDistrict(controller.Controller): + prefix = '/api/v1/' + + @http.route(prefix + 'sub_district', auth='public', methods=['GET', 'OPTIONS']) + def get_sub_district(self, **kw): + if not self.authenticate(): + return self.response(code=401, description='Unauthorized') + + parameters = [] + + name = kw.get('name') + if name: + name = '%' + name.replace(' ', '%') + '%' + parameters.append(('name', 'ilike', name)) + + district_id = kw.get('district_id') + if district_id: + parameters.append(('kecamatan_id', '=', int(district_id))) + + sub_districts = request.env['vit.kelurahan'].search(parameters) + data = [] + for sub_district in sub_districts: + data.append({ 'id': sub_district.id, 'name': sub_district.name }) + + return self.response(data) + -- cgit v1.2.3