Skip to content

RegexAnalyser's "lookup" action is flawed #509

@bjendres

Description

@bjendres

The lookup action in CiviBanking's RegexAnanlyser has some severe flaws. Usually the lookup function should deliver the unique, single value (e.g. an account number), or return nothing.

However the current implementation has the number of shortcomings. Let's assume we're looking up a contact via a bank account:

  1. If the contact has more than one reference for to the same account (e.g. there are duplicate entries) the lookup will fail, because it's not unique. That should not be the case, because duplicates should be ignored.
  2. If another contact has an identical account, but is in trash (is_deleted=1) the lookup will fail - this should not be the case because contact's in trash should be ignored.
  3. In the current implementation, the processing of affected transactions will cause an exception, stopping the processing of this transaction altogether. This means the transaction cannot even be processed manually until the duplicate references are removed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions