summaryrefslogtreecommitdiff
path: root/indoteknik_api/models/sale_order.py
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-02-14 13:55:14 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-02-14 13:55:14 +0700
commitce3e018ad61808b7e581e416525e6696ed088916 (patch)
tree6459ae3b356ccb6a9b75e7bb11b3c998aa9d0070 /indoteknik_api/models/sale_order.py
parent237b623f8c1ceda7a4b6ce5ef28f629c84425205 (diff)
parentc68437fc15bd25e00c81001a4d1324a29c50c6bd (diff)
Merge branch 'feature/rest-api' into staging
Diffstat (limited to 'indoteknik_api/models/sale_order.py')
-rw-r--r--indoteknik_api/models/sale_order.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/indoteknik_api/models/sale_order.py b/indoteknik_api/models/sale_order.py
index c3f3dccb..7ce8ff61 100644
--- a/indoteknik_api/models/sale_order.py
+++ b/indoteknik_api/models/sale_order.py
@@ -24,9 +24,19 @@ class SaleOrder(models.Model):
data['status'] = 'waiting'
if sale_order.state == 'sale':
data['status'] = 'sale'
+ picking_count = {
+ 'assigned': 0,
+ 'done': 0,
+ }
for picking in sale_order.picking_ids:
- if picking.state == 'assigned':
- data['status'] = 'shipping'
+ if picking.state in ['confirmed', 'assigned']:
+ picking_count['assigned'] += 1
+ if picking.state == 'done':
+ picking_count['done'] += 1
+ if picking_count['assigned'] > 0:
+ data['status'] = 'shipping'
+ if picking_count['done'] > 0:
+ data['status'] = 'partial_shipping'
if sale_order.state == 'done':
data['status'] = 'done'