def default_get(self, cr, uid, fields, context=None):
res = super(wizard_multi_charts_accounts, self).default_get(cr, uid, fields, context=context)
tax_templ_obj = self.pool.get('account.tax.template')
+ account_chart_template = self.pool['account.chart.template']
- data_obj = self.pool.get('ir.model.data')
if 'bank_accounts_id' in fields:
res.update({'bank_accounts_id': [{'acc_name': _('Cash'), 'account_type': 'cash'},{'acc_name': _('Bank'), 'account_type': 'bank'}]})
currency_id = company_obj.on_change_country(cr, uid, company_id, country_id, context=context)['value']['currency_id']
res.update({'currency_id': currency_id})
- ids = self.pool.get('account.chart.template').search(cr, uid, [('visible', '=', True)], context=context)
+ ids = account_chart_template.search(cr, uid, [('visible', '=', True)], context=context)
if ids:
+ #in order to set default chart which was last created set max of ids.
+ chart_id = max(ids)
+ if context.get("default_charts"):
- data_ids = data_obj.search(cr, uid, [('model', '=', 'account.chart.template'), ('module', '=', context.get("default_charts"))], limit=1, context=context)
- if data_ids:
- chart_id = data_obj.browse(cr, uid, data_ids[0], context=context).res_id
++ model_data = self.pool.get('ir.model.data').search_read(cr, uid, [('model','=','account.chart.template'),('module','=',context.get("default_charts"))], ['res_id'], context=context)
++ if model_data:
++ chart_id = model_data[0]['res_id']
+ chart = account_chart_template.browse(cr, uid, chart_id, context=context)
+ chart_hierarchy_ids = self._get_chart_parent_ids(cr, uid, chart, context=context)
if 'chart_template_id' in fields:
- #in order to get set default chart which was last created set max of ids.
- chart_id = max(ids)
- if context.get("default_charts"):
- model_data = self.pool.get('ir.model.data').search_read(cr, uid, [('model','=','account.chart.template'),('module','=',context.get("default_charts"))], ['res_id'], context=context)
- if model_data:
- chart_id = model_data[0]['res_id']
- res.update({'only_one_chart_template': len(ids) == 1, 'chart_template_id': chart_id})
+ res.update({'only_one_chart_template': len(ids) == 1,
+ 'chart_template_id': chart_id})
if 'sale_tax' in fields:
- sale_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id"
- , "=", ids[0]), ('type_tax_use', 'in', ('sale','all'))], order="sequence")
+ sale_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id", "in", chart_hierarchy_ids),
+ ('type_tax_use', 'in', ('sale','all'))],
+ order="sequence")
res.update({'sale_tax': sale_tax_ids and sale_tax_ids[0] or False})
if 'purchase_tax' in fields:
- purchase_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id"
- , "=", ids[0]), ('type_tax_use', 'in', ('purchase','all'))], order="sequence")
+ purchase_tax_ids = tax_templ_obj.search(cr, uid, [("chart_template_id", "in", chart_hierarchy_ids),
+ ('type_tax_use', 'in', ('purchase','all'))],
+ order="sequence")
res.update({'purchase_tax': purchase_tax_ids and purchase_tax_ids[0] or False})
res.update({
'purchase_tax_rate': 15.0,
partner_id, partner_name<partner_email> or partner_name, reason """
if email and not partner:
# get partner info from email
- partner_info = self.message_get_partner_info_from_emails(cr, uid, [email], context=context, res_id=obj.id)
+ partner_info = self.message_partner_info_from_emails(cr, uid, obj.id, [email], context=context)[0]
- if partner_info.get('partner_id'):
- partner = self.pool.get('res.partner').browse(cr, SUPERUSER_ID, [partner_info.get('partner_id')], context=context)[0]
+ if partner_info and partner_info[0].get('partner_id'):
+ partner = self.pool.get('res.partner').browse(cr, SUPERUSER_ID, [partner_info[0]['partner_id']], context=context)[0]
if email and email in [val[1] for val in result[obj.id]]: # already existing email -> skip
return result
if partner and partner in obj.message_follower_ids: # recipient already in the followers -> skip