From 183d4a55ca7877ae5bf7eb8399bf37dc954117e4 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Tue, 11 Mar 2014 10:34:40 -0400 Subject: [PATCH] Bug 11923: fix option to sort contents of MARC record batches by citation descending When the ability to stage authority records was added to Koha, sorting record batches by citation ( i.e. title ) caused the addition of "authorized_heading" to be added to the sort. When sorting by title descending, this causes the order by clause to be "title, authorized_heading DESC" which means sort by title ASC, then authorized_heading DESC. This is incorrect and causes regular biblio batches to always be sorted ascending. Test plan: 1) Stage a batch of biblio records from a file 2) View the staged batch 3) Attempt to sort by title descending 4) Note it is still sorted by title ascending 5) Apply this patch 6) Note the sorting now works correctly Signed-off-by: Owen Leonard Signed-off-by: Marcel de Rooy Works as advertised. The code pertaining to sorting in routine GetImportRecordsRange will probably not win beauty prizes. Signed-off-by: Galen Charlton --- C4/ImportBatch.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/C4/ImportBatch.pm b/C4/ImportBatch.pm index 6ddab77fdd..66162c7f26 100644 --- a/C4/ImportBatch.pm +++ b/C4/ImportBatch.pm @@ -1034,11 +1034,12 @@ sub GetImportRecordsRange { my $order_by = $parameters->{order_by} || 'import_record_id'; ( $order_by ) = grep( /^$order_by$/, qw( import_record_id title status overlay_status ) ) ? $order_by : 'import_record_id'; - $order_by .= ",authorized_heading" if $order_by eq 'title'; my $order_by_direction = uc( $parameters->{order_by_direction} ) eq 'DESC' ? 'DESC' : 'ASC'; + $order_by .= " $order_by_direction, authorized_heading" if $order_by eq 'title'; + my $query = "SELECT title, author, isbn, issn, authorized_heading, import_records.import_record_id, record_sequence, status, overlay_status, matched_biblionumber, matched_authid, record_type -- 2.39.5