From: senator Date: Wed, 10 Nov 2010 21:31:28 +0000 (+0000) Subject: Backport r18688 from trunk: booking bugfix X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=5d9956ac6a789407690fbc749df0407bbe9467dc;p=working%2FEvergreen.git Backport r18688 from trunk: booking bugfix git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_6@18690 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm index 450331b518..832bdcfc0f 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm @@ -1714,10 +1714,11 @@ sub do_reservation_pickup { if ( $self->reservation->current_resource && - $self->reservation->current_resource->catalog_item + $U->is_true($self->reservation->target_resource_type->catalog_item) ) { - $self->copy( $self->reservation->current_resource->catalog_item ); - $self->patron( $self->reservation->usr ); + # We used to try to set $self->copy and $self->patron here, + # but that should already be done. + $self->run_checkout_scripts(1); my $duration = $self->duration_rule; @@ -1731,7 +1732,7 @@ sub do_reservation_pickup { my $mname = $max->name; my $rname = $recurring->name; - $logger->debug("circulator: building reservation ". + $logger->debug("circulator: updating reservation ". "with duration=$dname, maxfine=$mname, recurring=$rname"); $self->reservation->fine_amount($policy->{recurring_fine}); @@ -1743,9 +1744,15 @@ sub do_reservation_pickup { $self->update_copy(); } else { - $self->reservation->fine_amount($self->reservation->fine_amount); - $self->reservation->max_fine($self->reservation->max_fine); - $self->reservation->fine_interval($self->reservation->fine_interval); + $self->reservation->fine_amount( + $self->reservation->target_resource_type->fine_amount + ); + $self->reservation->max_fine( + $self->reservation->target_resource_type->max_fine + ); + $self->reservation->fine_interval( + $self->reservation->target_resource_type->fine_interval + ); } $self->update_reservation();