summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/res_partner.py
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-03-05 14:02:13 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-03-05 14:02:13 +0700
commit006c1171970a3ade5033d8bb112b7f6094b35d11 (patch)
treeff11743c553ebb6682b0640171318d9b322d427c /indoteknik_custom/models/res_partner.py
parent660913a45a1efe08f308d405e1011efc9744c553 (diff)
parent92b6da28414fed56732f86e1f04ea2fac3464d7d (diff)
Merge branch 'odoo-production' into dev/wms
# Conflicts: # indoteknik_custom/models/__init__.py # indoteknik_custom/models/stock_immediate_transfer.py # indoteknik_custom/models/stock_picking.py
Diffstat (limited to 'indoteknik_custom/models/res_partner.py')
-rw-r--r--indoteknik_custom/models/res_partner.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py
index f081e274..7e574a72 100644
--- a/indoteknik_custom/models/res_partner.py
+++ b/indoteknik_custom/models/res_partner.py
@@ -147,6 +147,7 @@ class ResPartner(models.Model):
"customer is crossed blocking amount."
"Set its value to 0.00 to disable "
"this feature", tracking=3)
+ telegram_id = fields.Char(string="Telegram")
@api.model
def _default_payment_term(self):
@@ -182,6 +183,19 @@ class ResPartner(models.Model):
# # raise UserError('You name it')
#
return res
+
+ @api.constrains('name')
+ def _check_duplicate_name(self):
+ for record in self:
+ if record.name:
+ # Mencari partner lain yang memiliki nama sama (case-insensitive)
+ existing_partner = self.env['res.partner'].search([
+ ('id', '!=', record.id), # Hindari mencocokkan diri sendiri
+ ('name', '=', record.name) # Case-insensitive search
+ ], limit=1)
+
+ if existing_partner:
+ raise ValidationError(f"Nama '{record.name}' sudah digunakan oleh partner lain!")
def write(self, vals):
# Fungsi rekursif untuk meng-update semua child, termasuk child dari child