From da9e7eb80aeb5293574e2a5c1872f446cc572371 Mon Sep 17 00:00:00 2001 From: Stefan Rijnhart Date: Wed, 1 May 2013 17:12:53 +0200 Subject: [PATCH 1/5] [IMP] Single manual reconcile is redundant when we can reconcile with multiple invoices in the next tab --- .../wizard/banking_transaction_wizard.py | 18 ++--------- .../wizard/banking_transaction_wizard.xml | 30 ++----------------- 2 files changed, 5 insertions(+), 43 deletions(-) diff --git a/account_banking/wizard/banking_transaction_wizard.py b/account_banking/wizard/banking_transaction_wizard.py index 8390ccc66..a45399181 100644 --- a/account_banking/wizard/banking_transaction_wizard.py +++ b/account_banking/wizard/banking_transaction_wizard.py @@ -96,8 +96,6 @@ class banking_transaction_wizard(orm.TransientModel): # 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', []) @@ -171,17 +169,14 @@ class banking_transaction_wizard(orm.TransientModel): _("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): @@ -391,22 +386,15 @@ class banking_transaction_wizard(orm.TransientModel): '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 a59861d39..cbcc3cf18 100644 --- a/account_banking/wizard/banking_transaction_wizard.xml +++ b/account_banking/wizard/banking_transaction_wizard.xml @@ -82,35 +82,9 @@ name="trigger_match" type="object" string="Match again"/> - + - - - - -