summaryrefslogtreecommitdiff
path: root/indoteknik_api
diff options
context:
space:
mode:
authorMiqdad <ahmadmiqdad27@gmail.com>2025-08-28 13:39:55 +0700
committerMiqdad <ahmadmiqdad27@gmail.com>2025-08-28 13:39:55 +0700
commitc6f2111d3872604c6cdd0901c1ee2fde5edb59de (patch)
tree77b17e2fc110026fdd055cda12190570ee2a9507 /indoteknik_api
parent576c49b3260e9d34c86e2da04461dff4bb16e0de (diff)
<Miqdad> Done
Diffstat (limited to 'indoteknik_api')
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py13
-rw-r--r--indoteknik_api/models/sale_order.py14
2 files changed, 21 insertions, 6 deletions
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py
index b48c5a34..2d697ae1 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -151,8 +151,19 @@ class SaleOrder(controller.Controller):
domain += [('approval_status', '=', False)]
elif status == 'cancel':
domain += [('state', '=', 'cancel')]
+ elif status == 'belum_bayar':
+ domain += [
+ ('state', '=', 'draft'),
+ ('approval_status', 'in', ['pengajuan1', 'pengajuan2']),
+ ('payment_status', 'in', [False, None, '', 'pending' ,'expire'])
+ ]
elif status == 'diproses':
- domain += [('state', '=', 'draft'), ('approval_status', 'in', ['pengajuan1', 'pengajuan2'])]
+ domain += [
+ ('state', '=', 'draft'),
+ ('approval_status', 'in', ['pengajuan1', 'pengajuan2']),
+ ('payment_status', '!=', False),
+ ('payment_status', 'not in', ['', 'pending', 'expire']),
+ ]
elif status in ['dikemas', 'dikirim', 'selesai', 'partial']:
domain += [('state', '=', 'sale')]
elif status == 'all':
diff --git a/indoteknik_api/models/sale_order.py b/indoteknik_api/models/sale_order.py
index 9be03927..c59dead9 100644
--- a/indoteknik_api/models/sale_order.py
+++ b/indoteknik_api/models/sale_order.py
@@ -60,13 +60,17 @@ class SaleOrder(models.Model):
# 'tracking_number': picking.delivery_tracking_no or '',
# 'delivered': picking.waybill_id.delivered or picking.driver_arrival_date != False or picking.sj_return_date != False,
})
+
if sale_order.state == 'cancel':
data['status'] = 'cancel'
- if sale_order.state == 'draft' and sale_order.approval_status == False:
- data['status'] = 'draft'
- if sale_order.state == 'draft' and sale_order.approval_status in ['pengajuan1', 'pengajuan2']:
- data['status'] = 'waiting'
-
+ elif sale_order.state == 'draft':
+ if not sale_order.approval_status:
+ data['status'] = 'draft'
+ elif sale_order.approval_status in ('pengajuan1', 'pengajuan2'):
+ if sale_order.payment_status in ('', 'pending', False, None, 'expire'):
+ data['status'] = 'belum_bayar'
+ elif sale_order.payment_status not in ['', 'pending', False, None, 'expire']:
+ data['status'] = 'waiting'
if sale_order.state == 'sale':
bu_pickings = [