diff options
| author | Laurent Smet <las@odoo.com> | 2019-06-14 07:28:41 +0000 |
|---|---|---|
| committer | Laurent Smet <las@odoo.com> | 2019-06-14 07:28:41 +0000 |
| commit | 94dc2fe5f7c79fd84a68c2048812accf0b3da0eb (patch) | |
| tree | e42f6286453de0d33b7f54d6def8ec8e545c2fe9 /addons | |
| parent | ae48324aee47aa4851e313671241970a5b8528b5 (diff) | |
[FIX] account: Fix matching rules with empty communication
The way to find a matching about structured communication is done by:
1 - making a filter to keep only numerical values.
2 - splitting the result into array.
3 - finding an intersect between the sets.
For example,
"Payment about +++123/456789+++ and +++987/654321+++" is matching "123456789 blablabla"?
1 - "123456789 987654321" is matching "123456789" ?
2 - ["123456789", "987654321"] is matching ["123456789"]
3 - YES because "123456789" intersects both sets.
This commit is about the check is always TRUE when both sets are empty.
In this specific case, the result must be FALSE.
-opw: 2008299
closes odoo/odoo#34115
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/account/models/account_reconcile_model.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/addons/account/models/account_reconcile_model.py b/addons/account/models/account_reconcile_model.py index df4295912d2..deff0119087 100644 --- a/addons/account/models/account_reconcile_model.py +++ b/addons/account/models/account_reconcile_model.py @@ -442,6 +442,8 @@ class AccountReconcileModel(models.Model): ( line_partner.partner_id = 0 AND + TRIM(REGEXP_REPLACE(st_line.name, '[^0-9|^\s]', '', 'g')) != '' + AND ( regexp_split_to_array(TRIM(REGEXP_REPLACE(move.name, '[^0-9|^\s]', '', 'g')),'\s+') && regexp_split_to_array(TRIM(REGEXP_REPLACE(st_line.name, '[^0-9|^\s]', '', 'g')), '\s+') |
