summaryrefslogtreecommitdiff
path: root/indoteknik_api
diff options
context:
space:
mode:
authorMiqdad <ahmadmiqdad27@gmail.com>2025-08-28 10:46:34 +0700
committerMiqdad <ahmadmiqdad27@gmail.com>2025-08-28 10:46:34 +0700
commit576c49b3260e9d34c86e2da04461dff4bb16e0de (patch)
treed2b101d037483d2d72c2ffec337b7d43649b0650 /indoteknik_api
parent3a1c84158be32915ab9a30877e26c6e48733ba2b (diff)
<Miqdad>Push
Diffstat (limited to 'indoteknik_api')
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py48
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)