summaryrefslogtreecommitdiff
path: root/indoteknik_api
diff options
context:
space:
mode:
Diffstat (limited to 'indoteknik_api')
-rw-r--r--indoteknik_api/controllers/api_v1/cart.py29
-rw-r--r--indoteknik_api/controllers/api_v1/category_management.py3
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py9
3 files changed, 24 insertions, 17 deletions
diff --git a/indoteknik_api/controllers/api_v1/cart.py b/indoteknik_api/controllers/api_v1/cart.py
index a2fd6286..6bbb812c 100644
--- a/indoteknik_api/controllers/api_v1/cart.py
+++ b/indoteknik_api/controllers/api_v1/cart.py
@@ -17,25 +17,28 @@ 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 = []
+ products = []
+ products_inactive = []
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()
- })
+ product = cart.with_context(price_for="web").get_products()
+ for product_active in product:
+ products.append(product_active)
else:
- data.append({
- 'product_inactive': cart.with_context(price_for="web").get_products()
- })
+ product_inactives = cart.with_context(price_for="web").get_products()
+ for inactives in product_inactives:
+ products_inactive.append(inactives)
else:
- data.append({
- 'products': cart.with_context(price_for="web").get_products()
- })
- data.append({
- 'product_total': user_cart.search_count(query)
- })
+ program = cart.with_context(price_for="web").get_products()
+ for programs in program:
+ products.append(programs)
+ data = {
+ 'product_total': user_cart.search_count(query),
+ 'products': products,
+ 'products_inactive': products_inactive
+ }
return self.response(data)
@http.route(PREFIX_USER + 'cart/count', auth='public', methods=['GET', 'OPTIONS'])
diff --git a/indoteknik_api/controllers/api_v1/category_management.py b/indoteknik_api/controllers/api_v1/category_management.py
index 836f4493..c0ecc6b9 100644
--- a/indoteknik_api/controllers/api_v1/category_management.py
+++ b/indoteknik_api/controllers/api_v1/category_management.py
@@ -2,6 +2,7 @@ from odoo import http
from odoo.http import request
from .. import controller
+
class CategoryManagement(controller.Controller):
prefix = '/api/v1/'
@@ -42,5 +43,3 @@ class CategoryManagement(controller.Controller):
'categories': category_id2_data,
})
return self.response(data, headers=[('Cache-Control', 'max-age=3600, public')])
-
-
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py
index 1b7c1af4..e8d18366 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -407,7 +407,7 @@ class SaleOrder(controller.Controller):
'real_invoice_id': params['value']['partner_invoice_id'],
'partner_purchase_order_name': params['value']['po_number'],
'partner_purchase_order_file': params['value']['po_file'],
- 'delivery_amt': params['value']['delivery_amount'],
+ 'delivery_amt': params['value']['delivery_amount'] * 1.10,
'estimated_arrival_days': params['value']['estimated_arrival_days'],
'shipping_cost_covered': 'customer',
'shipping_paid_by': 'customer',
@@ -460,11 +460,16 @@ class SaleOrder(controller.Controller):
sale_order.apply_promotion_program()
voucher_code = params['value']['voucher']
- voucher = request.env['voucher'].search([('code', '=', voucher_code)])
+ voucher = request.env['voucher'].search([('code', '=', voucher_code),('apply_type', 'in', ['all', 'brand'])], limit=1)
+ voucher_shipping = request.env['voucher'].search([('code', '=', voucher_code),('apply_type', 'in', ['shipping'])], limit=1)
if voucher and len(promotions) == 0:
sale_order.voucher_id = voucher.id
sale_order.apply_voucher()
+ if voucher_shipping and len(promotions) == 0:
+ sale_order.voucher_shipping_id = voucher_shipping.id
+ sale_order.apply_voucher_shipping()
+
cart_ids = [x['cart_id'] for x in carts]
if sale_order._requires_approval_margin_leader(): #jika ada error tambahkan kondisi if params['value']['type'] == 'sale_order':
sale_order.approval_status = 'pengajuan2'