summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-07-18 16:38:29 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-07-18 16:38:29 +0700
commitd966917a5ba95074b6773f49fcb2c3c924296029 (patch)
tree1522069c54c85dad7ec01ae9c16000034cde8878 /indoteknik_api/controllers/api_v1
parente0102841e6e21c7b583f096914aa4ba1a28e1587 (diff)
Fix lost merge voucher with promotion program
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
-rw-r--r--indoteknik_api/controllers/api_v1/cart.py14
-rw-r--r--indoteknik_api/controllers/api_v1/promotion.py6
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py3
3 files changed, 14 insertions, 9 deletions
diff --git a/indoteknik_api/controllers/api_v1/cart.py b/indoteknik_api/controllers/api_v1/cart.py
index 035a40b7..0265ec57 100644
--- a/indoteknik_api/controllers/api_v1/cart.py
+++ b/indoteknik_api/controllers/api_v1/cart.py
@@ -37,7 +37,8 @@ class Cart(controller.Controller):
product_id = int(kw.get('product_id', 0))
qty = int(kw.get('qty', 0))
is_selected = kw.get('selected', False)
- program_line_id = int(kw.get('program_line_id', False))
+ program_line_id = kw.get('program_line_id', False)
+ program_line_id = False if program_line_id == 'null' or not program_line_id else int(program_line_id)
if is_selected:
is_selected = True if is_selected == 'true' else False
@@ -46,18 +47,19 @@ class Cart(controller.Controller):
query = [('user_id', '=', user_id), ('product_id', '=', product_id)]
cart = request.env['website.user.cart'].search(query, limit=1)
result = {}
+ data_to_update = {
+ 'qty': qty,
+ 'is_selected': is_selected,
+ 'program_line_id': program_line_id
+ }
if cart:
- data_to_update = {'qty': qty, 'is_selected': is_selected}
- if program_line_id:
- data_to_update['program_line_id'] = program_line_id
cart.write(data_to_update)
result['id'] = cart.id
else:
create = request.env['website.user.cart'].create({
'user_id': user_id,
'product_id': product_id,
- 'qty': qty,
- 'is_selected': is_selected
+ **data_to_update
})
result['id'] = create.id
diff --git a/indoteknik_api/controllers/api_v1/promotion.py b/indoteknik_api/controllers/api_v1/promotion.py
index 68a23ef2..f84b8c1c 100644
--- a/indoteknik_api/controllers/api_v1/promotion.py
+++ b/indoteknik_api/controllers/api_v1/promotion.py
@@ -18,8 +18,7 @@ class Promotion(controller.Controller):
data = {}
id = int(id)
- coupon_program = request.env['coupon.program'].search(
- [('id', '=', id)])
+ coupon_program = request.env['coupon.program'].search([('id', '=', id)])
if coupon_program:
data = {
'banner': base_url + 'api/image/coupon.program/x_studio_banner_promo/' + str(coupon_program.id) if coupon_program.x_studio_banner_promo else '',
@@ -37,7 +36,9 @@ class Promotion(controller.Controller):
programs = request.env['promotion.program'].search([
('start_time', '<=', current_time),
('end_time', '>=', current_time),
+ ('program_line.display_on_homepage', '=', True)
])
+
if not programs:
return self.response(None)
@@ -85,5 +86,6 @@ class Promotion(controller.Controller):
product.pop('price', None)
product.pop('stock', None)
data.append(product)
+
return self.response(data)
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py
index a2e28cda..8135da33 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -275,7 +275,8 @@ class SaleOrder(controller.Controller):
'type': [],
'delivery_amount': ['number', 'default:0'],
'carrier_id': [],
- 'delivery_service_type': []
+ 'delivery_service_type': [],
+ 'voucher': []
})
if not params['valid']: