Bug 21629: Use cn_sort instead of itemcallnumber when displaying a list
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 22 Oct 2018 20:02:51 +0000 (17:02 -0300)
committerFridolin Somers <fridolin.somers@biblibre.com>
Wed, 28 Nov 2018 10:04:19 +0000 (11:04 +0100)
DBMS can sort callnumbers correctly using cn_sort. We should use it
showing a list's content.

Test plan:
- Add items with callnumber to a list
- Display the list
- List the content by callnumbers
=> Confirm that the records are correctly sorted by callnumber

Signed-off-by: Myka Kennedy Stephens <mkstephens@lancasterseminary.edu>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 20cba0d2956de5b1ff38b4a5f4b0f620204930e0)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 3d751067b771051e160e8d834fe346276ec93e12)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

opac/opac-shelves.pl
virtualshelves/shelves.pl

index 1feaf57..b6e5a46 100755 (executable)
@@ -242,7 +242,7 @@ if ( $op eq 'view' ) {
                 $rows = C4::Context->preference('OPACnumSearchResults') || 20;
                 $page = ( $query->param('page') ? $query->param('page') : 1 );
             }
-            my $order_by = $sortfield eq 'itemcallnumber' ? 'items.itemcallnumber' : $sortfield;
+            my $order_by = $sortfield eq 'itemcallnumber' ? 'items.cn_sort' : $sortfield;
             my $contents = $shelf->get_contents->search(
                 {},
                 {
index 192580f..6bf3d41 100755 (executable)
@@ -242,7 +242,7 @@ if ( $op eq 'view' ) {
                 $page = ( $query->param('page') ? $query->param('page') : 1 );
             }
 
-            my $order_by = $sortfield eq 'itemcallnumber' ? 'items.itemcallnumber' : $sortfield;
+            my $order_by = $sortfield eq 'itemcallnumber' ? 'items.cn_sort' : $sortfield;
             my $contents = $shelf->get_contents->search(
                 {},
                 {