LP1965161: Sort Monograph Parts in Holds Metadata
authorJason Stephenson <jason@sigio.com>
Wed, 16 Mar 2022 17:29:09 +0000 (13:29 -0400)
committerBill Erickson <berickxx@gmail.com>
Wed, 16 Mar 2022 20:36:54 +0000 (16:36 -0400)
When placing a hold in the Angular Staff Catalog, parts are not sorted
in the proper order.  This patch corrects the sort order.

To verify the bug:

 1. Find a record with parts in your catalog.
 2. Place a hold on a specific part using the Angular Staff Catalog.
 3. Notice that the entries int he parts drop down are likely not
    sorted in the correct order. (If they are you lucked out and
    should try again with a different record.)

To verify the fix after applying the patch and re-installing
Evergreen, repeat the above steps.  The parts should display in the
proper sort order by label.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm

index f548936..a11d0ab 100644 (file)
@@ -5145,7 +5145,11 @@ sub hold_metadata {
 
             # Also fetch the available parts for bib-level holds.
             $meta->{parts} = $e->search_biblio_monograph_part(
-                {record => $bre->id, deleted => 'f'});
+                [
+                    {record => $bre->id, deleted => 'f'},
+                    {order_by => {bmp => 'label_sortkey'}}
+                ]
+            );
         }
 
         if ($meta->{metarecord}) {