my $user = $hold->usr;
$hold->usr($user->id);
- my $card = $e->retrieve_actor_card($user->card)
- or return $e->event;
- my( $mvr, $volume, $copy, $issuance, $part ) = find_hold_mvr($e, $hold);
- my( $mvr, $volume, $copy, $issuance, $bre ) = find_hold_mvr($e, $hold, $args->{suppress_mvr});
++ my( $mvr, $volume, $copy, $issuance, $part, $bre ) = find_hold_mvr($e, $hold, $args->{suppress_mvr});
- flesh_hold_notices([$hold], $e);
- flesh_hold_transits([$hold]);
+ flesh_hold_notices([$hold], $e) unless $args->{suppress_notices};
+ flesh_hold_transits([$hold]) unless $args->{suppress_transits};
my $details = retrieve_hold_queue_status_impl($e, $hold);
- return {
+ my $resp = {
hold => $hold,
-- copy => $copy,
-- volume => $volume,
- issuance => $issuance,
- part => $part,
- mvr => $mvr,
- patron_first => $user->first_given_name,
- patron_last => $user->family_name,
- patron_barcode => $card->barcode,
- patron_alias => $user->alias,
++ ($copy ? (copy => $copy) : ()),
++ ($volume ? (volume => $volume) : ()),
++ ($issuance ? (issuance => $issuance) : ()),
++ ($part ? (part => $part) : ()),
++ ($args->{include_bre} ? (bre => $bre) : ()),
++ ($args->{suppress_mvr} ? () : (mvr => $mvr)),
%$details
};
- $resp->{mvr} = $mvr unless $args->{suppress_mvr};
+
- $resp->{bre} = $bre if $args->{include_bre};
-
+ unless($args->{suppress_patron_details}) {
+ my $card = $e->retrieve_actor_card($user->card) or return $e->event;
+ $resp->{patron_first} = $user->first_given_name,
+ $resp->{patron_last} = $user->family_name,
+ $resp->{patron_barcode} = $card->barcode,
+ $resp->{patron_alias} = $user->alias,
+ };
+
+ return $resp;
}
# TODO return metarcord mvr for M holds
my $title = $e->retrieve_biblio_record_entry($tid);
- return ( $U->record_to_mvr($title), $volume, $copy, $issuance, $part );
- return ( ($no_mvr) ? undef : $U->record_to_mvr($title), $volume, $copy, $issuance, $title );
++ return ( ($no_mvr) ? undef : $U->record_to_mvr($title), $volume, $copy, $issuance, $part, $title );
}
__PACKAGE__->register_method(