summaryrefslogtreecommitdiff
path: root/indoteknik_api/models
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-09-29 13:20:20 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-09-29 13:20:20 +0700
commit875b20796c7fa64abebe430b2707df597e29836b (patch)
tree2521fbf09f4695253fd7db1ff7613b7f003f20ea /indoteknik_api/models
parent914bcd75dd2baddb2841cbfba6a64ebd453fecdb (diff)
parentec21c4721f35028fc9b2a61bd0dbc6e4bf600e74 (diff)
Merge branch 'odoo-backup' into pum-v2
# Conflicts: # indoteknik_custom/security/ir.model.access.csv
Diffstat (limited to 'indoteknik_api/models')
-rw-r--r--indoteknik_api/models/res_users.py9
-rw-r--r--indoteknik_api/models/sale_order.py16
2 files changed, 17 insertions, 8 deletions
diff --git a/indoteknik_api/models/res_users.py b/indoteknik_api/models/res_users.py
index 015b9e0e..c4e19bf3 100644
--- a/indoteknik_api/models/res_users.py
+++ b/indoteknik_api/models/res_users.py
@@ -14,6 +14,11 @@ class ResUsers(models.Model):
'manager': 2,
'director': 3
}
+ payment_term = (
+ main_partner.previous_payment_term_id
+ if main_partner.is_cbd_locked
+ else main_partner.property_payment_term_id
+ )
partner_tempo = False
is_tempo_request = request.env['user.pengajuan.tempo.request'].search([('user_company_id', '=', main_partner.id)], limit=1)
tempo_progres = (
@@ -21,8 +26,8 @@ class ResUsers(models.Model):
'rejected' if is_tempo_request.state_tempo == 'reject' else
'approve' if is_tempo_request.state_tempo == 'approval_director' else ''
)
- if main_partner:
- partner_tempo = True if 'tempo' in main_partner.get_check_payment_term().lower() else False
+ if payment_term:
+ partner_tempo = True if 'tempo' in payment_term.name.lower() else False
data = {
'id': res_user.id,
diff --git a/indoteknik_api/models/sale_order.py b/indoteknik_api/models/sale_order.py
index 9be03927..23be358a 100644
--- a/indoteknik_api/models/sale_order.py
+++ b/indoteknik_api/models/sale_order.py
@@ -60,18 +60,22 @@ 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 = [
p for p in sale_order.picking_ids
- if p.picking_type_id and p.picking_type_id.id == 29
+ if p.picking_type_id and p.picking_type_id.id == 29 and p.state != 'cancel'
]
# Hitung status masing-masing picking