diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2025-03-13 10:11:33 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2025-03-13 10:11:33 +0700 |
| commit | ed9a8ebd0e3a16ac501da848fd4dbc5ae0ce6ff5 (patch) | |
| tree | 5585297ea85e86eaa09da2d0c20373fd64bd8c5b /indoteknik_custom/models/stock_inventory.py | |
| parent | 60de643d4a5f19abc7bee34ccd2e6e6f6219a750 (diff) | |
| parent | 1ff9a57e2f7a7ecb3ba9321f7133f43e7009aa47 (diff) | |
Merge branch 'odoo-backup' into CR/renca-banner
Diffstat (limited to 'indoteknik_custom/models/stock_inventory.py')
| -rw-r--r-- | indoteknik_custom/models/stock_inventory.py | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/indoteknik_custom/models/stock_inventory.py b/indoteknik_custom/models/stock_inventory.py index 12a891de..69cca5bc 100644 --- a/indoteknik_custom/models/stock_inventory.py +++ b/indoteknik_custom/models/stock_inventory.py @@ -29,10 +29,10 @@ class StockInventory(models.Model): """Menentukan nomor berdasarkan kategori Adjust-In atau Adjust-Out.""" name_upper = record.name.upper() if record.name else "" - if self.adjusment_type == 'out' or "ADJUST OUT" in name_upper or "ADJUST-OUT" in name_upper or "OUT" in name_upper: + if self.adjusment_type == 'out': last_number = self._get_last_sequence("ADJUST/OUT/") record.number = f"ADJUST/OUT/{last_number}" - elif self.adjusment_type == 'in' or "ADJUST IN" in name_upper or "ADJUST-IN" in name_upper or "IN" in name_upper: + elif self.adjusment_type == 'in': last_number = self._get_last_sequence("ADJUST/IN/") record.number = f"ADJUST/IN/{last_number}" else: @@ -54,6 +54,26 @@ class StockInventory(models.Model): @api.model def create(self, vals): + """Pastikan nomor hanya dibuat saat penyimpanan.""" + if 'adjusment_type' in vals and not vals.get('number'): + vals['number'] = False # Jangan buat number otomatis dulu + order = super(StockInventory, self).create(vals) - self._assign_number(order) + + if order.adjusment_type: + self._assign_number(order) # Generate number setelah save + return order + + def write(self, vals): + """Jika adjusment_type diubah, generate ulang nomor.""" + res = super(StockInventory, self).write(vals) + if 'adjusment_type' in vals: + for record in self: + self._assign_number(record) + return res + + def copy(self, default=None): + """Saat duplikasi, adjusment_type dikosongkan dan number tidak ikut terduplikasi.""" + default = dict(default or {}, adjusment_type=False, number=False) + return super(StockInventory, self).copy(default=default) |
