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

(-)a/circ/pendingreserves.pl (-8 / +25 lines)
Lines 156-161 unless ( $enddate ) { Link Here
156
# building query parameters
156
# building query parameters
157
my %where = (
157
my %where = (
158
    'reserve.found' => undef,
158
    'reserve.found' => undef,
159
    'reserve.priority' => 1,
159
    'reserve.suspend' => 0,
160
    'reserve.suspend' => 0,
160
    'itembib.itemlost' => 0,
161
    'itembib.itemlost' => 0,
161
    'itembib.withdrawn' => 0,
162
    'itembib.withdrawn' => 0,
Lines 222-227 my $patrons_count = { Link Here
222
    }
223
    }
223
};
224
};
224
225
226
my $holds_biblios_map = {
227
    map { $_->{biblionumber} => $_->{reserve_id} } @{ Koha::Holds->search(
228
            {%where},
229
            {
230
                join    => ['itembib', 'biblio'],
231
                alias   => 'reserve',
232
                select  => ['reserve.biblionumber', 'reserve.reserve_id'],
233
            }
234
        )->unblessed
235
    }
236
};
237
238
my $all_holds = {
239
    map { $_->biblionumber => $_ } @{ Koha::Holds->search(
240
            { reserve_id => [ values %$holds_biblios_map ]},
241
            {
242
                prefetch => [ 'borrowernumber', 'itembib', 'biblio' ],
243
                alias    => 'reserve',
244
            }
245
        )->as_list
246
    }
247
};
248
225
# make final holds_info array and fill with info
249
# make final holds_info array and fill with info
226
my @holds_info;
250
my @holds_info;
227
foreach my $bibnum ( @biblionumbers ){
251
foreach my $bibnum ( @biblionumbers ){
Lines 275-287 foreach my $bibnum ( @biblionumbers ){ Link Here
275
    $hold_info->{pull_count} = $pull_count;
299
    $hold_info->{pull_count} = $pull_count;
276
300
277
    # get other relevant information
301
    # get other relevant information
278
    my $res_info = Koha::Holds->search(
302
    my $res_info = $all_holds->{$bibnum};
279
        { 'reserve.biblionumber' => $bibnum, %where },
280
        { prefetch => [ 'borrowernumber', 'itembib', 'biblio' ],
281
          order_by => 'priority',
282
          alias => 'reserve'
283
        }
284
    )->next; # get first item in results
285
    $hold_info->{patron} = $res_info->patron;
303
    $hold_info->{patron} = $res_info->patron;
286
    $hold_info->{item}   = $res_info->item;
304
    $hold_info->{item}   = $res_info->item;
287
    $hold_info->{biblio} = $res_info->biblio;
305
    $hold_info->{biblio} = $res_info->biblio;
288
- 

Return to bug 24488