summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiqdad <ahmadmiqdad27@gmail.com>2025-07-14 17:46:22 +0700
committerMiqdad <ahmadmiqdad27@gmail.com>2025-07-14 17:46:22 +0700
commitf3902ac1523b8c5c149a8661ad106363a8c01baf (patch)
tree69cf60cab583d653c5127304c391b4e2dcbb490b
parent02cb11bce98b50e66760bc1b755367c0f7ba63f7 (diff)
<miqdad> vals bu pick
-rw-r--r--indoteknik_custom/models/tukar_guling.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/indoteknik_custom/models/tukar_guling.py b/indoteknik_custom/models/tukar_guling.py
index 8d14012a..89f5994d 100644
--- a/indoteknik_custom/models/tukar_guling.py
+++ b/indoteknik_custom/models/tukar_guling.py
@@ -205,7 +205,6 @@ class TukarGuling(models.Model):
raise ValidationError(
_("Tidak bisa memilih Return Type 'Revisi SO' karena dokumen %s sudah dibuat invoice.") % record.origin
)
-
@api.model
def create(self, vals):
# Generate sequence number
@@ -309,8 +308,18 @@ class TukarGuling(models.Model):
else:
raise UserError("Hanya record yang di-cancel yang bisa dikembalikan ke draft")
+ def _check_not_allow_tukar_guling_on_bu_pick(self, return_type=None):
+ operasi = self.operations.picking_type_id.id
+ tipe = return_type or self.return_type
+
+ if operasi == 30 and self.operations.linked_manual_bu_out.state == 'done':
+ raise UserError("❌ Tidak bisa retur BU/PICK karena BU/OUT sudah done")
+ if operasi == 30 and tipe == 'tukar_guling':
+ raise UserError("❌ BU/PICK tidak boleh di retur tukar guling")
+
def action_submit(self):
self.ensure_one()
+ self._check_not_allow_tukar_guling_on_bu_pick()
existing_tukar_guling = self.env['tukar.guling'].search([
('operations', '=', self.operations.id),
@@ -343,6 +352,7 @@ class TukarGuling(models.Model):
self.ensure_one()
self._validate_product_lines()
self._check_invoice_on_revisi_so()
+ self._check_not_allow_tukar_guling_on_bu_pick()
operasi = self.operations.picking_type_id.id
tipe = self.return_type
@@ -351,8 +361,8 @@ class TukarGuling(models.Model):
raise UserError("❌ Tidak bisa retur BU/PICK karena BU/OUT sudah done")
if operasi == 30 and tipe == 'tukar_guling':
raise UserError("❌ BU/PICK tidak boleh di retur tukar guling")
- else:
- _logger.info("hehhe")
+ # else:
+ # _logger.info("hehhe")
if not self.operations:
raise UserError("Operations harus diisi!")