diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2024-07-09 09:52:51 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2024-07-09 09:52:51 +0700 |
| commit | 22d34a07dc8755158f0c85b15d60e348deda0fc2 (patch) | |
| tree | 978b7656c82e8c6027cad3b92102262911dd60dc /indoteknik_api/controllers/api_v1 | |
| parent | c00744390dbd913a2be027be8ec3b9739c927a55 (diff) | |
sale order line reject abl
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/sale_order.py | 30 |
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): |
