diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2025-09-29 13:20:20 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2025-09-29 13:20:20 +0700 |
| commit | 875b20796c7fa64abebe430b2707df597e29836b (patch) | |
| tree | 2521fbf09f4695253fd7db1ff7613b7f003f20ea /indoteknik_api/models | |
| parent | 914bcd75dd2baddb2841cbfba6a64ebd453fecdb (diff) | |
| parent | ec21c4721f35028fc9b2a61bd0dbc6e4bf600e74 (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.py | 9 | ||||
| -rw-r--r-- | indoteknik_api/models/sale_order.py | 16 |
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 |
