summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models
diff options
context:
space:
mode:
authorMiqdad <ahmadmiqdad27@gmail.com>2025-06-15 17:33:46 +0700
committerMiqdad <ahmadmiqdad27@gmail.com>2025-06-15 17:33:46 +0700
commit50769e870756dd350421a205e6d49ab555023764 (patch)
treea3aaa4d3a95ca1061c888b89a44db6af21d8cb52 /indoteknik_custom/models
parentf5fc52453c0f7e52b6c87fa57d2de5120c3041e0 (diff)
<miqdad> fix state view and add ingoing field
Diffstat (limited to 'indoteknik_custom/models')
-rw-r--r--indoteknik_custom/models/tukar_guling.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/indoteknik_custom/models/tukar_guling.py b/indoteknik_custom/models/tukar_guling.py
index 36819ad4..b4a901d0 100644
--- a/indoteknik_custom/models/tukar_guling.py
+++ b/indoteknik_custom/models/tukar_guling.py
@@ -10,18 +10,17 @@ class TukarGuling(models.Model):
name = fields.Char('Number', required=True, copy=False, readonly=True, default='New')
date = fields.Datetime('Date', default=fields.Datetime.now, required=True)
- out_num = fields.Many2one('stock.picking', 'Nomor BU/Out', required=True,
+ out_num = fields.Many2one('stock.picking', 'Nomor BU/Out',
domain=[('picking_type_id.code', '=', 'outgoing')])
+ in_num = fields.Many2one('stock.picking', 'Nomor BU/In', domain=[('picking_type_id.code', '=', 'incoming')])
ba_num = fields.Text('Nomor BA')
notes = fields.Text('Notes')
return_type = fields.Selection(String='Return Type', selection=[
- ('tukar_guling', 'Tukar Guling'),
- ('revisi_so', 'Revisi SO'),
+ ('tukar_guling', 'Tukar Guling'), # -> barang yang sama
+ ('revisi_so', 'Revisi SO'), # -> ganti barang ?
('revisi_po', 'Revisi PO'),
- ('credit_memo', 'Credit Memo'),
- ('debit_memo', 'Debit Memo'),
- ('lain_lain', 'Lain-lain')])
-
+ ('credit_memo', 'Credit Memo'), # -> dijadiin credit memo
+ ('debit_memo', 'Debit Memo')])
state = fields.Selection(string='Status', selection=[
('draft', 'Draft'),
('waiting', 'Waiting for Approval'),
@@ -31,6 +30,14 @@ class TukarGuling(models.Model):
line_ids = fields.One2many('tukar.guling.line', 'tukar_guling_id', string='Product Lines')
+ @api.constrains('return_type', 'out_num', 'in_num')
+ def _check_return_type_fields(self):
+ for rec in self:
+ if rec.return_type in ['tukar_guling', 'credit_memo', 'revisi_so'] and not rec.out_num:
+ raise ValidationError("Field BU/Out wajib diisi untuk jenis return type tersebut.")
+ if rec.return_type in ['debit_memo', 'revisi_po'] and not rec.in_num:
+ raise ValidationError("Field BU/In wajib diisi untuk jenis return type tersebut.")
+
@api.constrains('line_ids', 'state')
def _check_product_lines(self):
"""Constraint: Product lines harus ada jika state bukan draft"""