[IMP] account template loading speedup 1min on runbot

check parent_id type constraint before create/write
remove parent_id eval 0

bzr revid: al@openerp.com-20120912005721-ofpgkaorlm4zrwgy
This commit is contained in:
Antony Lesuisse 2012-09-12 02:57:21 +02:00
parent eff0bbad02
commit b4441a1ca4
11 changed files with 16 additions and 23 deletions

View File

@ -2516,22 +2516,25 @@ class account_account_template(osv.osv):
'nocreate': False,
}
def _check_type(self, cr, uid, ids, context=None):
if context is None:
context = {}
accounts = self.browse(cr, uid, ids, context=context)
for account in accounts:
if account.parent_id and account.parent_id.type != 'view':
return False
return True
_check_recursion = check_cycle
_constraints = [
(_check_recursion, 'Error!\nYou cannot create recursive account templates.', ['parent_id']),
(_check_type, 'Configuration Error!\nYou cannot define children to an account that has internal type other than "View".', ['type']),
]
def create(self, cr, uid, vals, context=None):
if 'parent_id' in vals:
parent = self.read(cr, uid, [vals['parent_id']], ['type'])
if parent and parent[0]['type'] != 'view':
raise osv.except_osv(_('Warning!'), _("You may only select a parent account of type 'View'."))
return super(account_account_template, self).create(cr, uid, vals, context=context)
def write(self, cr, uid, ids, vals, context=None):
if 'parent_id' in vals:
parent = self.read(cr, uid, [vals['parent_id']], ['type'])
if parent and parent[0]['type'] != 'view':
raise osv.except_osv(_('Warning!'), _("You may only select a parent account of type 'View'."))
return super(account_account_template, self).write(cr, uid, ids, vals, context=context)
def name_get(self, cr, uid, ids, context=None):
if not ids:
return []

View File

@ -45,7 +45,6 @@
<record id="conf_chart0" model="account.account.template">
<field name="code">0</field>
<field name="name">Configurable Account Chart</field>
<field eval="0" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="data_account_type_view"/>
</record>

View File

@ -19,7 +19,6 @@
<record id="chart0" model="account.account">
<field name="code">X0</field>
<field name="name">Chart For Automated Tests</field>
<field eval="0" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="data_account_type_view"/>
</record>

View File

@ -6,7 +6,6 @@
<record id="chart0_en" model="account.account.template">
<field name="code">0</field>
<field name="name">Account Chart CA EN</field>
<field eval="0" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="account.data_account_type_view"/>
</record>

View File

@ -7,7 +7,6 @@
<record id="chartgr_0" model="account.account.template">
<field name="code">0</field>
<field name="name">Γενικό Λογιστικό Σχέδιο</field>
<!--<field eval="0" name="parent_id"/> -->
<field name="type">view</field>
<field name="user_type" ref="account_type_view"/>
</record>

View File

@ -7,7 +7,6 @@
<record id="plan_raiz" model="account.account.template">
<field name="code">-</field>
<field name="name">Plan contable de Guatemala (sencillo)</field>
<field eval="0" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="cuenta_vista"/>
</record>

View File

@ -7,7 +7,6 @@
<record id="plan_raiz" model="account.account.template">
<field name="code">-</field>
<field name="name">Plan contable de Honduras (sencillo)</field>
<field eval="0" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="cuenta_vista"/>
</record>

View File

@ -8,7 +8,6 @@
<field name="name">Partnership/Private Firm Chart of Account</field>
<field name="code">0</field>
<field name="type">view</field>
<field eval="0" name="parent_id"/>
<field name="user_type" ref="account.data_account_type_view"/>
<field name="reconcile" eval="False"/>
</record>
@ -520,4 +519,4 @@
</data>
</openerp>
</openerp>

View File

@ -9,7 +9,6 @@
<field name="name">Public Firm Chart of Account</field>
<field name="code">0</field>
<field name="type">view</field>
<field eval="0" name="parent_id"/>
<field name="user_type" ref="account.data_account_type_view"/>
<field name="reconcile" eval="False"/>
</record>
@ -673,4 +672,4 @@
</record>
</data>
</openerp>
</openerp>

View File

@ -26,7 +26,6 @@
<record id="a_root" model="account.account.template">
<field name="code">0</field>
<field name="name">Simple chart of accounts</field>
<field name="parent_id" eval="False"/>
<field name="type">view</field>
<field name="user_type" ref="acc_type_view"/>
</record>

View File

@ -4,7 +4,6 @@
<record id="uy_code_0" model="account.account.template">
<field name="code">0</field>
<field name="type">view</field>
<field name="parent_id" eval="False"/>
<field name="name">Uruguay - Plan de Cuentas</field>
<field name="user_type" ref="type_view"/>
</record>