diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-01-31 13:57:05 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-01-31 13:57:05 +0700 |
| commit | 27a1a3d68f728455ae196d2aa5736858ba623d09 (patch) | |
| tree | a1b5659fa058a2d0691eb0a147f4d0d18993091e /indoteknik_api/controllers/api_v1 | |
| parent | a197b978872cab655263541d65bc86e5131e78aa (diff) | |
api category tree
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/category.py | 49 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/sale_order.py | 1 |
2 files changed, 49 insertions, 1 deletions
diff --git a/indoteknik_api/controllers/api_v1/category.py b/indoteknik_api/controllers/api_v1/category.py index 62faff85..b7ea65ed 100644 --- a/indoteknik_api/controllers/api_v1/category.py +++ b/indoteknik_api/controllers/api_v1/category.py @@ -7,6 +7,55 @@ import ast class Category(controller.Controller): prefix = '/api/v1/' + @http.route(prefix + 'category/child', auth='public', methods=['GET', 'OPTIONS']) + def get_category_child(self, **kw): + user_token = self.authenticate() + if not user_token: + return self.unauthorized_response() + + params = self.get_request_params(kw, { + 'parent_id': ['number', 'default:0'] + }) + if not params['valid']: + return self.response(code=400, description=params) + if params['value']['parent_id'] == 0: + params['value']['parent_id'] = False + + categories = request.env['product.public.category'].search_read([('parent_frontend_id', '=', params['value']['parent_id'])], ['id', 'name']) + return self.response(categories) + + @http.route(prefix + 'category/tree', auth='public', methods=['GET', 'OPTIONS']) + def get_category_tree(self, **kw): + user_token = self.authenticate() + if not user_token: + return self.unauthorized_response() + + parent_categories = request.env['product.public.category'].search_read([('parent_frontend_id', '=', False)], ['id', 'name']) + data = [] + for parent_category in parent_categories: + parent_data = { + 'id': parent_category['id'], + 'name': parent_category['name'], + 'childs': [] + } + child_1_categories = request.env['product.public.category'].search_read([('parent_frontend_id', '=', parent_category['id'])], ['id', 'name']) + for child_1_category in child_1_categories: + child_1_data = { + 'id': child_1_category['id'], + 'name': child_1_category['name'], + 'childs': [] + } + child_2_categories = request.env['product.public.category'].search_read([('parent_frontend_id', '=', child_1_category['id'])], ['id', 'name']) + for child_2_category in child_2_categories: + child_2_data = { + 'id': child_2_category['id'], + 'name': child_2_category['name'], + } + child_1_data['childs'].append(child_2_data) + parent_data['childs'].append(child_1_data) + data.append(parent_data) + return self.response(data) + @http.route(prefix + 'categories_homepage', auth='public', methods=['GET', 'OPTIONS']) def get_categories_homepage(self, **kw): if not self.authenticate(): diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index 7ce8cd43..9b52e79a 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -127,7 +127,6 @@ class SaleOrder(controller.Controller): 'partner_purchase_order_file': params['value']['po_file'] } sale_order = request.env['sale.order'].create([[parameters]]) - var = json.loads(kw.get('transaction_time', '{}')) order_line = json.loads(params['value']['order_line']) parameters = [] for line in order_line: |
