From 89066f660811621afae78946c6a15751cfbdcedb Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Mon, 8 May 2023 16:52:53 +0700 Subject: add delivery order line on sale order api --- indoteknik_api/controllers/api_v1/sale_order.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index 425dd296..b199ba63 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -65,9 +65,9 @@ class SaleOrder(controller.Controller): context = params['value']['context'] if context == 'quotation': - domain += [('approval_status', '=', False)] + domain += ["|","|",("state","=","draft"),("state","=","sent"),("state","=","cancel")] if not context: - domain += [('approval_status', '!=', False)] + domain += ["|",("state","=","sale"),("state","=","done")] if params['value']['name']: name = params['value']['name'].replace(' ', '%') @@ -235,6 +235,7 @@ class SaleOrder(controller.Controller): 'po_number': [], 'po_file': [], 'type': [], + 'delivery_amount': ['number', 'default:0'] }) if not params['valid']: @@ -257,6 +258,9 @@ class SaleOrder(controller.Controller): 'partner_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'], + 'shipping_cost_covered': 'customer', + 'shipping_paid_by': 'customer' } if params['value']['type'] == 'sale_order': parameters['approval_status'] = 'pengajuan1' @@ -294,6 +298,17 @@ class SaleOrder(controller.Controller): 'price_unit': product._get_website_price_exclude_tax(), 'discount': discount }) + + # Static order line for delivery + parameters.append({ + 'company_id': 1, + 'order_id': sale_order.id, + 'product_id': 81384, + 'product_uom_qty': 1, + 'price_unit': params['value']['delivery_amount'], + 'discount': 0, + 'tax_id': False + }) request.env['sale.order.line'].create(parameters) return self.response({ 'id': sale_order.id, -- cgit v1.2.3 From c50611bce3b2a57a7436f3f8b921207e36ff7f27 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Tue, 9 May 2023 09:29:04 +0700 Subject: kondisi line delivery di api sale order --- indoteknik_api/controllers/api_v1/sale_order.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index b199ba63..ec39b32a 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -300,15 +300,17 @@ class SaleOrder(controller.Controller): }) # Static order line for delivery - parameters.append({ - 'company_id': 1, - 'order_id': sale_order.id, - 'product_id': 81384, - 'product_uom_qty': 1, - 'price_unit': params['value']['delivery_amount'], - 'discount': 0, - 'tax_id': False - }) + if params['value']['type'] == 'sale_order' and params['value']['delivery_amount'] > 0: + parameters.append({ + 'company_id': 1, + 'order_id': sale_order.id, + 'product_id': 81384, + 'product_uom_qty': 1, + 'price_unit': params['value']['delivery_amount'], + 'discount': 0, + 'tax_id': False + }) + request.env['sale.order.line'].create(parameters) return self.response({ 'id': sale_order.id, -- cgit v1.2.3