diff options
| author | Miqdad <ahmadmiqdad27@gmail.com> | 2025-06-14 10:05:15 +0700 |
|---|---|---|
| committer | Miqdad <ahmadmiqdad27@gmail.com> | 2025-06-14 10:05:15 +0700 |
| commit | f5fc52453c0f7e52b6c87fa57d2de5120c3041e0 (patch) | |
| tree | 051dd18c809066dff270a73f604e34430cdb03d4 | |
| parent | dc4089f58420e4395841370f131e8f3a738199d0 (diff) | |
<miqdad> check validation
| -rw-r--r-- | indoteknik_custom/models/tukar_guling.py | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/indoteknik_custom/models/tukar_guling.py b/indoteknik_custom/models/tukar_guling.py index e214e268..36819ad4 100644 --- a/indoteknik_custom/models/tukar_guling.py +++ b/indoteknik_custom/models/tukar_guling.py @@ -22,7 +22,6 @@ class TukarGuling(models.Model): ('debit_memo', 'Debit Memo'), ('lain_lain', 'Lain-lain')]) - # ✅ PERBAIKAN: Ganti 'states' dengan 'state' state = fields.Selection(string='Status', selection=[ ('draft', 'Draft'), ('waiting', 'Waiting for Approval'), @@ -30,7 +29,6 @@ class TukarGuling(models.Model): ('cancel', 'Canceled') ], default='draft', tracking=True, required=True) - # ✅ NEW: Line items line_ids = fields.One2many('tukar.guling.line', 'tukar_guling_id', string='Product Lines') @api.constrains('line_ids', 'state') @@ -44,6 +42,7 @@ class TukarGuling(models.Model): """Helper method untuk validasi product lines""" self.ensure_one() + # Check ada product lines if not self.line_ids: raise UserError("Belum ada product lines yang ditambahkan!") @@ -74,16 +73,15 @@ class TukarGuling(models.Model): # Reset fields penting saat duplicate default.update({ - 'name': 'New', # Akan auto-generate sequence baru + 'name': 'New', 'state': 'draft', 'date': fields.Datetime.now(), - # ba_num dan out_num tidak di-reset, user bisa edit manual }) # Copy record dengan default values new_record = super(TukarGuling, self).copy(default) - # Re-sequence line items untuk record baru + # Re-sequence line items record baru if new_record.line_ids: for i, line in enumerate(new_record.line_ids): line.sequence = (i + 1) * 10 @@ -100,12 +98,29 @@ class TukarGuling(models.Model): def action_submit(self): self.ensure_one() + # cek bu out sudah diisi atau blm + if not self.out_num: + raise UserError("BU/Out harus diisi!") + + # cek return type + # if not self.return_type: + # raise UserError("Return Type harus diisi!") + if self.state != 'draft': raise UserError("Hanya status Draft saja yang bisa di submit") self.state = 'waiting' def action_approve(self): self.ensure_one() + + # cek bu out sudah diisi atau blm + if not self.out_num: + raise UserError("BU/Out harus diisi!") + + # cek return type + if not self.return_type: + raise UserError("Return Type harus diisi!") + if self.state != 'waiting': raise UserError("Hanya status Waiting saja yang bisa di approve") self.state = 'done' |
