summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIndoteknik . <it@fixcomart.co.id>2025-05-29 21:58:53 +0700
committerIndoteknik . <it@fixcomart.co.id>2025-05-29 21:58:53 +0700
commit711885733186a090be447099f1b7979e89ada85d (patch)
treef1b08c5fd38b0d1d7d1c648df4adbcbde6f34966
parentb641951b811590231c060ac40ef633f59037bfbb (diff)
(andri) pilihan shipping method akan terganti jika pilihan kurir tsb tidak ada pada hasil estimate shipping (otomatis akan keganti di opsi pertama)
-rwxr-xr-xindoteknik_custom/models/sale_order.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py
index 94cbfb84..e4564c7d 100755
--- a/indoteknik_custom/models/sale_order.py
+++ b/indoteknik_custom/models/sale_order.py
@@ -828,6 +828,19 @@ class SaleOrder(models.Model):
selected_option = shipping_options[0]
_logger.info(f"Menggunakan opsi pertama: {selected_option.name}")
+ # Ganti carrier_id otomatis sesuai provider dari shipping option
+ provider = selected_option.provider.lower()
+ self.env.cr.execute("""
+ SELECT delivery_carrier_id FROM rajaongkir_kurir
+ WHERE LOWER(name) = %s AND delivery_carrier_id IS NOT NULL
+ LIMIT 1
+ """, (provider,))
+ row = self.env.cr.fetchone()
+ matched_carrier_id = row[0] if row else False
+ if matched_carrier_id:
+ self.carrier_id = matched_carrier_id
+ _logger.info(f"Carrier diganti otomatis ke ID {matched_carrier_id} berdasarkan provider {provider}")
+
if selected_option:
self.shipping_option_id = selected_option.id
self.delivery_amt = selected_option.price