[GIT] Evergreen ILS branch main updated. 15ca8e2ca6942bdceec1ea05107b01c374a6eccb

This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Evergreen ILS". The branch, main has been updated via 15ca8e2ca6942bdceec1ea05107b01c374a6eccb (commit) via 1d6ba2b8d2074f6e443db2c329fb8496a12f1263 (commit) via 572ae64bc430106f530e35e2b59e7622bd90db79 (commit) from b726e5a1f5d668ef5059b89232bba1a452084786 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 15ca8e2ca6942bdceec1ea05107b01c374a6eccb Author: Steven Mayo <smayo@georgialibraries.org> Date: Tue Sep 3 09:32:27 2024 -0400 LP1911063 Part Hold List Exclude Unholdable Parts Perl changes. Changes how open-ils.circ.hold.get_metadata gets more information about the parts that can be held. Changes a mapped retrieve() call into a search() call for performance and code quality. Release-note: Filters out unholdable parts from part hold list. Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Tiffany Little <tlittle@georgialibraries.org> Signed-off-by: Mary Llewellyn <mllewell@biblio.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm index fc6d79b88e..d94b5f4566 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm @@ -5366,7 +5366,11 @@ sub hold_metadata { ); # we got the ids of the parts we can hold, now grab the rest of their info from the fieldmapper - $meta->{parts} = [map { $e->retrieve_biblio_monograph_part($_->{'id'}) } @$parts]; + if ($parts && @$parts && @$parts.length > 0) + { + my $part_ids = [map {$_->{'id'}} @$parts]; + $meta->{parts} = $e->search_biblio_monograph_part({id=>$part_ids}); + } # T holds on records that have parts are normally OK, but if the record has # no non-part copies, the hold will ultimately fail. When that happens, commit 1d6ba2b8d2074f6e443db2c329fb8496a12f1263 Author: Steven Mayo <smayo@georgialibraries.org> Date: Fri Aug 30 17:07:31 2024 -0400 LP1911063 Part Hold List Exclude Unholdable Parts Perl changes. Modifies the query for populating the parts dropdowns yet again. Checks if the item's shelving location and item's own holdable flag are false to determine if the part on the item should be included in the dropdown. Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm index b60e2e5ffa..4f4c1e1d84 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm @@ -2952,11 +2952,12 @@ sub rec_hold_parts { id => { in => { select => {'acpm' => ['part']}, - from => {acpm => {acp => {join => {acn => {join => 'bre'}, 'ccs'}}}}, + from => {acpm => {acp => {join => {acn => {join => 'bre'}, 'ccs', {},'acpl'}}}}, where => { - '+acp' => {'deleted' => 'f'}, + '+acp' => {'deleted' => 'f', 'holdable', 't'}, '+bre' => {id => $rec}, - '+ccs' => {holdable => 't'} + '+ccs' => {holdable => 't'}, + '+acpl' => {holdable => 't'} }, distinct => 1, } commit 572ae64bc430106f530e35e2b59e7622bd90db79 Author: Steven Mayo <smayo@georgialibraries.org> Date: Fri Jun 21 16:31:04 2024 -0400 LP1911063 Part Hold List Exclude Unholdable Parts Added a join to the query that the OPAC uses to look for holdable parts, now it checks if the copies have holdable statuses. Modified the function the staff client uses to use the same query that the OPAC already uses for finding parts to display in a dropdown. Signed-off-by: Steven Mayo <smayo@georgialibraries.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm index d3a6d0bb43..fc6d79b88e 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm @@ -5359,12 +5359,14 @@ sub hold_metadata { } # Also fetch the available parts for bib-level holds. - $meta->{parts} = $e->search_biblio_monograph_part( - [ - {record => $bre->id, deleted => 'f'}, - {order_by => {bmp => 'label_sortkey'}} - ] - ); + my $parts = $U->simplereq( + 'open-ils.search', + 'open-ils.search.biblio.record_hold_parts', + {record => $bre->id} + ); + + # we got the ids of the parts we can hold, now grab the rest of their info from the fieldmapper + $meta->{parts} = [map { $e->retrieve_biblio_monograph_part($_->{'id'}) } @$parts]; # T holds on records that have parts are normally OK, but if the record has # no non-part copies, the hold will ultimately fail. When that happens, diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm index 16f42e48f5..b60e2e5ffa 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm @@ -2952,10 +2952,11 @@ sub rec_hold_parts { id => { in => { select => {'acpm' => ['part']}, - from => {acpm => {acp => {join => {acn => {join => 'bre'}}}}}, + from => {acpm => {acp => {join => {acn => {join => 'bre'}, 'ccs'}}}}, where => { '+acp' => {'deleted' => 'f'}, - '+bre' => {id => $rec} + '+bre' => {id => $rec}, + '+ccs' => {holdable => 't'} }, distinct => 1, } ----------------------------------------------------------------------- Summary of changes: .../src/perlmods/lib/OpenILS/Application/Circ/Holds.pm | 18 ++++++++++++------ .../perlmods/lib/OpenILS/Application/Search/Biblio.pm | 8 +++++--- 2 files changed, 17 insertions(+), 9 deletions(-) hooks/post-receive -- Evergreen ILS
participants (1)
-
Git User