]> git.koha-community.org Git - koha.git/commit
Bug 29570: Fix sorting orders by biblioitems columns
authorTomas Cohen Arazi <tomascohen@theke.io>
Wed, 2 Feb 2022 20:04:08 +0000 (17:04 -0300)
committerAndrew Fuerste-Henry <andrew@bywatersolutions.com>
Thu, 17 Feb 2022 13:54:36 +0000 (13:54 +0000)
commitf34c6e468688d599f60719ca5dcf7f7a076cc6b4
treeb0a01db83fe2f46551a2d17ffe2f8340e0adfdcb
parent244ad61cac796e9c496e62dc43f897040a1ba0ca
Bug 29570: Fix sorting orders by biblioitems columns

The API representation of Koha::Biblio objects includes the
biblioitems.* columns too. This proved problematic as queries had to get
translated so they work (i.e. if a query passes q={"biblio.ean":"123%"}
then the query needs to be tweaked so biblio.ean is translated into
biblio.biblioitem.ean. This is solved, locally, in the controller.

But sorting needs the same kind of tweak, and it was missing. This patch
solves that by doing a similar conversion.

To test:
1. Apply the regression tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/acquisitions_orders.t
=> FAIL: Tests fail, searching on a 'biblioitems' column generates a 500
error.
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass! We can sort on those fields
5. Sign off :-D

Note: you will notice the tests only cover sorting by ISBN. I consider
it enough as sorting is a DB problem, and we only want to know if the
generated ORDER BY is valid for the underlying query, and MySQL would
complain if it wasn't the case.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit d3dc05279cb5c3a38428aaf83d8645d38d2fe180)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Koha/REST/V1/Acquisitions/Orders.pm