[FIX] project, analytic: Template project shouldn't pollute the analytic chart of account.
lp bug: https://launchpad.net/bugs/681463 fixed bzr revid: uco@tinyerp.com-20110117102522-9xpds30ckjny7l9p
This commit is contained in:
parent
87c6885950
commit
42c89ee0cb
|
@ -53,7 +53,7 @@
|
|||
<field name="name">account.analytic.account.tree</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="field_parent">child_ids</field>
|
||||
<field name="field_parent">child_complete_ids</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="red:(date<current_date);black:(date>=current_date);black:(date==False)" string="Analytic account" toolbar="1">
|
||||
<field name="name"/>
|
||||
|
|
|
@ -109,6 +109,20 @@ class account_analytic_account(osv.osv):
|
|||
def _complete_name_calc(self, cr, uid, ids, prop, unknow_none, unknow_dict):
|
||||
res = self.name_get(cr, uid, ids)
|
||||
return dict(res)
|
||||
|
||||
def _child_compute(self, cr, uid, ids, name, arg, context=None):
|
||||
result = {}
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
for account in self.browse(cr, uid, ids, context=context):
|
||||
for child in account.child_ids:
|
||||
if child.state == 'template':
|
||||
account.child_ids.pop(account.child_ids.index(child))
|
||||
result[account.id] = map(lambda x: x.id, account.child_ids)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Account Name', size=128, required=True),
|
||||
|
@ -118,6 +132,7 @@ class account_analytic_account(osv.osv):
|
|||
'description': fields.text('Description'),
|
||||
'parent_id': fields.many2one('account.analytic.account', 'Parent Analytic Account', select=2),
|
||||
'child_ids': fields.one2many('account.analytic.account', 'parent_id', 'Child Accounts'),
|
||||
'child_complete_ids': fields.function(_child_compute, relation='account.analytic.account', method=True, string="Account Hierarchy", type='many2many'),
|
||||
'line_ids': fields.one2many('account.analytic.line', 'account_id', 'Analytic Entries'),
|
||||
'balance': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Balance', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')),
|
||||
'debit': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Debit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')),
|
||||
|
|
Loading…
Reference in New Issue