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

(-)a/C4/Biblio.pm (-1 / +1 lines)
Lines 437-443 sub DelBiblio { Link Here
437
437
438
    # We delete any existing holds
438
    # We delete any existing holds
439
    require C4::Reserves;
439
    require C4::Reserves;
440
    my ($count, $reserves) = C4::Reserves::GetReservesFromBiblionumber($biblionumber);
440
    my $reserves = C4::Reserves::GetReservesFromBiblionumber($biblionumber);
441
    foreach my $res ( @$reserves ) {
441
    foreach my $res ( @$reserves ) {
442
        C4::Reserves::CancelReserve( $res->{'biblionumber'}, $res->{'itemnumber'}, $res->{'borrowernumber'} );
442
        C4::Reserves::CancelReserve( $res->{'biblionumber'}, $res->{'itemnumber'}, $res->{'borrowernumber'} );
443
    }
443
    }
(-)a/C4/ILSDI/Services.pm (-2 / +2 lines)
Lines 208-214 sub GetRecords { Link Here
208
208
209
        # Get most of the needed data
209
        # Get most of the needed data
210
        my $biblioitemnumber = $biblioitem->{'biblioitemnumber'};
210
        my $biblioitemnumber = $biblioitem->{'biblioitemnumber'};
211
        my @reserves         = GetReservesFromBiblionumber( $biblionumber, undef, undef );
211
        my $reserves         = GetReservesFromBiblionumber( $biblionumber, undef, undef );
212
        my $issues           = GetBiblioIssues($biblionumber);
212
        my $issues           = GetBiblioIssues($biblionumber);
213
        my $items            = GetItemsByBiblioitemnumber($biblioitemnumber);
213
        my $items            = GetItemsByBiblioitemnumber($biblioitemnumber);
214
214
Lines 225-231 sub GetRecords { Link Here
225
225
226
        # Hashref building...
226
        # Hashref building...
227
        $biblioitem->{'items'}->{'item'}       = $items;
227
        $biblioitem->{'items'}->{'item'}       = $items;
228
        $biblioitem->{'reserves'}->{'reserve'} = $reserves[1];
228
        $biblioitem->{'reserves'}->{'reserve'} = $reserves;
229
        $biblioitem->{'issues'}->{'issue'}     = $issues;
229
        $biblioitem->{'issues'}->{'issue'}     = $issues;
230
230
231
        push @records, $biblioitem;
231
        push @records, $biblioitem;
(-)a/C4/Reserves.pm (-2 / +2 lines)
Lines 254-260 of the reserves and an arrayref pointing to the reserves for C<$biblionumber>. Link Here
254
=cut
254
=cut
255
255
256
sub GetReservesFromBiblionumber {
256
sub GetReservesFromBiblionumber {
257
    my ($biblionumber) = shift or return (0, []);
257
    my ($biblionumber) = shift or return [];
258
    my ($all_dates) = shift;
258
    my ($all_dates) = shift;
259
    my $dbh   = C4::Context->dbh;
259
    my $dbh   = C4::Context->dbh;
260
260
Lines 323-329 sub GetReservesFromBiblionumber { Link Here
323
        }
323
        }
324
        push @results, $data;
324
        push @results, $data;
325
    }
325
    }
326
    return ( $#results + 1, \@results );
326
    return \@results;
327
}
327
}
328
328
329
=head2 GetReservesFromItemnumber
329
=head2 GetReservesFromItemnumber
(-)a/C4/SIP/ILS/Item.pm (-2 / +2 lines)
Lines 95-102 sub new { Link Here
95
    }
95
    }
96
	my $borrower = GetMember(borrowernumber=>$issue->{'borrowernumber'});
96
	my $borrower = GetMember(borrowernumber=>$issue->{'borrowernumber'});
97
	$item->{patron} = $borrower->{'cardnumber'};
97
	$item->{patron} = $borrower->{'cardnumber'};
98
    my ($whatever, $arrayref) = GetReservesFromBiblionumber($item->{biblionumber});
98
    my $reserves = GetReservesFromBiblionumber($item->{biblionumber});
99
	$item->{hold_queue} = [ sort priority_sort @$arrayref ];
99
	$item->{hold_queue} = [ sort priority_sort @$reserves ];
100
	$item->{hold_shelf}    = [( grep {   defined $_->{found}  and $_->{found} eq 'W' } @{$item->{hold_queue}} )];
