diff options
| -rw-r--r-- | indoteknik_custom/models/tukar_guling.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/indoteknik_custom/models/tukar_guling.py b/indoteknik_custom/models/tukar_guling.py index 27d4d954..f8cbec0a 100644 --- a/indoteknik_custom/models/tukar_guling.py +++ b/indoteknik_custom/models/tukar_guling.py @@ -56,11 +56,16 @@ class TukarGuling(models.Model): } @api.constrains('return_type', 'in_num', 'out_num') - def _check_bu_required_for_tukar_guling(self): + def _check_required_bu_fields(self): for record in self: - if record.return_type == 'tukar_guling': - if not record.in_num and not record.out_num: - raise ValidationError("Untuk Tukar Guling, isi salah satu: BU/In atau BU/Out.") + if record.return_type in ['debit_memo', 'revisi_po'] and not record.in_num: + raise ValidationError("BU/In harus diisi untuk return type Debit Memo atau Revisi PO.") + + if record.return_type in ['revisi_so', 'credit_memo'] and not record.out_num: + raise ValidationError("BU/Out harus diisi untuk return type Revisi SO atau Credit Memo.") + + if record.return_type == 'tukar_guling' and not (record.in_num or record.out_num): + raise ValidationError("Untuk Tukar Guling, minimal isi salah satu, BU/In atau BU/Out.") @api.constrains('line_ids', 'state') def _check_product_lines(self): |
