[FIX] account.account.type getter function of field report_type now handle ValueError raised by get_object_reference()
bzr revid: cto@openerp.com-20130827064025-ebw8skxpku1jad20
This commit is contained in:
parent
98541c5827
commit
aef380c5c8
|
@ -137,16 +137,27 @@ class account_account_type(osv.osv):
|
||||||
_name = "account.account.type"
|
_name = "account.account.type"
|
||||||
_description = "Account Type"
|
_description = "Account Type"
|
||||||
|
|
||||||
def _get_current_report_type(self, cr, uid, ids, name, arg, context=None):
|
def _get_financial_report_ref(self, cr, uid, context=None):
|
||||||
obj_data = self.pool.get('ir.model.data')
|
obj_data = self.pool.get('ir.model.data')
|
||||||
obj_financial_report = self.pool.get('account.financial.report')
|
obj_financial_report = self.pool.get('account.financial.report')
|
||||||
|
financial_report_ref = {}
|
||||||
|
for key, financial_report in [
|
||||||
|
('asset','account_financial_report_assets0'),
|
||||||
|
('liability','account_financial_report_liability0'),
|
||||||
|
('income','account_financial_report_income0'),
|
||||||
|
('expense','account_financial_report_expense0'),
|
||||||
|
]:
|
||||||
|
try:
|
||||||
|
financial_report_ref[key] = obj_financial_report.browse(cr, uid,
|
||||||
|
obj_data.get_object_reference(cr, uid, 'account', financial_report)[1],
|
||||||
|
context=context)
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
return financial_report_ref
|
||||||
|
|
||||||
|
def _get_current_report_type(self, cr, uid, ids, name, arg, context=None):
|
||||||
res = {}
|
res = {}
|
||||||
financial_report_ref = {
|
financial_report_ref = self._get_financial_report_ref(cr, uid, context=context)
|
||||||
'asset': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_assets0')[1], context=context),
|
|
||||||
'liability': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_liability0')[1], context=context),
|
|
||||||
'income': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_income0')[1], context=context),
|
|
||||||
'expense': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_expense0')[1], context=context),
|
|
||||||
}
|
|
||||||
for record in self.browse(cr, uid, ids, context=context):
|
for record in self.browse(cr, uid, ids, context=context):
|
||||||
res[record.id] = 'none'
|
res[record.id] = 'none'
|
||||||
for key, financial_report in financial_report_ref.items():
|
for key, financial_report in financial_report_ref.items():
|
||||||
|
@ -157,15 +168,9 @@ class account_account_type(osv.osv):
|
||||||
|
|
||||||
def _save_report_type(self, cr, uid, account_type_id, field_name, field_value, arg, context=None):
|
def _save_report_type(self, cr, uid, account_type_id, field_name, field_value, arg, context=None):
|
||||||
field_value = field_value or 'none'
|
field_value = field_value or 'none'
|
||||||
obj_data = self.pool.get('ir.model.data')
|
|
||||||
obj_financial_report = self.pool.get('account.financial.report')
|
obj_financial_report = self.pool.get('account.financial.report')
|
||||||
#unlink if it exists somewhere in the financial reports related to BS or PL
|
#unlink if it exists somewhere in the financial reports related to BS or PL
|
||||||
financial_report_ref = {
|
financial_report_ref = self._get_financial_report_ref(cr, uid, context=context)
|
||||||
'asset': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_assets0')[1], context=context),
|
|
||||||
'liability': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_liability0')[1], context=context),
|
|
||||||
'income': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_income0')[1], context=context),
|
|
||||||
'expense': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_expense0')[1], context=context),
|
|
||||||
}
|
|
||||||
for key, financial_report in financial_report_ref.items():
|
for key, financial_report in financial_report_ref.items():
|
||||||
list_ids = [x.id for x in financial_report.account_type_ids]
|
list_ids = [x.id for x in financial_report.account_type_ids]
|
||||||
if account_type_id in list_ids:
|
if account_type_id in list_ids:
|
||||||
|
|
Loading…
Reference in New Issue