hai ragione:
from osv import fields, osv
import os
from tools.translate import _
class product_product(osv.osv):
_name = 'product.product'
_inherit = 'product.product'
def ean13_esistenti(self, cr, uid, vals, ids=False):
if ('ean13' in vals) and vals:
ean13_esistente_ids = self.pool.get('product.product').search(cr, uid, [('ean13', '=', vals['ean13'])])
if ids and ids in ean13_esistente_ids:
ean13_attuale_id = ean13_esistente_ids.index(ids)
ean13_esistente_ids = ean13_esistente_ids.remove(ids)
#
Se esiste solleva un errore
if ean13_esistente_ids:
raise osv.except_osv(_('Attenzione!'), _('Codice ean13 già esistente per un altro prodotto! %s'%(
[item.default_code for item in self.pool.get('product.product').browse(cr, uid, ean13_esistente_ids, context=context)])))
return False
return True