100
	$item->{hold_shelf}    = [( grep {   defined $_->{found}  and $_->{found} eq 'W' } @{$item->{hold_queue}} )];
101
	$item->{pending_queue} = [( grep {(! defined $_->{found}) or  $_->{found} ne 'W' } @{$item->{hold_queue}} )];
101
	$item->{pending_queue} = [( grep {(! defined $_->{found}) or  $_->{found} ne 'W' } @{$item->{hold_queue}} )];
102
	$self = $item;
102
	$self = $item;
(-)a/catalogue/ISBDdetail.pl (-1 / +2 lines)
Lines 112-118 $template->param ( Link Here
112
);
112
);
113
113
114
114
115
my ( $holdcount, $holds ) = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
115
my $holds = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
116
my $holdcount = scalar( @$holds );
116
$template->param( holdcount => $holdcount, holds => $holds );
117
$template->param( holdcount => $holdcount, holds => $holds );
117
118
118
output_html_with_http_headers $query, $cookie, $template->output;
119
output_html_with_http_headers $query, $cookie, $template->output;
(-)a/catalogue/MARCdetail.pl (-1 / +2 lines)
Lines 335-341 $template->param ( Link Here
335
	C4::Search::enabled_staff_search_views,
335
	C4::Search::enabled_staff_search_views,
336
);
336
);
337
337
338
my ( $holdcount, $holds ) = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
338
my $holds = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
339
my $holdcount = scalar( @$holds );
339
$template->param( holdcount => $holdcount, holds => $holds );
340
$template->param( holdcount => $holdcount, holds => $holds );
340
341
341
output_html_with_http_headers $query, $cookie, $template->output;
342
output_html_with_http_headers $query, $cookie, $template->output;
(-)a/catalogue/detail.pl (-1 / +2 lines)
Lines 395-401 if (C4::Context->preference('TagsEnabled') and $tag_quantity = C4::Context->pref Link Here
395
                                'sort'=>'-weight', limit=>$tag_quantity}));
395
                                'sort'=>'-weight', limit=>$tag_quantity}));
