diff --git a/account_advanced_reconcile/__openerp__.py b/account_advanced_reconcile/__openerp__.py index 4b1f8e81..726fe5e2 100644 --- a/account_advanced_reconcile/__openerp__.py +++ b/account_advanced_reconcile/__openerp__.py @@ -1,7 +1,8 @@ -# -*- coding: utf-8 -*- ############################################################################## +# -*- coding: utf-8 -*- +############################################################################## # -# Author: Nicolas Bessi, Joel Grand-Guillaume -# Copyright 2011-2012 Camptocamp SA +# Author: Guewen Baconnier +# Copyright 2012 Camptocamp SA # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -67,4 +68,5 @@ many offices. 'installable': True, 'auto_install': False, 'license': 'AGPL-3', + 'application': True, } diff --git a/account_advanced_reconcile/advanced_reconciliation.py b/account_advanced_reconcile/advanced_reconciliation.py index f1297e0a..dfdb8883 100644 --- a/account_advanced_reconcile/advanced_reconciliation.py +++ b/account_advanced_reconcile/advanced_reconciliation.py @@ -118,110 +118,3 @@ class easy_reconcile_advanced_ref(TransientModel): yield ('ref', (move_line['ref'].lower().strip(), move_line['name'].lower().strip())) - -class easy_reconcile_advanced_tid(TransientModel): - - # tid means for transaction_id - _name = 'easy.reconcile.advanced.tid' - _inherit = 'easy.reconcile.advanced' - _auto = True # False when inherited from AbstractModel - - def _skip_line(self, cr, uid, rec, move_line, context=None): - """ - When True is returned on some conditions, the credit move line - will be skipped for reconciliation. Can be inherited to - skip on some conditions. ie: ref or partner_id is empty. - """ - return not (move_line.get('ref') and move_line.get('partner_id')) - - def _matchers(self, cr, uid, rec, move_line, context=None): - """ - Return the values used as matchers to found the opposite lines - - All the matcher keys in the dict must have their equivalent in - the `_opposite_matchers`. - - The values of each matcher key will be searched in the - one returned by the `_opposite_matchers` - - Must be inherited to implement the matchers for one method - - As instance, it can returns: - return ('ref', move_line['rec']) - - or - return (('partner_id', move_line['partner_id']), - ('ref', "prefix_%s" % move_line['rec'])) - - All the matchers have to be found in the opposite lines - to consider them as "opposite" - - The matchers will be evaluated in the same order than declared - vs the the opposite matchers, so you can gain performance by - declaring first the partners with the less computation. - - All matchers should match with their opposite to be considered - as "matching". - So with the previous example, partner_id and ref have to be - equals on the opposite line matchers. - - :return: tuple of tuples (key, value) where the keys are - the matchers keys - (must be the same than `_opposite_matchers` returns, - and their values to match in the opposite lines. - A matching key can have multiples values. - """ - return (('partner_id', move_line['partner_id']), - ('ref', move_line['ref'].lower().strip())) - - def _opposite_matchers(self, cr, uid, rec, move_line, context=None): - """ - Return the values of the opposite line used as matchers - so the line is matched - - Must be inherited to implement the matchers for one method - It can be inherited to apply some formatting of fields - (strip(), lower() and so on) - - This method is the counterpart of the `_matchers()` method. - - Each matcher have to yield its value respecting the orders - of the `_matchers()`. - - When a matcher does not correspond, the next matchers won't - be evaluated so the ones which need the less computation - have to be executed first. - - If the `_matchers()` returns: - (('partner_id', move_line['partner_id']), - ('ref', move_line['ref'])) - - Here, you should yield : - yield ('partner_id', move_line['partner_id']) - yield ('ref', move_line['ref']) - - Note that a matcher can contain multiple values, as instance, - if for a move line, you want to search from its `ref` in the - `ref` or `name` fields of the opposite move lines, you have to - yield ('partner_id', move_line['partner_id']) - yield ('ref', (move_line['ref'], move_line['name']) - - An OR is used between the values for the same key. - An AND is used between the differents keys. - - :param dict move_line: values of the move_line - :yield: matchers as tuple ('matcher key', value(s)) - """ - yield ('partner_id', move_line['partner_id']) - - prefixes = ('tid_', 'tid_mag_') - refs = [] - if move_line.get('ref'): - lref = move_line['ref'].lower().strip() - refs.append(lref) - refs += ["%s%s" % (s, lref) for s in prefixes] - - if move_line.get('name'): - refs.append(move_line['name'].lower().strip()) - yield ('ref', refs) - diff --git a/account_advanced_reconcile/easy_reconcile.py b/account_advanced_reconcile/easy_reconcile.py index ff5155a1..8204a8c1 100644 --- a/account_advanced_reconcile/easy_reconcile.py +++ b/account_advanced_reconcile/easy_reconcile.py @@ -32,7 +32,6 @@ class account_easy_reconcile_method(Model): methods += [ ('easy.reconcile.advanced.ref', 'Advanced method, payment ref matches with ref or name'), - ('easy.reconcile.advanced.tid', - 'Advanced method, payment Transaction ID matches with ref or name') ] return methods +