changeset 383efc9a7fd8 in modules/bank:default
details: https://hg.tryton.org/modules/bank?cmd=changeset&node=383efc9a7fd8
description:
Search also on BIC when searching bank name
and remove starting wildcard when searching account number
issue11135
review384071002
diffstat:
CHANGELOG | 2 ++
bank.py | 26 +++++++++++++++++++++++++-
party.py | 7 +------
3 files changed, 28 insertions(+), 7 deletions(-)
diffs (85 lines):
diff -r 7ae98204fa0c -r 383efc9a7fd8 CHANGELOG
--- a/CHANGELOG Sat Dec 18 16:31:07 2021 +0100
+++ b/CHANGELOG Sun Jan 30 13:00:50 2022 +0100
@@ -1,3 +1,5 @@
+* Remove starting wildcard when searching account number
+* Search also on BIC when searching bank name
* Add support for Python 3.10
* Remove support for Python 3.6
diff -r 7ae98204fa0c -r 383efc9a7fd8 bank.py
--- a/bank.py Sat Dec 18 16:31:07 2021 +0100
+++ b/bank.py Sun Jan 30 13:00:50 2022 +0100
@@ -7,6 +7,7 @@
from trytond.i18n import gettext
from trytond.model import (
DeactivableMixin, ModelSQL, ModelView, fields, sequence_ordered)
+from trytond.tools import lstrip_wildcard
from .exceptions import IBANValidationError, InvalidBIC
@@ -23,7 +24,17 @@
@classmethod
def search_rec_name(cls, name, clause):
- return [('party.rec_name',) + tuple(clause[1:])]
+ if clause[1].startswith('!') or clause[1].startswith('not '):
+ bool_op = 'AND'
+ else:
+ bool_op = 'OR'
+ bic_value = clause[2]
+ if clause[1].endswith('like'):
+ bic_value = lstrip_wildcard(clause[2])
+ return [bool_op,
+ ('party.rec_name',) + tuple(clause[1:]),
+ ('bic', clause[1], bic_value) + tuple(clause[3:]),
+ ]
@fields.depends('bic')
def on_change_with_bic(self):
@@ -129,6 +140,19 @@
else self.number)
@classmethod
+ def search_rec_name(cls, name, clause):
+ if clause[1].startswith('!') or clause[1].startswith('not '):
+ bool_op = 'AND'
+ else:
+ bool_op = 'OR'
+ number_value = clause[2]
+ if clause[1].endswith('like'):
+ number_value = lstrip_wildcard(clause[2])
+ return [bool_op,
+ ('number', clause[1], number_value) + tuple(clause[3:]),
+ ]
+
+ @classmethod
def create(cls, vlist):
vlist = [v.copy() for v in vlist]
for values in vlist:
diff -r 7ae98204fa0c -r 383efc9a7fd8 party.py
--- a/party.py Sat Dec 18 16:31:07 2021 +0100
+++ b/party.py Sun Jan 30 13:00:50 2022 +0100
@@ -2,7 +2,6 @@
# this repository contains the full copyright notices and license terms.
from trytond.model import fields
from trytond.pool import PoolMeta
-from trytond.tools import lstrip_wildcard
from trytond.transaction import Transaction
@@ -18,13 +17,9 @@
bool_op = 'AND'
else:
bool_op = 'OR'
- code_value = clause[2]
- if clause[1].endswith('like'):
- code_value = lstrip_wildcard(clause[2])
return [bool_op,
domain,
- ('bank_accounts.numbers.rec_name',
- clause[1], code_value) + tuple(clause[3:]),
+ ('bank_accounts.numbers.rec_name',) + tuple(clause[1:]),
]
@classmethod