From 1af8ebcaac36dacd625e4145e8d8e5921a0afc8f Mon Sep 17 00:00:00 2001 From: "ARA (OpenERP)" Date: Mon, 10 Jan 2011 16:24:23 +0530 Subject: [PATCH] [REF]account:Add constraint on account.account and account.account.template for type bzr revid: ara@tinyerp.com-20110110105423-g2mvc5yr1lje0vwd --- addons/account/account.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index a5090d3226a..3be44fd8edf 100755 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -418,9 +418,17 @@ class account_account(osv.osv): c_ids = s_ids ids = child_ids return True + + def _check_type(self, cr, uid, ids, context=None): + type = self.browse(cr, uid, ids, context=context) + for t in type: + if t.parent_id.type != 'view' and t.parent_id: + return False + return True _constraints = [ - (_check_recursion, 'Error ! You can not create recursive accounts.', ['parent_id']) + (_check_recursion, 'Error ! You can not create recursive accounts.', ['parent_id']), + (_check_type, 'Internal type of parent account must be view.', ['parent_id']), ] _sql_constraints = [ ('code_company_uniq', 'unique (code,company_id)', 'The code of the account must be unique per company !') @@ -2295,9 +2303,18 @@ class account_account_template(osv.osv): 'nocreate': False, } + def _check_type(self, cr, uid, ids, context=None): + type = self.browse(cr, uid, ids, context=context) + for t in type: + if t.parent_id.type != 'view' and t.parent_id: + return False + return True + _check_recursion = check_cycle _constraints = [ - (_check_recursion, 'Error ! You can not create recursive account templates.', ['parent_id']) + (_check_recursion, 'Error ! You can not create recursive account templates.', ['parent_id']), + (_check_type, 'Internal type of parent account template must be view.', ['parent_id']), + ]