From 2e3e5853ce9fc3e9568eea3a673c2a154b8de9da Mon Sep 17 00:00:00 2001 From: Mqdd Date: Fri, 19 Dec 2025 15:10:58 +0700 Subject: fix duplicate keywords --- indoteknik_custom/models/keywords.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/indoteknik_custom/models/keywords.py b/indoteknik_custom/models/keywords.py index 41deea3e..fedaa180 100644 --- a/indoteknik_custom/models/keywords.py +++ b/indoteknik_custom/models/keywords.py @@ -53,16 +53,15 @@ class Keywords(models.Model): if not record.name: record.name = record.keywords - @api.constrains('keywords', 'name') + @api.depends('keywords') def check_already_exist(self): model = self.env['keywords'] for record in self: - match = model.search([ '|', - ('name', '=', record.name), - ('keywords', '=', record.keywords) + match = model.search([ + ('keywords', 'ilike', record.keywords) ]) if match: - raise UserError("Tidak bisa create/write/duplicate karena keywords sudah dipakai") + raise UserError("Tidak bisa create karena keywords sudah dipakai") def copy(self): raise UserError("Duplicate Record not allowed") @@ -159,11 +158,13 @@ class Keywords(models.Model): @api.model def create(self, vals): record = super().create(vals) + self.check_already_exist() # record.generate_products() return record def write(self, vals): result = super().write(vals) + self.check_already_exist() # if not self.env.context.get("skip_generate") and not self.skip: # self.generate_products() return result -- cgit v1.2.3