summaryrefslogtreecommitdiff
path: root/indoteknik_api
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2025-05-31 08:56:21 +0700
committerit-fixcomart <it@fixcomart.co.id>2025-05-31 08:56:21 +0700
commitdeba962d7368a5c4e30441b5a640102608e3dde6 (patch)
tree66a5215405800189ab83383241982f8123e82e1b /indoteknik_api
parentf0f414383b3bd34e6fce12e68e171014c08d2a55 (diff)
<hafid> fix repeat order
Diffstat (limited to 'indoteknik_api')
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py45
1 files changed, 30 insertions, 15 deletions
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py
index 39fa0e13..e87b357e 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -136,24 +136,39 @@ class SaleOrder(controller.Controller):
('partner_id.site_id.name', 'ilike', '%' + site + '%')
]
- if params['value']['status']:
- if params['value']['status'] == 'quotation':
+ status = params['value'].get('status')
+ if status:
+ if status == 'quotation':
domain += [('state', '=', 'draft')]
- elif params['value']['status'] == 'cancel':
+ domain += [('approval_status', '=', False)]
+
+ elif status == 'cancel':
domain += [('state', '=', 'cancel')]
- elif params['value']['status'] == 'diterima':
- domain += [('state', '=', 'draft')]
- # domain += [('is_continue_transaction', '=', True)]
- domain += [('approval_status', 'in', ['pengajuan1', 'pengajuan2'])]
- elif params['value']['status'] == 'diproses':
- domain += [('state', '=', 'sale')]
- domain += [('picking_ids.state', 'in', ['draft', 'waiting', 'confirmed', 'assigned'])]
- elif params['value']['status'] == 'dikirim':
- domain += [('state', '=', 'sale')]
- domain += [('picking_ids.state', 'not in', ['draft', 'waiting', 'confirmed', 'assigned', 'cancel'])]
- elif params['value']['status'] == 'selesai':
+
+ elif status == 'diterima':
+ domain += [
+ ('state', '=', 'draft'),
+ ('approval_status', 'in', ['pengajuan1', 'pengajuan2']),
+ ]
+
+ elif status == 'dikirim':
+ domain += [
+ ('state', '=', 'sale'),
+ ('picking_ids.state', 'in', ['done'])
+ ]
+
+ elif status == 'diproses':
+ domain += [
+ ('state', '=', 'sale'),
+ ('picking_ids.state', 'in', ['draft', 'waiting', 'confirmed', 'assigned'])
+ ]
+
+ elif status == 'selesai':
domain += [('state', '=', 'done')]
+ elif status == 'all':
+ domain += []
+
# Sorting
order = None
if params['value']['sort']:
@@ -190,7 +205,7 @@ class SaleOrder(controller.Controller):
def partner_get_sale_order_detail(self, **kw):
params = self.get_request_params(kw, {
'partner_id': ['number'],
- 'id': ['number']
+ 'id': ['number'],
})
if not params['valid']:
return self.response(code=400, description=params)