diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-07-18 16:38:29 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-07-18 16:38:29 +0700 |
| commit | d966917a5ba95074b6773f49fcb2c3c924296029 (patch) | |
| tree | 1522069c54c85dad7ec01ae9c16000034cde8878 /indoteknik_api/controllers/api_v1 | |
| parent | e0102841e6e21c7b583f096914aa4ba1a28e1587 (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.py | 14 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/promotion.py | 6 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/sale_order.py | 3 |
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']: |
