diff options
| author | Indoteknik . <it@fixcomart.co.id> | 2025-05-29 21:58:53 +0700 |
|---|---|---|
| committer | Indoteknik . <it@fixcomart.co.id> | 2025-05-29 21:58:53 +0700 |
| commit | 711885733186a090be447099f1b7979e89ada85d (patch) | |
| tree | f1b08c5fd38b0d1d7d1c648df4adbcbde6f34966 | |
| parent | b641951b811590231c060ac40ef633f59037bfbb (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-x | indoteknik_custom/models/sale_order.py | 13 |
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 |
