summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1/sale_order.py
diff options
context:
space:
mode:
authortrisusilo48 <tri.susilo@altama.co.id>2024-10-02 09:44:39 +0700
committertrisusilo48 <tri.susilo@altama.co.id>2024-10-02 09:44:39 +0700
commit2739d3040a69228192096ee16373610149a2fb47 (patch)
tree545aa797d7407e8f22250dff15648495b891928f /indoteknik_api/controllers/api_v1/sale_order.py
parent4d3d219b5f1002822a16067a28261fd59b170ff8 (diff)
parent7d3780ede67579b5891218efc370dc82eef510a1 (diff)
Merge branch 'production' of https://bitbucket.org/altafixco/indoteknik-addons into production
Diffstat (limited to 'indoteknik_api/controllers/api_v1/sale_order.py')
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py
index 1b7c1af4..e7664c79 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -388,6 +388,9 @@ class SaleOrder(controller.Controller):
if not params['valid']:
return self.response(code=400, description=params)
+ # Fetch partner details
+ sales_partner = request.env['res.partner'].browse(params['value']['partner_id'])
+
parameters = {
'warehouse_id': 8,
'carrier_id': 1,
@@ -407,7 +410,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',
@@ -415,9 +418,11 @@ class SaleOrder(controller.Controller):
'delivery_service_type': params['value']['delivery_service_type'],
'flash_sale': params['value']['flash_sale'],
'note_website': params['value']['note_website'],
- 'customer_type': 'nonpkp',
- 'npwp': '0',
- 'user_id': 3222 # User ID: Nadia Rauhadatul Firdaus
+ 'customer_type': sales_partner.customer_type if sales_partner else 'nonpkp', # Get Customer Type from partner
+ 'npwp': sales_partner.npwp or '0', # Get NPWP from partner
+ 'sppkp': sales_partner.sppkp, # Get SPPKP from partner
+ 'email': sales_partner.email, # Get Email from partner
+ 'user_id': 3222 # User ID: Nadia Rauhadatul Firdaus
}
sales_partner = request.env['res.partner'].browse(parameters['partner_id'])
@@ -460,11 +465,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'