[open-ils-commits] [GIT] Evergreen ILS branch rel_2_0 updated. cc435b591efba0fb8a60e8546ad97778926c6b0c
Evergreen Git
git at git.evergreen-ils.org
Fri May 20 10:22:55 EDT 2011
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_2_0 has been updated
via cc435b591efba0fb8a60e8546ad97778926c6b0c (commit)
from 45a98b79ac72fabc09a62cc24436ff241b33dd54 (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 cc435b591efba0fb8a60e8546ad97778926c6b0c
Author: Lebbeous Fogle-Weekley <lebbeous at esilibrary.com>
Date: Fri May 20 10:17:05 2011 -0400
Fix a problem with open-ils.circ.holds.retrieve_all_from_title
Anoop Atre spotted this bug that's triggered by selecting "View Holds"
from "Actions for Selected Record" in the catalog seen through the staff
client.
Said method would error out like this:
[2011-05-20 10:04:03] open-ils.circ [ERR
:31866:CStoreEditor.pm:109:13058333633194115] editor[0|1] request error
open-ils.cstore.direct.serial.issuance.id_list.atomic :
{"subscription":[]} : Exception:
OpenSRF::DomainObject::oilsMethodException 2011-05-20T10:04:03
OpenILS::Utils::CStoreEditor
/openils/lib/perl5/OpenILS/Utils/CStoreEditor.pm:412 <500> Severe query
error -- see error log for more details
because when trying to gather issuance-type holds, it didn't properly test
whether there actually were any subscriptions and issuances related to
the bib record in question.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous at esilibrary.com>
diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm
index 222ea98..f5812eb 100644
--- a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm
+++ b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Holds.pm
@@ -2592,7 +2592,7 @@ sub all_rec_holds {
$args->{fulfillment_time} = undef; # we don't want to see old fulfilled holds
$args->{cancel_time} = undef;
- my $resp = { volume_holds => [], copy_holds => [], metarecord_holds => [] };
+ my $resp = { volume_holds => [], copy_holds => [], metarecord_holds => [], issuance_holds => [] };
my $mr_map = $e->search_metabib_metarecord_source_map({source => $title_id})->[0];
if($mr_map) {
@@ -2613,15 +2613,22 @@ sub all_rec_holds {
my $subs = $e->search_serial_subscription(
{ record_entry => $title_id }, {idlist=>1});
- my $issuances = $e->search_serial_issuance(
- { subscription => $subs }, {idlist=>1});
- $resp->{issuance_holds} = $e->search_action_hold_request(
- {
- hold_type => OILS_HOLD_TYPE_ISSUANCE,
- target => $issuances,
- %$args
- }, {idlist=>1} );
+ if (@$subs) {
+ my $issuances = $e->search_serial_issuance(
+ {subscription => $subs}, {idlist=>1}
+ );
+
+ if ($issuances) {
+ $resp->{issuance_holds} = $e->search_action_hold_request(
+ {
+ hold_type => OILS_HOLD_TYPE_ISSUANCE,
+ target => $issuances,
+ %$args
+ }, {idlist=>1}
+ );
+ }
+ }
my $vols = $e->search_asset_call_number(
{ record => $title_id, deleted => 'f' }, {idlist=>1});
-----------------------------------------------------------------------
Summary of changes:
.../src/perlmods/OpenILS/Application/Circ/Holds.pm | 25 ++++++++++++-------
1 files changed, 16 insertions(+), 9 deletions(-)
hooks/post-receive
--
Evergreen ILS
More information about the open-ils-commits
mailing list