From 22d34a07dc8755158f0c85b15d60e348deda0fc2 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Tue, 9 Jul 2024 09:52:51 +0700 Subject: sale order line reject abl --- indoteknik_api/controllers/api_v1/sale_order.py | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'indoteknik_api/controllers/api_v1') 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//' + @http.route(prefix + "sale_order//reject/", 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): -- cgit v1.2.3