tree b2d2df9d12689f101383c0ad071f865982a5b121
parent 2fbeb7c1ddf8773454a373952c16ca65bbb9b1b4
author Glen Whitney <glen@studioinfinity.org> 1603106395 -0700
committer GitHub <noreply@github.com> 1603106395 +0530
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfjXZbCRBK7hj4Ov3rIwAAdHIIAIPkmjy4ZUL5QfP6ujdx0sBw
 GDjSMTjrZkHKy+iD1BwVBIbLoNfYyAftQLKAev7UByjYfQTB6dysP1N6L/8cjlue
 JDZn8/NJGE76EN9IHSA8ozYyvquvRascnthDuvFAL7PK08Vpsd9wsOTufmz5dXrQ
 pBfjeW0meGvIX12PMLPcz4eO8MiNopXj/ruGRLf4v7DYqlLtgK6ESQ4dpuw0Zrik
 fHtGWPPdVt4RZ7l337Kz24lDi/ZQ0AzMpAGcKmd0R6UjNb1yGe75ZQNoFTrmeZHP
 2yyGjOuTKPQwYrRYajxwK72cO2BJ+0EEkS5EpsJ7lxTR/PdLv1UMLMOjFUQ/DGM=
 =AhuJ
 -----END PGP SIGNATURE-----
 

fix(Bank Reconciliation): update/merge CR/DR journal entry search (#23629)

* fix(Bank Reconciliation): update/merge CR/DR journal entry search

  Prior to this commit, the debit journal entry search (for
  credit-side Bank Transaction entries) and the corresponding
  credit journal entry search had diverged, with the latter
  working but the former not working. Thus, the search for
  journal entries matching a credit Bank Transaction (for the
  purposes of reconciliation) was never returning any matching
  journal entries, making reconciliation difficult.

  To fix this, this commit not only updates the debit journal
  entry search, but takes advantage of the fact that the two SQL
  queries for the two sides (debit/credit) differ only by the
  word "debit" or "credit," to merge the code for the two
  queries, making the code more DRY and hopefully reducing the
  chance of similar bugs occurring in the future.

* fix: message translation

Co-authored-by: Nabin Hait <nabinhait@gmail.com>