[IMP] account: Improve osv memory wizards

bzr revid: rha@tinyerp.com-20110204125809-yuiqwhpoy0j1cyfb
This commit is contained in:
rha@tinyerp.com 2011-02-04 18:28:09 +05:30
parent a54b002a98
commit 87ff4b3c97
15 changed files with 49 additions and 8 deletions

View File

@ -71,6 +71,8 @@ class account_balance(report_sxw.rml_parse, common_report_header):
def lines(self, form, ids=[], done=None):#, level=1):
def _process_child(accounts, disp_acc, parent):
account_rec = [acct for acct in accounts if acct['id']==parent][0]
if isinstance(account_rec['parent_id'], tuple):
account_rec['parent_id'] = account_rec['parent_id'][0]
currency_obj = self.pool.get('res.currency')
acc_id = self.pool.get('account.account').browse(self.cr, self.uid, account_rec['id'])
currency = acc_id.currency_id and acc_id.currency_id or acc_id.company_id.currency_id

View File

@ -148,7 +148,7 @@ class account_move_journal(osv.osv_memory):
journal_id = self._get_journal(cr, uid, context)
period_id = self._get_period(cr, uid, context)
target_move = self.read(cr, uid, ids, [])[0]['target_move']
target_move = self.read(cr, uid, ids, [], context=context)[0]['target_move']
name = _("Journal Items")
if journal_id:

View File

@ -35,6 +35,8 @@ class account_open_closed_fiscalyear(osv.osv_memory):
move_obj = self.pool.get('account.move')
data = self.read(cr, uid, ids, [], context=context)[0]
if isinstance(data['fyear_id'], tuple):
data['fyear_id'] = data['fyear_id'][0]
data_fyear = fy_obj.browse(cr, uid, data['fyear_id'], context=context)
if not data_fyear.end_journal_period_id:
raise osv.except_osv(_('Error !'), _('No End of year journal defined for the fiscal year'))

View File

@ -66,6 +66,14 @@ class account_bs_report(osv.osv_memory):
if context is None:
context = {}
data['form'].update(self.read(cr, uid, ids, ['display_type','reserve_account_id'])[0])
for field in data['form'].keys():
if isinstance(data['form'][field], tuple):
data['form'][field] = data['form'][field][0]
for ctx_field in data['form']['used_context'].keys():
if isinstance(data['form']['used_context'][ctx_field], tuple):
data['form']['used_context'][ctx_field] = data['form']['used_context'][ctx_field][0]
if not data['form']['reserve_account_id']:
raise osv.except_osv(_('Warning'),_('Please define the Reserve and Profit/Loss account for current user company !'))
data = self.pre_print_report(cr, uid, ids, data, context=context)

View File

@ -131,7 +131,10 @@ class account_common_report(osv.osv_memory):
data = {}
data['ids'] = context.get('active_ids', [])
data['model'] = context.get('active_model', 'ir.ui.menu')
data['form'] = self.read(cr, uid, ids, ['date_from', 'date_to', 'fiscalyear_id', 'journal_ids', 'period_from', 'period_to', 'filter', 'chart_account_id', 'target_move'])[0]
data['form'] = self.read(cr, uid, ids, ['date_from', 'date_to', 'fiscalyear_id', 'journal_ids', 'period_from', 'period_to', 'filter', 'chart_account_id', 'target_move'], context=context)[0]
for field in data['form'].keys():
if isinstance(data['form'][field], tuple):
data['form'][field] = data['form'][field][0]
used_context = self._build_contexts(cr, uid, ids, data, context=context)
data['form']['periods'] = used_context.get('periods', False) and used_context['periods'] or []
data['form']['used_context'] = used_context

View File

@ -39,6 +39,12 @@ class account_common_account_report(osv.osv_memory):
if context is None:
context = {}
data['form'].update(self.read(cr, uid, ids, ['display_account'], context=context)[0])
for field in data['form'].keys():
if isinstance(data['form'][field], tuple):
data['form'][field] = data['form'][field][0]
for ctx_field in data['form']['used_context'].keys():
if isinstance(data['form']['used_context'][ctx_field], tuple):
data['form']['used_context'][ctx_field] = data['form']['used_context'][ctx_field][0]
return data
account_common_account_report()

View File

@ -42,6 +42,14 @@ class account_common_journal_report(osv.osv_memory):
if context is None:
context = {}
data['form'].update(self.read(cr, uid, ids, ['amount_currency'], context=context)[0])
for field in data['form'].keys():
if isinstance(data['form'][field], tuple):
data['form'][field] = data['form'][field][0]
for ctx_field in data['form']['used_context'].keys():
if isinstance(data['form']['used_context'][ctx_field], tuple):
data['form']['used_context'][ctx_field] = data['form']['used_context'][ctx_field][0]
fy_ids = data['form']['fiscalyear_id'] and [data['form']['fiscalyear_id']] or self.pool.get('account.fiscalyear').search(cr, uid, [('state', '=', 'draft')], context=context)
period_list = data['form']['periods'] or self.pool.get('account.period').search(cr, uid, [('fiscalyear_id', 'in', fy_ids)], context=context)
data['form']['active_ids'] = self.pool.get('account.journal.period').search(cr, uid, [('journal_id', 'in', data['form']['journal_ids']), ('period_id', 'in', period_list)], context=context)