396
}
396
}
397
397
398
my ( $holdcount, $holds ) = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
398
my $holds = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
399
my $holdcount = scalar ( @$holds );
399
$template->param( holdcount => $holdcount, holds => $holds );
400
$template->param( holdcount => $holdcount, holds => $holds );
400
401
401
output_html_with_http_headers $query, $cookie, $template->output;
402
output_html_with_http_headers $query, $cookie, $template->output;
(-)a/catalogue/imageviewer.pl (-1 / +2 lines)
Lines 78-84 $template->{VARS}->{'norequests'} = $norequests; Link Here
78
$template->param(C4::Search::enabled_staff_search_views);
78
$template->param(C4::Search::enabled_staff_search_views);
79
$template->{VARS}->{'biblio'} = $biblio;
79
$template->{VARS}->{'biblio'} = $biblio;
80
80
81
my ( $holdcount, $holds ) = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
81
my $holds = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
82
my $holdcount = scalar( @$holds );
82
$template->param( holdcount => $holdcount, holds => $holds );
83
$template->param( holdcount => $holdcount, holds => $holds );
83
84
84
output_html_with_http_headers $query, $cookie, $template->output;
85
output_html_with_http_headers $query, $cookie, $template->output;
(-)a/catalogue/labeledMARCdetail.pl (-1 / +2 lines)
Lines 136-142 $template->param ( Link Here
136
	C4::Search::enabled_staff_search_views,
136
	C4::Search::enabled_staff_search_views,
137
);
137
);
138
138
139
my ( $holdcount, $holds ) = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
139
my $holds= C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
140
my $holdcount = scalar( @$holds );
140
$template->param( holdcount => $holdcount, holds => $holds );
141
$template->param( holdcount => $holdcount, holds => $holds );
141
142
142
output_html_with_http_headers $query, $cookie, $template->output;
143
output_html_with_http_headers $query, $cookie, $template->output;
(-)a/catalogue/moredetail.pl (-1 / +2 lines)
Lines 216-222 $template->param( Link Here
216
$template->param(ONLY_ONE => 1) if ( $itemnumber && $showncount != @items );
216
$template->param(ONLY_ONE => 1) if ( $itemnumber && $showncount != @items );
217
217
218
218
219
my ( $holdcount, $holds ) = GetReservesFromBiblionumber($biblionumber,1);
219
my $holds = GetReservesFromBiblionumber($biblionumber,1);
220
my $holdcount = scalar( @$holds );
220
$template->param( holdcount => $holdcount, holds => $holds );
221
$template->param( holdcount => $holdcount, holds => $holds );
221
222
222
output_html_with_http_headers $query, $cookie, $template->output;
223
output_html_with_http_headers $query, $cookie, $template->output;
(-)a/opac/opac-detail.pl (-2 / +2 lines)
Lines 496-503 for ( C4::Context->preference("OPACShowHoldQueueDetails") ) { Link Here
496
}
496
}
497
my $has_hold;
497
my $has_hold;
498
if ( $show_holds_count || $show_priority) {
498
if ( $show_holds_count || $show_priority) {
499
    my ($reserve_count,$reserves) = GetReservesFromBiblionumber($biblionumber);
499
    my $reserves = GetReservesFromBiblionumber($biblionumber);
500
    $template->param( holds_count  => $reserve_count ) if $show_holds_count;
500
    $template->param( holds_count  => scalar( @$reserves ) ) if $show_holds_count;
501
    foreach (@$reserves) {
501
    foreach (@$reserves) {
502
        $item_reserves{ $_->{itemnumber} }++ if $_->{itemnumber};
502
        $item_reserves{ $_->{itemnumber} }++ if $_->{itemnumber};
503
        if ($show_priority && $_->{borrowernumber} == $borrowernumber) {
503
        if ($show_priority && $_->{borrowernumber} == $borrowernumber) {
(-)a/opac/opac-reserve.pl (-2 / +2 lines)
Lines 148-155 foreach my $biblioNumber (@biblionumbers) { Link Here
148
    }
148
    }
149
149
150
    # Compute the priority rank.
150
    # Compute the priority rank.
151
    my ( $rank, $reserves ) =
151
    my $reserves = GetReservesFromBiblionumber( $biblioNumber, 1 );
152
      GetReservesFromBiblionumber( $biblioNumber, 1 );
152
    my $rank = scalar( @$reserves );
153
    $biblioData->{reservecount} = 1;    # new reserve
153
    $biblioData->{reservecount} = 1;    # new reserve
154
    foreach my $res (@{$reserves}) {
154
    foreach my $res (@{$reserves}) {
155
        my $found = $res->{found};
155
        my $found = $res->{found};
(-)a/reserve/request.pl (-2 / +3 lines)
Lines 255-261 foreach my $biblionumber (@biblionumbers) { Link Here
255
    }
255
    }
256
256
257
    # get existing reserves .....
257
    # get existing reserves .....
258
    my ( $count, $reserves ) = GetReservesFromBiblionumber($biblionumber,1);
258
    my $reserves = GetReservesFromBiblionumber($biblionumber,1);
259
    my $count = scalar( @$reserves );
259
    my $totalcount = $count;
260
    my $totalcount = $count;
260
    my $alreadyreserved;
261
    my $alreadyreserved;
261
262
Lines 512-518 foreach my $biblionumber (@biblionumbers) { Link Here
512
513
513
    # existingreserves building
514
    # existingreserves building
514
    my @reserveloop;
515
    my @reserveloop;
515
    ( $count, $reserves ) = GetReservesFromBiblionumber($biblionumber,1);
516
    $reserves = GetReservesFromBiblionumber($biblionumber,1);
516
    foreach my $res ( sort {
517
    foreach my $res ( sort {
517
            my $a_found = $a->{found} || '';
518
            my $a_found = $a->{found} || '';
518
            my $b_found = $a->{found} || '';
519
            my $b_found = $a->{found} || '';
(-)a/serials/routing-preview.pl (-3 / +3 lines)
Lines 71-78 if($ok){ Link Here
71
71
72
	if (C4::Context->preference('RoutingListAddReserves')){
72
	if (C4::Context->preference('RoutingListAddReserves')){
73
		# get existing reserves .....
73
		# get existing reserves .....
74
		my ($count,$reserves) = GetReservesFromBiblionumber($biblio);
74
        my $reserves = GetReservesFromBiblionumber($biblio);
75
		my $totalcount = $count;
75
        my $count = scalar( @$reserves );
76
        my $totalcount = $count;
76
		foreach my $res (@$reserves) {
77
		foreach my $res (@$reserves) {
77
			if ($res->{'found'} eq 'W') {
78
			if ($res->{'found'} eq 'W') {
78
				$count--;
79
				$count--;
79
- 

Return to bug 9823