View | Details | Raw Unified | Return to bug 3492
Collapse All | Expand All

(-)a/reserve/request.pl (-4 / +27 lines)
Lines 33-39 use Date::Calc qw( Date_to_Days ); Link Here
33
use C4::Output      qw( output_html_with_http_headers );
33
use C4::Output      qw( output_html_with_http_headers );
34
use C4::Auth        qw( get_template_and_user );
34
use C4::Auth        qw( get_template_and_user );
35
use C4::Reserves
35
use C4::Reserves
36
    qw( AlterPriority ToggleLowestPriority CanBookBeReserved GetMaxPatronHoldsForRecord CanItemBeReserved IsAvailableForItemLevelRequest GetReserveFee );
36
    qw( AlterPriority ToggleLowestPriority CanBookBeReserved GetMaxPatronHoldsForRecord CanItemBeReserved IsAvailableForItemLevelRequest );
37
use C4::Items       qw( get_hostitemnumbers_of );
37
use C4::Items       qw( get_hostitemnumbers_of );
38
use C4::Koha        qw( getitemtypeimagelocation );
38
use C4::Koha        qw( getitemtypeimagelocation );
39
use C4::Serials     qw( CountSubscriptionFromBiblionumber );
39
use C4::Serials     qw( CountSubscriptionFromBiblionumber );
Lines 772-778 if ( ( $findborrower && $borrowernumber_hold || $findclub && $club_hold ) Link Here
772
772
773
        # Pass through any reserve charge
773
        # Pass through any reserve charge
774
        if ($patron) {
774
        if ($patron) {
775
            $biblioloopiter{reserve_charge} = GetReserveFee( $patron->borrowernumber, $biblionumber );
775
776
            # Calculate hold fee using first available item
777
            my $reserve_charge = 0;
778
            if (@items) {
779
                foreach my $item_object (@items) {
780
                    my $fee = $item_object->holds_fee($patron);
781
                    if ( defined $fee && $fee > 0 ) {
782
                        $reserve_charge = $fee;
783
                        last;
784
                    }
785
                }
786
            }
787
            $biblioloopiter{reserve_charge} = $reserve_charge;
776
        }
788
        }
777
789
778
        if (@reserveloop) {
790
        if (@reserveloop) {
Lines 807-813 unless ($multi_hold) { Link Here
807
819
808
    # Pass through any reserve charge for single holds
820
    # Pass through any reserve charge for single holds
809
    if ($borrowernumber_hold) {
821
    if ($borrowernumber_hold) {
810
        $template->param( reserve_charge => GetReserveFee( $borrowernumber_hold, $biblionumbers[0] ) );
822
        my $patron         = Koha::Patrons->find($borrowernumber_hold);
823
        my $reserve_charge = 0;
824
        if ( $patron && $biblio ) {
825
            my @items = $biblio->items->as_list;
826
            foreach my $item (@items) {
827
                my $fee = $item->holds_fee($patron);
828
                if ( defined $fee && $fee > 0 ) {
829
                    $reserve_charge = $fee;
830
                    last;
831
                }
832
            }
833
        }
834
        $template->param( reserve_charge => $reserve_charge );
811
    }
835
    }
812
}
836
}
813
$template->param( biblionumbers => \@biblionumbers );
837
$template->param( biblionumbers => \@biblionumbers );
814
- 

Return to bug 3492