View File

@ -40,6 +40,12 @@ class account_common_partner_report(osv.osv_memory):
if context is None:
context = {}
data['form'].update(self.read(cr, uid, ids, ['result_selection'], context=context)[0])
for field in data['form'].keys():
if isinstance(data['form'][field], tuple):
data['form'][field] = data['form'][field][0]
for ctx_field in data['form']['used_context'].keys():
if isinstance(data['form']['used_context'][ctx_field], tuple):
data['form']['used_context'][ctx_field] = data['form']['used_context'][ctx_field][0]
return data
account_common_partner_report()

View File

@ -50,7 +50,7 @@ class account_report_general_ledger(osv.osv_memory):
if context is None:
context = {}
data = self.pre_print_report(cr, uid, ids, data, context=context)
data['form'].update(self.read(cr, uid, ids, ['landscape', 'initial_balance', 'amount_currency', 'sortby'])[0])
data['form'].update(self.read(cr, uid, ids, ['landscape', 'initial_balance', 'amount_currency', 'sortby'], context=context)[0])
if not data['form']['fiscalyear_id']:# GTK client problem onchange does not consider in save record
data['form'].update({'initial_balance': False})
if data['form']['landscape']:

View File

@ -42,7 +42,7 @@ class account_partner_balance(osv.osv_memory):
if context is None:
context = {}
data = self.pre_print_report(cr, uid, ids, data, context=context)
data['form'].update(self.read(cr, uid, ids, ['display_partner'])[0])
data['form'].update(self.read(cr, uid, ids, ['display_partner'], context=context)[0])
return {
'type': 'ir.actions.report.xml',
'report_name': 'account.partner.balance',

View File

@ -47,7 +47,7 @@ class account_partner_ledger(osv.osv_memory):
if context is None:
context = {}
data = self.pre_print_report(cr, uid, ids, data, context=context)
data['form'].update(self.read(cr, uid, ids, ['initial_balance', 'reconcil', 'page_split', 'amount_currency'])[0])
data['form'].update(self.read(cr, uid, ids, ['initial_balance', 'reconcil', 'page_split', 'amount_currency'], context=context)[0])
if data['form']['page_split']:
return {
'type': 'ir.actions.report.xml',

View File

@ -42,7 +42,7 @@ class account_pl_report(osv.osv_memory):
if context is None:
context = {}
data = self.pre_print_report(cr, uid, ids, data, context=context)
data['form'].update(self.read(cr, uid, ids, ['display_type'])[0])
data['form'].update(self.read(cr, uid, ids, ['display_type'], context=context)[0])
if data['form']['display_type']:
return {
'type': 'ir.actions.report.xml',

View File

@ -34,6 +34,9 @@ class validate_account_move(osv.osv_memory):
if context is None:
context = {}
data = self.read(cr, uid, ids, context=context)[0]
for field in data.keys():
if isinstance(data[field], tuple):
data[field] = data[field][0]
ids_move = obj_move.search(cr, uid, [('state','=','draft'),('journal_id','=',data['journal_id']),('period_id','=',data['period_id'])])
if not ids_move:
raise osv.except_osv(_('Warning'), _('Specified Journal does not have any account move entries in draft state for this period'))

View File

@ -47,6 +47,9 @@ class account_vat_declaration(osv.osv_memory):
datas = {'ids': context.get('active_ids', [])}
datas['model'] = 'account.tax.code'
datas['form'] = self.read(cr, uid, ids)[0]
for field in datas['form'].keys():
if isinstance(datas['form'][field], tuple):
datas['form'][field] = datas['form'][field][0]
datas['form']['company_id'] = self.pool.get('account.tax.code').browse(cr, uid, [datas['form']['chart_tax_id']], context=context)[0].company_id.id
return {
'type': 'ir.actions.report.xml',

View File

@ -46,7 +46,7 @@ class auction_lots_invoice(osv.osv_memory):
@param context: A standard dictionary
@return: A dictionary which of fields with values.
"""
if context is None:
if context is None:
context = {}
res = super(auction_lots_invoice, self).default_get(cr, uid, fields, context=context)
service = netsvc.LocalService("object_proxy")
@ -103,7 +103,7 @@ class auction_lots_invoice(osv.osv_memory):
@param ids: List of Auction lots make invoice buyers IDs
@return: dictionary of account invoice form.
"""
if context is None:
if context is None:
context = {}
service = netsvc.LocalService("object_proxy")
datas = {'ids' : context.get('active_ids',[])}