summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiqdad <ahmadmiqdad27@gmail.com>2025-05-20 10:09:16 +0700
committerMiqdad <ahmadmiqdad27@gmail.com>2025-05-20 10:09:16 +0700
commitaccaff72daae402924f89c2347b57b75901f542b (patch)
tree068d184a0c98f07ca2806fa08553c06c28559163
parentbe8056d1b69d4795724f164958171018d9968f46 (diff)
<miqdad> if payment term != customer payment term cannot save
-rwxr-xr-xindoteknik_custom/models/sale_order.py14
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)