summaryrefslogtreecommitdiff
path: root/fixco_custom/models
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-07-04 16:05:22 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-07-04 16:05:22 +0700
commit2cde7371a41c14363e9dfb4cd7c78aae1f859fd5 (patch)
treec38cd743515bc33d8392670826b7fb996c6fff57 /fixco_custom/models
parentf03b307ea4242a308adc027e7aa53b992c12abb8 (diff)
validation duplicate shipment group
Diffstat (limited to 'fixco_custom/models')
-rw-r--r--fixco_custom/models/shipment_group.py27
1 files changed, 25 insertions, 2 deletions
diff --git a/fixco_custom/models/shipment_group.py b/fixco_custom/models/shipment_group.py
index f4461ed..705c13e 100644
--- a/fixco_custom/models/shipment_group.py
+++ b/fixco_custom/models/shipment_group.py
@@ -193,8 +193,31 @@ class PickingLine(models.Model):
def _onchange_scan_receipt(self):
for line in self:
if line.scan_receipt:
- picking = self.env['stock.picking'].search([('tracking_number', '=', line.scan_receipt)], limit=1)
- line.picking_id = picking.id
+ duplicate_receipt = self.search([
+ ('scan_receipt', '=', line.scan_receipt),
+ ('id', '!=', line.id)
+ ], limit=1)
+ if duplicate_receipt:
+ line.scan_receipt = False
+ raise UserError(f'Scan Receipt {line.scan_receipt} sudah digunakan di Shipment Group {duplicate_receipt.shipment_id.name}')
+
+ picking = self.env['stock.picking'].search([
+ ('tracking_number', '=', line.scan_receipt)
+ ], limit=1)
+
+ if not picking:
+ line.scan_receipt = False
+ raise UserError(f'Picking dengan Tracking Number {line.scan_receipt} tidak ditemukan')
+
+ duplicate_picking = self.search([
+ ('picking_id', '=', picking.id),
+ ('id', '!=', line.id)
+ ], limit=1)
+ if duplicate_picking:
+ line.scan_receipt = False
+ raise UserError(f'Picking dengan Tracking Number {line.scan_receipt} sudah digunakan di Shipment Group {duplicate_picking.shipment_id.name}')
+
+ line.picking_id = picking
line.carrier = picking.carrier
line.order_reference = picking.order_reference
line.invoice_marketplace = picking.invoice_mp