ACCOUNT: add check recursion in account.tax.code

bzr revid: ced-188ddf0d68f8f791fc81a473e8d2545972ced237
This commit is contained in:
ced
2007-06-27 06:18:48 +00:00
parent 17da2d2c79
commit a2ce7ee704
+12 -12
View File
@@ -850,19 +850,19 @@ class account_tax_code(osv.osv):
_defaults = {
'company_id': _default_company,
}
#def _check_recursion(self, cr, uid, ids):
# level = 100
# while len(ids):
# cr.execute('select distinct parent_id from account_account_rel where child_id in ('+','.join(map(str,ids))+')')
# ids = filter(None, map(lambda x:x[0], cr.fetchall()))
# if not level:
# return False
# level -= 1
# return True
def _check_recursion(self, cr, uid, ids):
level = 100
while len(ids):
cr.execute('select distinct parent_id from account_tax_code where id in ('+','.join(map(str,ids))+')')
ids = filter(None, map(lambda x:x[0], cr.fetchall()))
if not level:
return False
level -= 1
return True
#_constraints = [
# (_check_recursion, 'Error ! You can not create recursive accounts.', ['parent_id'])
#]
_constraints = [
(_check_recursion, 'Error ! You can not create recursive accounts.', ['parent_id'])
]
_order = 'name'
account_tax_code()