summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1/sale_order.py
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-02-25 11:53:29 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-02-25 11:53:29 +0700
commit13c90b5a95391d797b89c39b90c1430400ed29b7 (patch)
tree1df668fee68e72a76cbcc5255e5d533b3721d190 /indoteknik_api/controllers/api_v1/sale_order.py
parent0f7f7fa273295fadde403c4ff9333b3bbe14489a (diff)
parent029e8fce907060de2a2514b5abc731f4cd9da96e (diff)
Merge branch 'staging' into release
Diffstat (limited to 'indoteknik_api/controllers/api_v1/sale_order.py')
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py36
1 files changed, 34 insertions, 2 deletions
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py
index 1c67d6c5..15dcf0ba 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -36,10 +36,14 @@ class SaleOrder(controller.Controller):
data.append({
'id': sale.id,
'name': sale.name,
- 'amount_total': sale.amount_total,
+ 'date_order': self.time_to_str(sale.date_order, '%d/%m/%Y %H:%M:%S'),
'state': sale.state,
+ 'amount_untaxed': sale.amount_untaxed,
+ 'amount_tax': sale.amount_tax,
+ 'amount_total': sale.amount_total,
'product_name': product_name,
'product_not_in_id': product_not_in_id,
+ 'details': [request.env['sale.order.line'].api_single_response(x, context='with_detail') for x in sale.order_line]
})
return self.response(data)
@@ -106,6 +110,34 @@ class SaleOrder(controller.Controller):
return self.response(data)
+ @http.route(PREFIX_PARTNER + 'sale_order/<id>/checkout', auth='public', method=['POST', 'OPTIONS'], csrf=False)
+ def partner_checkout_sale_order_by_id(self, **kw):
+ user_token = self.authenticate()
+ if not user_token:
+ return self.unauthorized_response()
+
+ params = self.get_request_params(kw, {
+ 'partner_id': ['number'],
+ 'id': ['number']
+ })
+ if not user_token['partner_id'] == params['value']['partner_id']:
+ return self.unauthorized_response()
+ if not params['valid']:
+ return self.response(code=400, description=params)
+
+ partner_child_ids = self.get_partner_child_ids(params['value']['partner_id'])
+ domain = [
+ ('id', '=', params['value']['id']),
+ ('partner_id', 'in', partner_child_ids)
+ ]
+ data = {}
+ sale_order = request.env['sale.order'].search(domain)
+ if sale_order:
+ sale_order.approval_status = 'pengajuan1'
+ data = request.env['sale.order'].api_v1_single_response(sale_order, context='with_detail')
+
+ return self.response(data)
+
@http.route(PREFIX_PARTNER + 'sale_order/<id>/upload_po', auth='public', method=['POST', 'OPTIONS'], csrf=False)
def partner_upload_po_sale_order(self, **kw):
user_token = self.authenticate()
@@ -187,7 +219,7 @@ class SaleOrder(controller.Controller):
if not user_token['partner_id'] == params['value']['partner_id']:
return self.unauthorized_response()
if not params['valid']:
- return self.response(code=400, description=params)
+ return self.response(code=400, description=params)
partner_child_ids = self.get_partner_child_ids(params['value']['partner_id'])
domain = [