diff options
| author | Miqdad <ahmadmiqdad27@gmail.com> | 2025-05-20 10:09:16 +0700 |
|---|---|---|
| committer | Miqdad <ahmadmiqdad27@gmail.com> | 2025-05-20 10:09:16 +0700 |
| commit | accaff72daae402924f89c2347b57b75901f542b (patch) | |
| tree | 068d184a0c98f07ca2806fa08553c06c28559163 | |
| parent | be8056d1b69d4795724f164958171018d9968f46 (diff) | |
<miqdad> if payment term != customer payment term cannot save
| -rwxr-xr-x | indoteknik_custom/models/sale_order.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index c7e713d0..e977e07c 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -2017,5 +2017,17 @@ class SaleOrder(models.Model): raise UserError( "Payment Term tidak dapat diubah karena Sales Order sedang dalam proses approval atau sudah diapprove.") - # Lanjutkan dengan logika write yang sudah ada + if 'payment_term_id' in vals: + for order in self: + partner = order.partner_id.parent_id or order.partner_id + customer_payment_term = partner.property_payment_term_id + + # Jika payment term yang diinput berbeda dengan payment term customer + if vals['payment_term_id'] != customer_payment_term.id: + raise UserError( + f"Payment Term berbeda pada Master Data Customer. " + f"Harap ganti ke '{customer_payment_term.name}' " + f"sesuai dengan payment term yang terdaftar pada customer." + ) + return super(SaleOrder, self).write(vals) |
