summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2024-09-03 10:17:40 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2024-09-03 10:17:40 +0700
commit0b2e64dd95b42eb26c5ae92d08b176591d542a0b (patch)
tree1afeacc8c527a36a7ac5ba5e26975b3970ce4922 /indoteknik_api/controllers/api_v1
parent5b376d68e62b5d06ff5665b405acc99b89448f06 (diff)
cr api get user cart
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
-rw-r--r--indoteknik_api/controllers/api_v1/cart.py23
1 files changed, 19 insertions, 4 deletions
diff --git a/indoteknik_api/controllers/api_v1/cart.py b/indoteknik_api/controllers/api_v1/cart.py
index f472a9b0..a2fd6286 100644
--- a/indoteknik_api/controllers/api_v1/cart.py
+++ b/indoteknik_api/controllers/api_v1/cart.py
@@ -17,10 +17,25 @@ class Cart(controller.Controller):
query = [('user_id', '=', user_id)]
carts = user_cart.search(query, limit=limit, offset=offset, order='create_date desc')
carts.write({'source': 'add_to_cart'})
- data = {
- 'product_total': user_cart.search_count(query),
- 'products': carts.with_context(price_for="web").get_products()
- }
+ data = []
+ for cart in carts:
+ if cart.product_id:
+ price = cart.product_id._v2_get_website_price_include_tax()
+ if cart.product_id.active and price > 0:
+ data.append({
+ 'products': cart.with_context(price_for="web").get_products()
+ })
+ else:
+ data.append({
+ 'product_inactive': cart.with_context(price_for="web").get_products()
+ })
+ else:
+ data.append({
+ 'products': cart.with_context(price_for="web").get_products()
+ })
+ data.append({
+ 'product_total': user_cart.search_count(query)
+ })
return self.response(data)
@http.route(PREFIX_USER + 'cart/count', auth='public', methods=['GET', 'OPTIONS'])