summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-01-16 15:51:33 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-01-16 15:51:33 +0700
commit11a561355208a403d635b16d6c306cc9f19eb714 (patch)
treefab36fb3505ac969e8d6071296f08fb9ddb35f0d
parent6424192cdcb34ff2ea57a19b5ee41bf4bf68870c (diff)
change name
-rw-r--r--indoteknik_custom/models/stock_picking.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py
index cf5b0502..4c19cb3a 100644
--- a/indoteknik_custom/models/stock_picking.py
+++ b/indoteknik_custom/models/stock_picking.py
@@ -897,17 +897,36 @@ class StockPicking(models.Model):
if vals.get('picking_type_code') == 'incoming' and vals.get('location_dest_id') == 58:
if 'name' in vals and vals['name'].startswith('BU/IN/'):
vals['name'] = vals['name'].replace('BU/IN/', 'BU/INPUT/', 1)
+
+ if vals.get('picking_type_code') == 'internal' and vals.get('location_id') == 58:
+ if 'name' in vals and vals['name'].startswith('BU/INT'):
+ new_name = vals['name'].replace('BU/INT', 'BU/IN', 1)
+ # Periksa apakah nama sudah ada
+ if self.env['stock.picking'].search_count([('name', '=', new_name), ('company_id', '=', vals.get('company_id'))]) > 0:
+ new_name = f"{new_name}-DUP"
+ vals['name'] = new_name
return super(StockPicking, self).create(vals)
def write(self, vals):
self._use_faktur(vals)
for picking in self:
+ # Periksa apakah kondisi terpenuhi saat data diubah
if (vals.get('picking_type_code', picking.picking_type_code) == 'incoming' and
vals.get('location_dest_id', picking.location_dest_id.id) == 58):
if 'name' in vals or picking.name.startswith('BU/IN/'):
name_to_modify = vals.get('name', picking.name)
if name_to_modify.startswith('BU/IN/'):
vals['name'] = name_to_modify.replace('BU/IN/', 'BU/INPUT/', 1)
+
+ if (vals.get('picking_type_code', picking.picking_type_code) == 'internal' and
+ vals.get('location_id', picking.location_id.id) == 58):
+ name_to_modify = vals.get('name', picking.name)
+ if name_to_modify.startswith('BU/INT'):
+ new_name = name_to_modify.replace('BU/INT', 'BU/IN', 1)
+ # Periksa apakah nama sudah ada
+ if self.env['stock.picking'].search_count([('name', '=', new_name), ('company_id', '=', picking.company_id.id)]) > 0:
+ new_name = f"{new_name}-DUP"
+ vals['name'] = new_name
return super(StockPicking, self).write(vals)
def _use_faktur(self, vals):