diff options
| author | Miqdad <ahmadmiqdad27@gmail.com> | 2025-08-28 10:46:34 +0700 |
|---|---|---|
| committer | Miqdad <ahmadmiqdad27@gmail.com> | 2025-08-28 10:46:34 +0700 |
| commit | 576c49b3260e9d34c86e2da04461dff4bb16e0de (patch) | |
| tree | d2b101d037483d2d72c2ffec337b7d43649b0650 /indoteknik_api | |
| parent | 3a1c84158be32915ab9a30877e26c6e48733ba2b (diff) | |
<Miqdad>Push
Diffstat (limited to 'indoteknik_api')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/sale_order.py | 48 |
1 files changed, 47 insertions, 1 deletions
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index fbbb9479..b48c5a34 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -208,7 +208,7 @@ class SaleOrder(controller.Controller): # === Tambahan ringkasan + (opsional) auto-regenerate link Midtrans === CBD_PAYMENT_TERM_ID = 26 - ALLOWED_UNSETTLED = {'', 'expire', 'cancel', 'null', '[null]'} # sesuai syaratmu + ALLOWED_UNSETTLED = {'', 'expire', 'cancel'} # sesuai syaratmu def _is_website_order(so): # kalau source website fix id=59, ini paling aman @@ -256,7 +256,53 @@ class SaleOrder(controller.Controller): 'sale_orders': sale_orders_payload } return self.response(data) + + @http.route(PREFIX_PARTNER + 'sale_order/<id>', auth='public', method=['GET', 'OPTIONS']) + @controller.Controller.must_authorized() + def partner_get_sale_order_detail(self, **kw): + params = self.get_request_params(kw, { + 'partner_id': ['number'], + 'id': ['number'], + }) + 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: + data = request.env['sale.order'].api_v1_single_response(sale_order, context='with_detail') + if sale_order.expected_ready_to_ship: + bulan_id = [ + "Januari", "Februari", "Maret", "April", "Mei", "Juni", + "Juli", "Agustus", "September", "Oktober", "November", "Desember" + ] + tanggal = sale_order.expected_ready_to_ship.day + bulan = bulan_id[sale_order.expected_ready_to_ship.month - 1] + tahun = sale_order.expected_ready_to_ship.year + data['expected_ready_to_ship'] = f"{tanggal} {bulan} {tahun}" + if sale_order.eta_date_start: + bulan_id = [ + "Januari", "Februari", "Maret", "April", "Mei", "Juni", + "Juli", "Agustus", "September", "Oktober", "November", "Desember" + ] + tanggal = sale_order.eta_date_start.day + bulan = bulan_id[sale_order.eta_date_start.month - 1] + tahun = sale_order.eta_date_start.year + data['eta_date_start'] = f"{tanggal} {bulan} {tahun}" + + if sale_order.eta_date: + bulan_id = [ + "Januari", "Februari", "Maret", "April", "Mei", "Juni", + "Juli", "Agustus", "September", "Oktober", "November", "Desember" + ] + tanggal = sale_order.eta_date.day + bulan = bulan_id[sale_order.eta_date.month - 1] + tahun = sale_order.eta_date.year + data['eta_date_end'] = f"{tanggal} {bulan} {tahun}" + + return self.response(data) @http.route(PREFIX_PARTNER + 'sale_order/<id>/checkout', auth='public', method=['POST', 'OPTIONS'], csrf=False) |
