From a05a1dc3f4c936c0162f66a24f69ca8b236acfea Mon Sep 17 00:00:00 2001 From: Miqdad Date: Thu, 31 Jul 2025 08:17:06 +0700 Subject: add validation when changing payment term when so payment term is not match --- indoteknik_custom/models/sale_order.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'indoteknik_custom/models') diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index 4e36a9fb..47018f52 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -3088,6 +3088,24 @@ class SaleOrder(models.Model): except: pass + #payment term vals + if 'payment_term_id' in vals and any( + order.approval_status in ['pengajuan1', 'pengajuan2', 'approved'] for order in self): + raise UserError( + "Payment Term tidak dapat diubah karena Sales Order sedang dalam proses approval atau sudah diapprove.") + + 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 + 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." + ) + + res = super(SaleOrder, self).write(vals) # Update before margin setelah write -- cgit v1.2.3 From 4e39c1abf88e2a6a716c681e8184f2031e7612c1 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Thu, 31 Jul 2025 13:41:28 +0700 Subject: push --- indoteknik_custom/models/stock_picking.py | 4 ++-- indoteknik_custom/models/tukar_guling.py | 2 +- indoteknik_custom/models/tukar_guling_po.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'indoteknik_custom/models') diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index 825368de..92ca6e39 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -1386,9 +1386,9 @@ class StockPicking(models.Model): self.automatic_reserve_product() if self.tukar_guling_id: - self.tukar_guling_id.update_state() + self.tukar_guling_id.update_doc_state() elif self.tukar_guling_po_id: - self.tukar_guling_po_id.update_state() + self.tukar_guling_po_id.update_doc_state() return res diff --git a/indoteknik_custom/models/tukar_guling.py b/indoteknik_custom/models/tukar_guling.py index 5411b17c..3f81393a 100644 --- a/indoteknik_custom/models/tukar_guling.py +++ b/indoteknik_custom/models/tukar_guling.py @@ -462,7 +462,7 @@ class TukarGuling(models.Model): raise UserError("Submit hanya bisa dilakukan dari Draft.") self.state = 'approval_sales' - def update_state(self): + def update_doc_state(self): # OUT tukar guling if self.operations.picking_type_id.id == 29 and self.return_type == 'tukar_guling': total_out = self.env['stock.picking'].search_count([ diff --git a/indoteknik_custom/models/tukar_guling_po.py b/indoteknik_custom/models/tukar_guling_po.py index 23ca1923..92d8c9a6 100644 --- a/indoteknik_custom/models/tukar_guling_po.py +++ b/indoteknik_custom/models/tukar_guling_po.py @@ -419,7 +419,7 @@ class TukarGulingPO(models.Model): else: raise UserError("Status ini tidak bisa di-approve.") - def update_stae(self): + def update_doc_state(self): # bu input rev po if self.operations.picking_type_id.id == 28 and self.return_type == 'revisi_po': prt = self.env['stock.picking'].search([ -- cgit v1.2.3 From a6da6185d08075fe6819427e22fdb1940d50fe62 Mon Sep 17 00:00:00 2001 From: "Indoteknik ." Date: Fri, 1 Aug 2025 17:00:08 +0700 Subject: (andri) fix price shipping biteship StockPicking --- indoteknik_custom/models/stock_picking.py | 1 + 1 file changed, 1 insertion(+) (limited to 'indoteknik_custom/models') diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index 825368de..75d71ad9 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -810,6 +810,7 @@ class StockPicking(models.Model): self.biteship_tracking_id = data.get("courier", {}).get("tracking_id", "") self.biteship_waybill_id = data.get("courier", {}).get("waybill_id", "") self.delivery_tracking_no = self.biteship_waybill_id + self.biteship_shipping_price = data.get("price", 0.0) waybill_id = self.biteship_waybill_id -- cgit v1.2.3