summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-04-16 14:58:43 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-04-16 14:58:43 +0700
commite903492969baf706e73fca2a2a85168dfb815219 (patch)
treec14743714c8e561f98836265a8ee5ad0010058db
parente2a9f4f82b0c761cc4c20d501ab586239c0126a3 (diff)
fix bug
-rw-r--r--indoteknik_custom/models/stock_picking.py34
1 files changed, 21 insertions, 13 deletions
diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py
index 3aa3a0a4..85428aa0 100644
--- a/indoteknik_custom/models/stock_picking.py
+++ b/indoteknik_custom/models/stock_picking.py
@@ -1765,14 +1765,14 @@ class ScanKoli(models.Model):
else:
raise UserError('Koli tidak ditemukan')
- def _compute_scan_koli_progress(self):
- for scan in self:
- if scan.picking_id:
- all_scans = self.env['scan.koli'].search([('picking_id', '=', scan.picking_id.id)], order='id')
- if all_scans:
- scan_index = list(all_scans).index(scan) + 1 # Nomor urut scan
- total_so_koli = scan.picking_id.total_so_koli
- scan.scan_koli_progress = f"{scan_index}/{total_so_koli}" if total_so_koli else "0/0"
+ # def _compute_scan_koli_progress(self):
+ # for scan in self:
+ # if scan.picking_id:
+ # all_scans = self.env['scan.koli'].search([('picking_id', '=', scan.picking_id.id)], order='id')
+ # if all_scans:
+ # scan_index = list(all_scans).index(scan) + 1 # Nomor urut scan
+ # total_so_koli = scan.picking_id.total_so_koli
+ # scan.scan_koli_progress = f"{scan_index}/{total_so_koli}" if total_so_koli else "0/0"
@api.onchange('koli_id')
def _onchange_koli_compare_with_konfirm_koli(self):
@@ -1844,13 +1844,21 @@ class ScanKoli(models.Model):
def _compute_scan_koli_progress(self):
for scan in self:
- if scan.picking_id:
+ if not scan.picking_id:
+ scan.scan_koli_progress = "0/0"
+ continue
+
+ try:
all_scans = self.env['scan.koli'].search([('picking_id', '=', scan.picking_id.id)], order='id')
if all_scans:
- scan_index = list(all_scans).index(scan) + 1 # Nomor urut scan
- total_so_koli = scan.picking_id.total_so_koli
- scan.scan_koli_progress = f"{scan_index}/{total_so_koli}" if total_so_koli else "0/0"
-
+ scan_index = list(all_scans).index(scan) + 1
+ total_so_koli = scan.picking_id.total_so_koli or 0
+ scan.scan_koli_progress = f"{scan_index}/{total_so_koli}"
+ else:
+ scan.scan_koli_progress = "0/0"
+ except Exception:
+ # Fallback in case of any error
+ scan.scan_koli_progress = "0/0"
@api.constrains('picking_id', 'picking_id.total_so_koli')
def _check_koli_validation(self):
for scan in self.picking_id.scan_koli_lines: