summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-10-09 11:16:39 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-10-09 11:16:39 +0700
commit070656b5a8c7a304810af193bc79ff324503db01 (patch)
treedda2f2859356e04c51478ce51bd2bdbd9f04564f /indoteknik_api/controllers/api_v1
parent19e0be70679ed862453fedeba14fb4cdf02232e9 (diff)
parenta48ae105c865e710227e12b666fa601a326d12a7 (diff)
Merge branch 'production' into change/feature/promotion-program
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
-rw-r--r--indoteknik_api/controllers/api_v1/cart.py2
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py19
-rw-r--r--indoteknik_api/controllers/api_v1/voucher.py2
3 files changed, 12 insertions, 11 deletions
diff --git a/indoteknik_api/controllers/api_v1/cart.py b/indoteknik_api/controllers/api_v1/cart.py
index cb0f5a99..88fa9f88 100644
--- a/indoteknik_api/controllers/api_v1/cart.py
+++ b/indoteknik_api/controllers/api_v1/cart.py
@@ -18,7 +18,7 @@ class Cart(controller.Controller):
carts = user_cart.search(query, limit=limit, offset=offset, order='create_date desc')
data = {
'product_total': user_cart.search_count(query),
- 'products': carts.get_products()
+ 'products': carts.with_context(price_for="web").get_products()
}
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 ef4c2688..8209c751 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -236,14 +236,15 @@ class SaleOrder(controller.Controller):
voucher_code = kw.get('voucher')
source = kw.get('source')
voucher = request.env['voucher'].search([('code', '=', voucher_code)], limit=1)
- result = cart.get_user_checkout(user_id, voucher, source)
+ result = cart.with_context(price_for="web").get_user_checkout(user_id, voucher, source)
return self.response(result)
@http.route(PREFIX_PARTNER + 'sale_order/checkout', auth='public', method=['POST', 'OPTIONS'], csrf=False)
@controller.Controller.must_authorized(private=True, private_key='partner_id')
def create_partner_sale_order(self, **kw):
config = request.env['ir.config_parameter']
- product_pricelist_default_discount_id = int(config.get_param('product.pricelist.default_discount_id'))
+ product_pricelist_default_discount_id = int(config.get_param('product.pricelist.tier1_v2'))
+ user_pricelist = request.env.context.get('user_pricelist').id or False
params = self.get_request_params(kw, {
'user_id': ['number'],
@@ -268,8 +269,8 @@ class SaleOrder(controller.Controller):
parameters = {
'warehouse_id': 8,
'carrier_id': 1,
- 'sales_tax_id': 20,
- 'pricelist_id': product_pricelist_default_discount_id,
+ 'sales_tax_id': 23,
+ 'pricelist_id': user_pricelist or product_pricelist_default_discount_id,
'payment_term_id': 26,
'team_id': 2,
'company_id': 1,
@@ -301,18 +302,19 @@ class SaleOrder(controller.Controller):
source = params['value']['source']
carts = user_cart.get_product_by_user(user_id=user_id, selected=True, source=source)
- order_lines = []
promotions = []
for cart in carts:
if cart['cart_type'] == 'product':
- order_lines.append({
+ order_line = request.env['sale.order.line'].create({
'company_id': 1,
'order_id': sale_order.id,
- 'price_unit': cart['price']['price'],
- 'discount': cart['price']['discount_percentage'],
'product_id': cart['id'],
'product_uom_qty': cart['quantity']
})
+ order_line.product_id_change()
+ order_line.onchange_vendor_id()
+ order_line.price_unit = cart['price']['price']
+ order_line.discount = cart['price']['discount_percentage']
elif cart['cart_type'] == 'promotion':
promotions.append({
'order_id': sale_order.id,
@@ -320,7 +322,6 @@ class SaleOrder(controller.Controller):
'quantity': cart['quantity']
})
- request.env['sale.order.line'].create(order_lines)
request.env['sale.order.promotion'].create(promotions)
if len(promotions) > 0:
diff --git a/indoteknik_api/controllers/api_v1/voucher.py b/indoteknik_api/controllers/api_v1/voucher.py
index dfe9ceba..3c056ecd 100644
--- a/indoteknik_api/controllers/api_v1/voucher.py
+++ b/indoteknik_api/controllers/api_v1/voucher.py
@@ -20,7 +20,7 @@ class Voucher(controller.Controller):
if code:
visibility.append('private')
parameter += [('code', '=', code)]
- user_pricelist = request.env.user_pricelist
+ user_pricelist = request.env.context.get('user_pricelist')
if user_pricelist:
parameter += [('excl_pricelist_ids', 'not in', [user_pricelist.id])]