summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-01-31 13:57:05 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-01-31 13:57:05 +0700
commit27a1a3d68f728455ae196d2aa5736858ba623d09 (patch)
treea1b5659fa058a2d0691eb0a147f4d0d18993091e /indoteknik_api/controllers/api_v1
parenta197b978872cab655263541d65bc86e5131e78aa (diff)
api category tree
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
-rw-r--r--indoteknik_api/controllers/api_v1/category.py49
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py1
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: