summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2024-07-09 09:52:51 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2024-07-09 09:52:51 +0700
commit22d34a07dc8755158f0c85b15d60e348deda0fc2 (patch)
tree978b7656c82e8c6027cad3b92102262911dd60dc /indoteknik_api/controllers/api_v1
parentc00744390dbd913a2be027be8ec3b9739c927a55 (diff)
sale order line reject abl
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py
index ee295b55..9117210f 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -9,6 +9,36 @@ class SaleOrder(controller.Controller):
prefix = '/api/v1/'
PREFIX_PARTNER = prefix + 'partner/<partner_id>/'
+ @http.route(prefix + "sale_order/<id>/reject/<product_id>", auth='public', method=['POST', 'OPTIONS'], csrf=False)
+ @controller.Controller.must_authorized()
+ def reject_sale_order_line(self, **kw):
+ so_id = int(kw.get('id', '0'))
+ product_id = int(kw.get('product_id', '0'))
+ params = self.get_request_params(kw, {
+ 'reason_reject': []
+ })
+
+ sale_order_line = request.env['sale.order.line'].search([
+ ('product_id', '=', product_id),
+ ('order_id', '=', so_id)
+ ], limit=1)
+
+ if sale_order_line:
+ parameters = {
+ 'sale_order_id': sale_order_line.order_id.id,
+ 'product_id': sale_order_line.product_id.id,
+ 'qty_reject': sale_order_line.product_uom_qty,
+ 'reason_reject': params['value']['reason_reject'],
+ }
+
+ sale_order_reject = request.env['sales.order.reject'].create(parameters)
+
+ sale_order_line.unlink()
+
+ return self.response('work')
+ else:
+ return self.response('Sale order line not found', status=404)
+
@http.route(prefix + "sale_order_number", auth='public', method=['GET', 'OPTIONS'])
@controller.Controller.must_authorized()
def get_number_sale_order(self, **kw):