summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1
diff options
context:
space:
mode:
authorIT Fixcomart <it@fixcomart.co.id>2022-10-13 16:43:59 +0700
committerIT Fixcomart <it@fixcomart.co.id>2022-10-13 16:43:59 +0700
commit3a5b05bee24feaadc8d6b5fe078fd6cf56989ba7 (patch)
tree435617837217f4869c1eb5acb50b625da4331b31 /indoteknik_api/controllers/api_v1
parent47be053bafe8e212e7c98332666819e65428c4e3 (diff)
parent6029c9e3a0b42a6faef373e6dd2f5bf57cef17a0 (diff)
Fix price and update product response API
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
-rw-r--r--indoteknik_api/controllers/api_v1/category.py2
-rw-r--r--indoteknik_api/controllers/api_v1/manufacture.py2
-rw-r--r--indoteknik_api/controllers/api_v1/product.py17
3 files changed, 11 insertions, 10 deletions
diff --git a/indoteknik_api/controllers/api_v1/category.py b/indoteknik_api/controllers/api_v1/category.py
index 4b5f558e..585e3eda 100644
--- a/indoteknik_api/controllers/api_v1/category.py
+++ b/indoteknik_api/controllers/api_v1/category.py
@@ -24,7 +24,7 @@ class Category(controller.Controller):
product_variants = request.env['product.product'].search([('x_manufacture', '=', int(manufacture_id))])
category_ids = [x.id for variant in product_variants for x in variant.public_categ_ids]
else:
- return self.response(code=400, description='data not found')
+ return self.response(code=400, description='page possible value is flash-sale, manufacture')
categories = request.env['product.public.category'].search([('id', 'in', category_ids)])
data = []
diff --git a/indoteknik_api/controllers/api_v1/manufacture.py b/indoteknik_api/controllers/api_v1/manufacture.py
index 3cb6ed0f..ba2e3be9 100644
--- a/indoteknik_api/controllers/api_v1/manufacture.py
+++ b/indoteknik_api/controllers/api_v1/manufacture.py
@@ -24,7 +24,7 @@ class Manufacture(controller.Controller):
product_variants = request.env['product.product'].search([('public_categ_ids', '=', int(category_id))])
manufacture_ids = [x.x_manufacture.id for x in product_variants]
else:
- return self.response(code=400, description='data not found')
+ return self.response(code=400, description='page possible value is flash-sale, category')
manufactures = request.env['x_manufactures'].search([('id', 'in', manufacture_ids)])
data = []
diff --git a/indoteknik_api/controllers/api_v1/product.py b/indoteknik_api/controllers/api_v1/product.py
index 068a54b6..493677fd 100644
--- a/indoteknik_api/controllers/api_v1/product.py
+++ b/indoteknik_api/controllers/api_v1/product.py
@@ -48,15 +48,16 @@ class Product(controller.Controller):
limit = int(kw.get('limit', 0))
offset = int(kw.get('offset', 0))
order = kw.get('order')
- if order == 'price-desc':
- order = 'web_price_sorting desc'
- elif order == 'price-asc':
- order = 'web_price_sorting asc'
+
+ orders = ['product_rating desc']
+ if order != 'price-asc':
+ orders.append('web_price_sorting desc')
+ if order == 'price-asc':
+ orders.append('web_price_sorting asc')
elif order == 'latest':
- order = 'create_date desc'
- else:
- order = 'product_rating desc'
- product_templates = request.env['product.template'].search(query, limit=limit, offset=offset, order=order)
+ orders.append('create_date desc')
+ orders = ','.join(orders)
+ product_templates = request.env['product.template'].search(query, limit=limit, offset=offset, order=orders)
data = {
'product_total': request.env['product.template'].search_count(query),
'products': [request.env['product.template'].api_single_response(x) for x in product_templates]