From 87ff4b3c97b2d363228e0495c6f1bab2058930d9 Mon Sep 17 00:00:00 2001 From: "rha@tinyerp.com" <> Date: Fri, 4 Feb 2011 18:28:09 +0530 Subject: [PATCH] [IMP] account: Improve osv memory wizards bzr revid: rha@tinyerp.com-20110204125809-yuiqwhpoy0j1cyfb --- addons/account/report/account_balance.py | 2 ++ addons/account/wizard/account_move_journal.py | 2 +- addons/account/wizard/account_open_closed_fiscalyear.py | 2 ++ addons/account/wizard/account_report_balance_sheet.py | 8 ++++++++ addons/account/wizard/account_report_common.py | 5 ++++- addons/account/wizard/account_report_common_account.py | 6 ++++++ addons/account/wizard/account_report_common_journal.py | 8 ++++++++ addons/account/wizard/account_report_common_partner.py | 6 ++++++ addons/account/wizard/account_report_general_ledger.py | 2 +- addons/account/wizard/account_report_partner_balance.py | 2 +- addons/account/wizard/account_report_partner_ledger.py | 2 +- addons/account/wizard/account_report_profit_loss.py | 2 +- addons/account/wizard/account_validate_account_move.py | 3 +++ addons/account/wizard/account_vat.py | 3 +++ addons/auction/wizard/auction_lots_invoice.py | 4 ++-- 15 files changed, 49 insertions(+), 8 deletions(-) diff --git a/addons/account/report/account_balance.py b/addons/account/report/account_balance.py index 8fe9af39e00..e30a6ca3a1f 100644 --- a/addons/account/report/account_balance.py +++ b/addons/account/report/account_balance.py @@ -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 diff --git a/addons/account/wizard/account_move_journal.py b/addons/account/wizard/account_move_journal.py index 47b83bb23f1..db179ff00ff 100644 --- a/addons/account/wizard/account_move_journal.py +++ b/addons/account/wizard/account_move_journal.py @@ -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: diff --git a/addons/account/wizard/account_open_closed_fiscalyear.py b/addons/account/wizard/account_open_closed_fiscalyear.py index 39c5be00f15..e4562d02ca9 100644 --- a/addons/account/wizard/account_open_closed_fiscalyear.py +++ b/addons/account/wizard/account_open_closed_fiscalyear.py @@ -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')) diff --git a/addons/account/wizard/account_report_balance_sheet.py b/addons/account/wizard/account_report_balance_sheet.py index b69c6d65d71..ef6e02c0d37 100644 --- a/addons/account/wizard/account_report_balance_sheet.py +++ b/addons/account/wizard/account_report_balance_sheet.py @@ -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) diff --git a/addons/account/wizard/account_report_common.py b/addons/account/wizard/account_report_common.py index a4f87f55da8..f7d7cac1c77 100644 --- a/addons/account/wizard/account_report_common.py +++ b/addons/account/wizard/account_report_common.py @@ -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 diff --git a/addons/account/wizard/account_report_common_account.py b/addons/account/wizard/account_report_common_account.py index 7205a9e53bf..ac496e9d22e 100644 --- a/addons/account/wizard/account_report_common_account.py +++ b/addons/account/wizard/account_report_common_account.py @@ -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() diff --git a/addons/account/wizard/account_report_common_journal.py b/addons/account/wizard/account_report_common_journal.py index 8e9db058d31..741b171bfba 100644 --- a/addons/account/wizard/account_report_common_journal.py +++ b/addons/account/wizard/account_report_common_journal.py @@ -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) diff --git a/addons/account/wizard/account_report_common_partner.py b/addons/account/wizard/account_report_common_partner.py index 05003041eeb..1cf3dfa5a35 100644 --- a/addons/account/wizard/account_report_common_partner.py +++ b/addons/account/wizard/account_report_common_partner.py @@ -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() diff --git a/addons/account/wizard/account_report_general_ledger.py b/addons/account/wizard/account_report_general_ledger.py index c08894bfadd..e3ad832e6fb 100644 --- a/addons/account/wizard/account_report_general_ledger.py +++ b/addons/account/wizard/account_report_general_ledger.py @@ -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']: diff --git a/addons/account/wizard/account_report_partner_balance.py b/addons/account/wizard/account_report_partner_balance.py index eff9e71cb72..5853824e0ed 100644 --- a/addons/account/wizard/account_report_partner_balance.py +++ b/addons/account/wizard/account_report_partner_balance.py @@ -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', diff --git a/addons/account/wizard/account_report_partner_ledger.py b/addons/account/wizard/account_report_partner_ledger.py index 1a09a6344f4..4211b1db866 100644 --- a/addons/account/wizard/account_report_partner_ledger.py +++ b/addons/account/wizard/account_report_partner_ledger.py @@ -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', diff --git a/addons/account/wizard/account_report_profit_loss.py b/addons/account/wizard/account_report_profit_loss.py index c526550e789..f84b5db8f1d 100644 --- a/addons/account/wizard/account_report_profit_loss.py +++ b/addons/account/wizard/account_report_profit_loss.py @@ -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', diff --git a/addons/account/wizard/account_validate_account_move.py b/addons/account/wizard/account_validate_account_move.py index ddcfa2c5353..c2fcfbfd5ab 100644 --- a/addons/account/wizard/account_validate_account_move.py +++ b/addons/account/wizard/account_validate_account_move.py @@ -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')) diff --git a/addons/account/wizard/account_vat.py b/addons/account/wizard/account_vat.py index 863ae055428..3e77979cd3b 100644 --- a/addons/account/wizard/account_vat.py +++ b/addons/account/wizard/account_vat.py @@ -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', diff --git a/addons/auction/wizard/auction_lots_invoice.py b/addons/auction/wizard/auction_lots_invoice.py index 66bb5e42f2b..d06dcf1db0b 100644 --- a/addons/auction/wizard/auction_lots_invoice.py +++ b/addons/auction/wizard/auction_lots_invoice.py @@ -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 buyer’s 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',[])}