summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-02-06 16:40:34 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-02-06 16:40:34 +0700
commit1abbebda5ab707b014e8e01a7ab418861beef420 (patch)
treebc29280adba0e88dc3527009bc8c120d69c6bf50
parent11ef44bdb2695125048fe7fcfea25dbf459a3d9e (diff)
cr validation duplicate contact
-rw-r--r--indoteknik_custom/models/res_partner.py19
1 files changed, 8 insertions, 11 deletions
diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py
index 844d47f9..7e574a72 100644
--- a/indoteknik_custom/models/res_partner.py
+++ b/indoteknik_custom/models/res_partner.py
@@ -188,17 +188,14 @@ class ResPartner(models.Model):
def _check_duplicate_name(self):
for record in self:
if record.name:
- query = """
- SELECT name FROM res_partner
- WHERE id != %s
- AND levenshtein(lower(name), lower(%s)) <= 1
- LIMIT 1
- """
- self.env.cr.execute(query, (record.id, record.name))
- duplicate = self.env.cr.fetchone()
-
- if duplicate:
- raise ValidationError(f"Nama '{record.name}' mirip dengan '{duplicate[0]}', harap gunakan nama yang unik!")
+ # 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