[GIT] Evergreen ILS branch rel_3_14 updated. 223d1db84549c2fe3ce538fc9eeacf821211bbf6

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_14 has been updated via 223d1db84549c2fe3ce538fc9eeacf821211bbf6 (commit) via 7483e880c0d23a1c235678c73c0dec39ee4c18e1 (commit) via 951621f16cd32eca20c93c349e11069949a4c054 (commit) from 0a83c6a889612bffdfb9ab0459ff81d49e1357a4 (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 223d1db84549c2fe3ce538fc9eeacf821211bbf6 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 7a47e9aeb4..d455748afd 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 7483e880c0d23a1c235678c73c0dec39ee4c18e1 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 81cf2150a1..f714d3f891 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm @@ -2796,11 +2796,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 951621f16cd32eca20c93c349e11069949a4c054 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 dabe3a554d..7a47e9aeb4 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 7f6e608567..81cf2150a1 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm @@ -2796,10 +2796,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