mirror of
https://github.com/OCA/account-reconcile.git
synced 2025-01-20 12:27:39 +02:00
[PEP8] max-line-length=80
This commit is contained in:
committed by
Laurent Mignon (aka lmi)
parent
b25332284f
commit
55e53a6d5d
@@ -18,7 +18,6 @@
|
||||
#
|
||||
#
|
||||
from openerp.osv.orm import Model
|
||||
from openerp.addons.base_iban import base_iban
|
||||
|
||||
|
||||
class res_partner_bank(Model):
|
||||
@@ -26,8 +25,8 @@ class res_partner_bank(Model):
|
||||
|
||||
def search_by_acc_number(self, cr, uid, acc_number, context=None):
|
||||
'''
|
||||
Try to find the Account Number using a 'like' operator to avoid problems with the input mask
|
||||
used to store the value.
|
||||
Try to find the Account Number using a 'like' operator to avoid
|
||||
problems with the input mask used to store the value.
|
||||
'''
|
||||
# first try with an exact match
|
||||
ids = self.search(cr,
|
||||
@@ -43,7 +42,11 @@ class res_partner_bank(Model):
|
||||
FROM
|
||||
res_partner_bank
|
||||
WHERE
|
||||
regexp_replace(acc_number,'([^[:alnum:]])', '','g') ilike regexp_replace(%s,'([^[:alnum:]])', '','g') """,
|
||||
(acc_number,))
|
||||
regexp_replace(acc_number,'([^[:alnum:]])', '','g')
|
||||
ilike
|
||||
regexp_replace(%s,'([^[:alnum:]])', '','g')
|
||||
""", (acc_number,))
|
||||
# apply security constraints by using the orm
|
||||
return self.search(cr, uid, [('id', 'in', [r[0] for r in cr.fetchall()])])
|
||||
return self.search(cr, uid,
|
||||
[('id', 'in', [r[0] for r in cr.fetchall()])],
|
||||
context=context)
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
from openerp.tools.translate import _
|
||||
from openerp.osv.orm import Model
|
||||
from openerp.osv import fields
|
||||
from openerp.addons.account_statement_base_completion.statement import ErrorTooManyPartner
|
||||
from openerp.addons.account_statement_base_completion.statement \
|
||||
import ErrorTooManyPartner
|
||||
|
||||
|
||||
class AccountStatementCompletionRule(Model):
|
||||
@@ -61,18 +62,30 @@ class AccountStatementCompletionRule(Model):
|
||||
partner_acc_number,
|
||||
context=context)
|
||||
if len(ids) > 1:
|
||||
raise ErrorTooManyPartner(_('Line named "%s" (Ref:%s) was matched by more than '
|
||||
'one partner for account number "%s".') % (st_line['name'], st_line['ref'], partner_acc_number))
|
||||
raise ErrorTooManyPartner(_('Line named "%s" (Ref:%s) was matched '
|
||||
'by more than one partner for account '
|
||||
'number "%s".') %
|
||||
(st_line['name'],
|
||||
st_line['ref'],
|
||||
partner_acc_number))
|
||||
if len(ids) == 1:
|
||||
partner = res_bank_obj.browse(cr, uid, ids[0], context=context).partner_id
|
||||
partner = res_bank_obj.browse(cr,
|
||||
uid,
|
||||
ids[0],
|
||||
context=context).partner_id
|
||||
res['partner_id'] = partner.id
|
||||
profile_id = st_line['profile_id']
|
||||
m_acc_id = st_line['master_account_id']
|
||||
partner_id = res.get('partner_id', False)
|
||||
line_type = st_line['type']
|
||||
amout = st_line['amount'] if st_line['amount'] else 0.0
|
||||
st_vals = st_obj.get_values_for_line(cr,
|
||||
uid,
|
||||
profile_id=st_line['profile_id'],
|
||||
master_account_id=st_line['master_account_id'],
|
||||
partner_id=res.get('partner_id', False),
|
||||
line_type=st_line['type'],
|
||||
amount=st_line['amount'] if st_line['amount'] else 0.0,
|
||||
profile_id=profile_id,
|
||||
master_account_id=m_acc_id,
|
||||
partner_id=partner_id,
|
||||
line_type=line_type,
|
||||
amount=amout,
|
||||
context=context)
|
||||
res.update(st_vals)
|
||||
return res
|
||||
@@ -82,7 +95,8 @@ class AccountStatementLine(Model):
|
||||
_inherit = "account.bank.statement.line"
|
||||
|
||||
_columns = {
|
||||
# 'additional_bank_fields' : fields.serialized('Additional infos from bank', help="Used by completion and import system."),
|
||||
# 'additional_bank_fields' : fields.serialized('Additional infos from
|
||||
# bank', help="Used by completion and import system."),
|
||||
'partner_acc_number': fields.sparse(
|
||||
type='char',
|
||||
string='Account Number',
|
||||
|
||||
@@ -31,9 +31,12 @@ class bankaccount_completion(common.TransactionCase):
|
||||
super(bankaccount_completion, self).setUp()
|
||||
self.company_a = self.browse_ref('base.main_company')
|
||||
self.profile_obj = self.registry("account.statement.profile")
|
||||
self.account_bank_statement_obj = self.registry("account.bank.statement")
|
||||
self.account_bank_statement_line_obj = self.registry("account.bank.statement.line")
|
||||
self.completion_rule_id = self.ref('account_statement_bankaccount_completion.bank_statement_completion_rule_10')
|
||||
self.acc_bk_stmt = self.registry("account.bank.statement")
|
||||
self.acc_bk_stmt_line_obj = \
|
||||
self.registry("account.bank.statement.line")
|
||||
self.completion_rule_id = \
|
||||
self.ref('account_statement_bankaccount_completion.'
|
||||
'bank_statement_completion_rule_10')
|
||||
self.journal_id = self.ref("account.bank_journal")
|
||||
self.partner_id = self.ref('base.main_partner')
|
||||
self.account_id = self.ref("account.a_recv")
|
||||
@@ -45,61 +48,85 @@ class bankaccount_completion(common.TransactionCase):
|
||||
"journal_id": self.journal_id,
|
||||
"rule_ids": [(6, 0, [self.completion_rule_id])]})
|
||||
# Create a bank statement
|
||||
self.statement_id = self.account_bank_statement_obj.create(self.cr, self.uid, {
|
||||
"balance_end_real": 0.0,
|
||||
vals = {"balance_end_real": 0.0,
|
||||
"balance_start": 0.0,
|
||||
"date": time.strftime('%Y-%m-%d'),
|
||||
"journal_id": self.journal_id,
|
||||
"profile_id": self.profile_id
|
||||
|
||||
})
|
||||
"profile_id": self.profile_id,
|
||||
}
|
||||
self.statement_id = self.acc_bk_stmt.create(self.cr,
|
||||
self.uid,
|
||||
vals)
|
||||
|
||||
# Add a bank account number to the partner
|
||||
self.res_partner_bank_obj = self.registry('res.partner.bank')
|
||||
self.res_partner_bank_id = self.res_partner_bank_obj.create(self.cr, self.uid, {
|
||||
"state": "bank",
|
||||
vals = {"state": "bank",
|
||||
"company_id": self.company_a.id,
|
||||
"partner_id": self.partner_id,
|
||||
"acc_number": ACC_NUMBER,
|
||||
"footer": True,
|
||||
"bank_name": "Reserve"
|
||||
})
|
||||
"bank_name": "Reserve",
|
||||
}
|
||||
self.res_partner_bank_id = self.res_partner_bank_obj.create(self.cr,
|
||||
self.uid,
|
||||
vals)
|
||||
|
||||
def test_00(self):
|
||||
"""Test complete partner_id from bank account number
|
||||
Test the automatic completion of the partner_id based on the account number associated to the
|
||||
statement line
|
||||
Test the automatic completion of the partner_id based on the accoun
|
||||
t number associated to the statement line
|
||||
"""
|
||||
for bank_acc_number in [ACC_NUMBER, ACC_NUMBER.replace(" ", ""), ACC_NUMBER.replace(" ", "-")]:
|
||||
# check the completion for well formatted and not well formatted account number
|
||||
self.res_partner_bank_obj.write(self.cr, self.uid, self.res_partner_bank_id, {
|
||||
"acc_number": bank_acc_number,
|
||||
})
|
||||
for acc_number in [ACC_NUMBER, ACC_NUMBER.replace(" ", ""), ACC_NUMBER.replace(" ", "-"), " BE38-7330 4038-5372 "]:
|
||||
statement_line_id = self.account_bank_statement_line_obj.create(self.cr, self.uid, {
|
||||
'amount': 1000.0,
|
||||
for bank_acc_number in [ACC_NUMBER, ACC_NUMBER.replace(" ", ""),
|
||||
ACC_NUMBER.replace(" ", "-")]:
|
||||
# check the completion for well formatted and not well
|
||||
# formatted account number
|
||||
self.res_partner_bank_obj.write(self.cr,
|
||||
self.uid,
|
||||
self.res_partner_bank_id,
|
||||
{"acc_number": bank_acc_number}
|
||||
)
|
||||
for acc_number in [ACC_NUMBER, ACC_NUMBER.replace(" ", ""),
|
||||
ACC_NUMBER.replace(" ", "-"),
|
||||
" BE38-7330 4038-5372 "]:
|
||||
vals = {'amount': 1000.0,
|
||||
'name': 'EXT001',
|
||||
'ref': 'My ref',
|
||||
'statement_id': self.statement_id,
|
||||
'partner_acc_number': acc_number
|
||||
})
|
||||
statement_line = self.account_bank_statement_line_obj.browse(self.cr, self.uid, statement_line_id)
|
||||
self.assertFalse(statement_line.partner_id, "Partner_id must be blank before completion")
|
||||
statement_obj = self.account_bank_statement_obj.browse(self.cr, self.uid, self.statement_id)
|
||||
}
|
||||
line_id = self.acc_bk_stmt_line_obj.create(self.cr,
|
||||
self.uid,
|
||||
vals)
|
||||
line = self.acc_bk_stmt_line_obj.browse(self.cr,
|
||||
self.uid,
|
||||
line_id)
|
||||
self.assertFalse(line.partner_id,
|
||||
'Partner_id must be blank before completion')
|
||||
statement_obj = self.acc_bk_stmt.browse(self.cr,
|
||||
self.uid,
|
||||
self.statement_id)
|
||||
statement_obj.button_auto_completion()
|
||||
statement_line = self.account_bank_statement_line_obj.browse(self.cr, self.uid, statement_line_id)
|
||||
self.assertEquals(self.partner_id, statement_line.partner_id['id'], "Missing expected partner id after completion")
|
||||
|
||||
statement_line_id = self.account_bank_statement_line_obj.create(self.cr, self.uid, {
|
||||
'amount': 1000.0,
|
||||
line = self.acc_bk_stmt_line_obj.browse(self.cr,
|
||||
self.uid,
|
||||
line_id)
|
||||
self.assertEquals(self.partner_id, line.partner_id['id'],
|
||||
'Missing expected partner id after '
|
||||
'completion')
|
||||
vals = {'amount': 1000.0,
|
||||
'name': 'EXT001',
|
||||
'ref': 'My ref',
|
||||
'statement_id': self.statement_id,
|
||||
'partner_acc_number': 'BE38a7330.4038-5372.'
|
||||
})
|
||||
statement_line = self.account_bank_statement_line_obj.browse(self.cr, self.uid, statement_line_id)
|
||||
self.assertFalse(statement_line.partner_id, "Partner_id must be blank before completion")
|
||||
statement_obj = self.account_bank_statement_obj.browse(self.cr, self.uid, self.statement_id)
|
||||
'partner_acc_number': 'BE38a7330.4038-5372.',
|
||||
}
|
||||
line_id = self.acc_bk_stmt_line_obj.create(self.cr,
|
||||
self.uid,
|
||||
vals)
|
||||
line = self.acc_bk_stmt_line_obj.browse(self.cr, self.uid, line_id)
|
||||
self.assertFalse(line.partner_id,
|
||||
'Partner_id must be blank before completion')
|
||||
statement_obj = self.acc_bk_stmt.browse(self.cr,
|
||||
self.uid,
|
||||
self.statement_id)
|
||||
statement_obj.button_auto_completion()
|
||||
statement_line = self.account_bank_statement_line_obj.browse(self.cr, self.uid, statement_line_id)
|
||||
self.assertFalse(statement_line.partner_id.id)
|
||||
line = self.acc_bk_stmt_line_obj.browse(self.cr, self.uid, line_id)
|
||||
self.assertFalse(line.partner_id.id)
|
||||
|
||||
@@ -49,7 +49,7 @@ class base_completion(common.TransactionCase):
|
||||
self.profile_obj = self.registry("account.statement.profile")
|
||||
self.partner_obj = self.registry("res.partner")
|
||||
self.account_bank_statement_obj = self.registry("account.bank.statement")
|
||||
self.account_bank_statement_line_obj = self.registry("account.bank.statement.line")
|
||||
self.acc_bk_stmt_line_obj = self.registry("account.bank.statement.line")
|
||||
self.journal_id = self.ref("account.bank_journal")
|
||||
self.partner_id = self.ref('base.main_partner')
|
||||
self.account_id = self.ref("account.a_recv")
|
||||
@@ -78,17 +78,17 @@ class base_completion(common.TransactionCase):
|
||||
|
||||
for case in NAMES_COMPLETION_CASES:
|
||||
self.partner_obj.write(self.cr, self.uid, self.partner_id, {'name': case.partner_name})
|
||||
statement_line_id = self.account_bank_statement_line_obj.create(self.cr, self.uid, {
|
||||
statement_line_id = self.acc_bk_stmt_line_obj.create(self.cr, self.uid, {
|
||||
'amount': 1000.0,
|
||||
'name': case.line_label,
|
||||
'ref': 'My ref',
|
||||
'statement_id': self.statement_id,
|
||||
})
|
||||
statement_line = self.account_bank_statement_line_obj.browse(self.cr, self.uid, statement_line_id)
|
||||
statement_line = self.acc_bk_stmt_line_obj.browse(self.cr, self.uid, statement_line_id)
|
||||
self.assertFalse(statement_line.partner_id, "Partner_id must be blank before completion")
|
||||
statement_obj = self.account_bank_statement_obj.browse(self.cr, self.uid, self.statement_id)
|
||||
statement_obj.button_auto_completion()
|
||||
statement_line = self.account_bank_statement_line_obj.browse(self.cr, self.uid, statement_line_id)
|
||||
statement_line = self.acc_bk_stmt_line_obj.browse(self.cr, self.uid, statement_line_id)
|
||||
if case.should_match:
|
||||
self.assertEquals(self.partner_id, statement_line.partner_id['id'],
|
||||
"Missing expected partner id after completion (partner_name: %s, line_name: %s)" % (case.partner_name, case.line_label))
|
||||
|
||||
@@ -37,7 +37,7 @@ class test_regex_account_completion(common.TransactionCase):
|
||||
|
||||
def prepare(self):
|
||||
self.account_bank_statement_obj = self.registry("account.bank.statement")
|
||||
self.account_bank_statement_line_obj = self.registry("account.bank.statement.line")
|
||||
self.acc_bk_stmt_line_obj = self.registry("account.bank.statement.line")
|
||||
self.account_id = self.ref('account.a_expense')
|
||||
# create the completion rule
|
||||
rule_vals = {'function_to_call': 'set_account',
|
||||
@@ -63,7 +63,7 @@ class test_regex_account_completion(common.TransactionCase):
|
||||
})
|
||||
|
||||
# Create two bank statement lines
|
||||
self.statement_line1_id = self.account_bank_statement_line_obj.create(self.cr, self.uid, {
|
||||
self.statement_line1_id = self.acc_bk_stmt_line_obj.create(self.cr, self.uid, {
|
||||
'amount': 1000.0,
|
||||
'name': 'My statement',
|
||||
'ref': 'My ref',
|
||||
@@ -71,7 +71,7 @@ class test_regex_account_completion(common.TransactionCase):
|
||||
'partner_acc_number': ACC_NUMBER
|
||||
})
|
||||
|
||||
self.statement_line2_id = self.account_bank_statement_line_obj.create(self.cr, self.uid, {
|
||||
self.statement_line2_id = self.acc_bk_stmt_line_obj.create(self.cr, self.uid, {
|
||||
'amount': 2000.0,
|
||||
'name': 'My second statement',
|
||||
'ref': 'My second ref',
|
||||
@@ -85,7 +85,7 @@ class test_regex_account_completion(common.TransactionCase):
|
||||
self.prepare()
|
||||
statement_obj = self.account_bank_statement_obj.browse(self.cr, self.uid, self.statement_id)
|
||||
statement_obj.button_auto_completion()
|
||||
statement_line1 = self.account_bank_statement_line_obj.browse(self.cr, self.uid, self.statement_line1_id)
|
||||
statement_line1 = self.acc_bk_stmt_line_obj.browse(self.cr, self.uid, self.statement_line1_id)
|
||||
self.assertEquals(self.account_id, statement_line1.account_id.id, "The account should be the account of the completion")
|
||||
statement_line2 = self.account_bank_statement_line_obj.browse(self.cr, self.uid, self.statement_line2_id)
|
||||
statement_line2 = self.acc_bk_stmt_line_obj.browse(self.cr, self.uid, self.statement_line2_id)
|
||||
self.assertNotEqual(self.account_id, statement_line2.account_id.id, "The account should be not the account of the completion")
|
||||
|
||||
Reference in New Issue
Block a user