From a1024009c85f82ef33d97113eaf73ef2d0d74701 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Sun, 27 Jan 2013 07:46:32 +0100 Subject: [PATCH 1/5] [IMP] allow P-numbers for accounts --- account_banking_nl_clieop/wizard/clieop.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account_banking_nl_clieop/wizard/clieop.py b/account_banking_nl_clieop/wizard/clieop.py index 16305451d..1353671dd 100644 --- a/account_banking_nl_clieop/wizard/clieop.py +++ b/account_banking_nl_clieop/wizard/clieop.py @@ -388,7 +388,7 @@ class Batch(object): def total_accountnos(self): '''check number on account numbers''' return reduce(lambda x,y: - x + int(y.transaction.accountno_payer) + \ + x + int(y.transaction.accountno_payer if not y.transaction.accountno_payer[0:1]=='P' else y.transaction.accountno_payer[1:]) + \ int(y.transaction.accountno_beneficiary), self.transactions, 0 ) From 9b47ef9da41d280dc0a5f5e99a9612de50de2a6f Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Sun, 27 Jan 2013 12:17:20 +0100 Subject: [PATCH 2/5] [IMP] handling of postbank account numbers improved --- account_banking_nl_clieop/wizard/clieop.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/account_banking_nl_clieop/wizard/clieop.py b/account_banking_nl_clieop/wizard/clieop.py index cb547d7c2..02e88dc02 100644 --- a/account_banking_nl_clieop/wizard/clieop.py +++ b/account_banking_nl_clieop/wizard/clieop.py @@ -319,7 +319,7 @@ class Payment(Transaction): '''Payment transaction''' def __init__(self, *args, **kwargs): reknr = kwargs['accountno_beneficiary'] - if len(reknr.lstrip('0')) > 7: + if len(reknr.lstrip('0P')) > 7: if not eleven_test(reknr): raise ValueError, '%s is not a valid bank account' % reknr kwargs['type_'] = 5 @@ -388,8 +388,8 @@ class Batch(object): def total_accountnos(self): '''check number on account numbers''' return reduce(lambda x,y: - x + int(y.transaction.accountno_payer if not y.transaction.accountno_payer[0:1]=='P' else y.transaction.accountno_payer[1:]) + \ - int(y.transaction.accountno_beneficiary), + x + int(y.transaction.accountno_payer.lstrip('P')) + \ + int(y.transaction.accountno_beneficiary.lstrip('P')), self.transactions, 0 ) From 229f33d0204c1eb2d1d82ef8dd008a56b1698c31 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Sun, 27 Jan 2013 12:28:10 +0100 Subject: [PATCH 3/5] [FIX] strip the P for doing the eleven test --- account_banking_nl_clieop/wizard/clieop.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account_banking_nl_clieop/wizard/clieop.py b/account_banking_nl_clieop/wizard/clieop.py index 02e88dc02..becfd7bd0 100644 --- a/account_banking_nl_clieop/wizard/clieop.py +++ b/account_banking_nl_clieop/wizard/clieop.py @@ -320,7 +320,7 @@ class Payment(Transaction): def __init__(self, *args, **kwargs): reknr = kwargs['accountno_beneficiary'] if len(reknr.lstrip('0P')) > 7: - if not eleven_test(reknr): + if not eleven_test(reknr.lstrip('P')): raise ValueError, '%s is not a valid bank account' % reknr kwargs['type_'] = 5 self.name = NameBeneficiaryRecord() From cc62de1d9818f8a5b3ea2b898237795d7e444701 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Sun, 27 Jan 2013 14:29:21 +0100 Subject: [PATCH 4/5] [FIX] strip Ps from postbank account numbers entirely --- account_banking_nl_clieop/wizard/clieop.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/account_banking_nl_clieop/wizard/clieop.py b/account_banking_nl_clieop/wizard/clieop.py index becfd7bd0..b85af89dd 100644 --- a/account_banking_nl_clieop/wizard/clieop.py +++ b/account_banking_nl_clieop/wizard/clieop.py @@ -276,8 +276,8 @@ class Transaction(object): self.paymentreference = Optional(PaymentReferenceRecord) self.description = Optional(DescriptionRecord, 4) self.transaction.transactiontype = type_ - self.transaction.accountno_beneficiary = accountno_beneficiary - self.transaction.accountno_payer = accountno_payer + self.transaction.accountno_beneficiary = accountno_beneficiary.lstrip('P') + self.transaction.accountno_payer = accountno_payer.lstrip('P') self.transaction.amount = int(round(amount * 100)) if reference: self.paymentreference.paymentreference = reference @@ -319,8 +319,8 @@ class Payment(Transaction): '''Payment transaction''' def __init__(self, *args, **kwargs): reknr = kwargs['accountno_beneficiary'] - if len(reknr.lstrip('0P')) > 7: - if not eleven_test(reknr.lstrip('P')): + if len(reknr.lstrip('0')) > 7: + if not eleven_test(reknr): raise ValueError, '%s is not a valid bank account' % reknr kwargs['type_'] = 5 self.name = NameBeneficiaryRecord() @@ -388,8 +388,8 @@ class Batch(object): def total_accountnos(self): '''check number on account numbers''' return reduce(lambda x,y: - x + int(y.transaction.accountno_payer.lstrip('P')) + \ - int(y.transaction.accountno_beneficiary.lstrip('P')), + x + int(y.transaction.accountno_payer) + \ + int(y.transaction.accountno_beneficiary), self.transactions, 0 ) From 389915065863ad404e2223a2f4e7aa9d06553b81 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Mon, 28 Jan 2013 10:01:31 +0100 Subject: [PATCH 5/5] [IMP] replace Ps by zeroes, don't remove them --- account_banking_nl_clieop/wizard/clieop.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/account_banking_nl_clieop/wizard/clieop.py b/account_banking_nl_clieop/wizard/clieop.py index b85af89dd..1cf0afd4a 100644 --- a/account_banking_nl_clieop/wizard/clieop.py +++ b/account_banking_nl_clieop/wizard/clieop.py @@ -276,8 +276,8 @@ class Transaction(object): self.paymentreference = Optional(PaymentReferenceRecord) self.description = Optional(DescriptionRecord, 4) self.transaction.transactiontype = type_ - self.transaction.accountno_beneficiary = accountno_beneficiary.lstrip('P') - self.transaction.accountno_payer = accountno_payer.lstrip('P') + self.transaction.accountno_beneficiary = accountno_beneficiary.replace('P', '0') + self.transaction.accountno_payer = accountno_payer.replace('P', '0') self.transaction.amount = int(round(amount * 100)) if reference: self.paymentreference.paymentreference = reference