[GIT] Evergreen ILS branch rel_3_15 updated. 3b029ef2deb08f7f962cb0f083edac7c54ab0c5a

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, rel_3_15 has been updated via 3b029ef2deb08f7f962cb0f083edac7c54ab0c5a (commit) via 03047cadc12da2e1806d606bc551eeabaff2454d (commit) via 5c17c0b80f1a601ef1b808cd4b52d50e5b750dc5 (commit) from b1984fd37517636cd9f9064e963e5fdc5b51d37d (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 3b029ef2deb08f7f962cb0f083edac7c54ab0c5a 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 03047cadc12da2e1806d606bc551eeabaff2454d 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 5c17c0b80f1a601ef1b808cd4b52d50e5b750dc5 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