From 71fafee9e2ff7878f77c53134e6f34df7d42c107 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Thu, 2 May 2013 17:13:33 +0200 Subject: [PATCH] [MRG] ~therp-nl/banking-addons/ba7.0-manual_multi_match rev 201 --- .../wizard/banking_transaction_wizard.py | 18 ++-------- .../wizard/banking_transaction_wizard.xml | 33 ++++--------------- 2 files changed, 10 insertions(+), 41 deletions(-) diff --git a/account_banking/wizard/banking_transaction_wizard.py b/account_banking/wizard/banking_transaction_wizard.py index 25f5e85ff..0bc7befae 100644 --- a/account_banking/wizard/banking_transaction_wizard.py +++ b/account_banking/wizard/banking_transaction_wizard.py @@ -94,8 +94,6 @@ class banking_transaction_wizard(osv.osv_memory): # The following fields get never written # they are just triggers for manual matching # which populates regular fields on the transaction - manual_invoice_id = vals.pop('manual_invoice_id', False) - manual_move_line_id = vals.pop('manual_move_line_id', False) manual_invoice_ids = vals.pop('manual_invoice_ids', []) manual_move_line_ids = vals.pop('manual_move_line_ids', []) @@ -169,17 +167,14 @@ class banking_transaction_wizard(osv.osv_memory): _("No entry found for the selected invoice. " + "Try manual reconciliation.")) - if manual_move_line_id or manual_invoice_id \ - or manual_move_line_ids or manual_invoice_ids: + if manual_move_line_ids or manual_invoice_ids: move_line_obj = self.pool.get('account.move.line') invoice_obj = self.pool.get('account.invoice') statement_line_obj = self.pool.get('account.bank.statement.line') manual_invoice_ids = ( - ([manual_invoice_id] if manual_invoice_id else []) + [i[1] for i in manual_invoice_ids if i[0]==4] + [j for i in manual_invoice_ids if i[0]==6 for j in i[2]]) manual_move_line_ids = ( - ([manual_move_line_id] if manual_move_line_id else []) + [i[1] for i in manual_move_line_ids if i[0]==4] + [j for i in manual_move_line_ids if i[0]==6 for j in i[2]]) for wiz in self.browse(cr, uid, ids, context=context): @@ -403,22 +398,15 @@ class banking_transaction_wizard(osv.osv_memory): 'match_type': fields.related( 'import_transaction_id', 'match_type', type="char", size=16, string='Match type', readonly=True), - 'manual_invoice_id': fields.many2one( - 'account.invoice', 'Match this invoice', - domain=[('reconciled', '=', False)]), - 'manual_move_line_id': fields.many2one( - 'account.move.line', 'Or match this entry', - domain=[('account_id.reconcile', '=', True), - ('reconcile_id', '=', False)]), 'manual_invoice_ids': fields.many2many( 'account.invoice', 'banking_transaction_wizard_account_invoice_rel', - 'wizard_id', 'invoice_id', string='Match following invoices', + 'wizard_id', 'invoice_id', string='Match one or more invoices', domain=[('reconciled', '=', False)]), 'manual_move_line_ids': fields.many2many( 'account.move.line', 'banking_transaction_wizard_account_move_line_rel', - 'wizard_id', 'move_line_id', string='Or match this entries', + 'wizard_id', 'move_line_id', string='Or match one or more entries', domain=[('account_id.reconcile', '=', True), ('reconcile_id', '=', False)]), 'payment_option': fields.related('import_transaction_id','payment_option', string='Payment Difference', type='selection', required=True, diff --git a/account_banking/wizard/banking_transaction_wizard.xml b/account_banking/wizard/banking_transaction_wizard.xml index 6a7f5c75b..f41070c16 100644 --- a/account_banking/wizard/banking_transaction_wizard.xml +++ b/account_banking/wizard/banking_transaction_wizard.xml @@ -90,34 +90,15 @@ name="trigger_match" type="object" string="Match again"/> - + - - - + - -