Bug 13976: Sort popularity numerically in Zebra
authorNick Clemens <nick@bywatersolutions.com>
Mon, 21 Nov 2022 19:12:46 +0000 (19:12 +0000)
committerTomas Cohen Arazi <tomascohen@theke.io>
Fri, 31 Mar 2023 10:40:00 +0000 (12:40 +0200)
To test:
1 - Create a new template at Tools->Marc modification template
2 - Add action: Copy 999$c to 942$0
3 - Create a report:
    SELECT biblionuber FROM biblios
4 - Run report, show all, do a batch modification to all records using template above
5 - Search for 'a' (make sure you are using Zebra)
6 - Sort by popularity
7 - Note records are sorted wrong
8 - Apply patch
9 - Restart all
10 - Reload search results
11 - Success! Sorted correctly

Signed-off-by: Anke <anke.bruns@gwdg.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
C4/Search.pm

index 9a87f15..5985db2 100644 (file)
@@ -364,10 +364,10 @@ sub getRecords {
                 $sort_by .= "1=1003 >i ";
             }
             elsif ( $sort eq "popularity_asc" ) {
-                $sort_by .= "1=9003 <i ";
+                $sort_by .= "1=9003,4=109 <i ";
             }
             elsif ( $sort eq "popularity_dsc" ) {
-                $sort_by .= "1=9003 >i ";
+                $sort_by .= "1=9003,4=109 >i ";
             }
             elsif ( $sort eq "call_number_asc" ) {
                 $sort_by .= "1=8007  <i ";