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

(-)a/Koha/Holds.pm (-2 / +6 lines)
Lines 111-117 Items that are not: Link Here
111
sub get_items_that_can_fill {
111
sub get_items_that_can_fill {
112
    my ( $self ) = @_;
112
    my ( $self ) = @_;
113
113
114
    my @biblionumbers = $self->get_column('biblionumber');
114
    my @itemnumbers = $self->search({ 'me.itemnumber' => { '!=' => undef } })->get_column('itemnumber');
115
    my @biblionumbers = $self->search({ 'me.itemnumber' => undef })->get_column('biblionumber');
116
    my @bibs_or_items;
117
    push @bibs_or_items, 'me.itemnumber' => { in => \@itemnumbers } if @itemnumbers;
118
    push @bibs_or_items, 'biblionumber' => { in => \@biblionumbers } if @biblionumbers;
115
119
116
    my @branchtransfers = map { $_->itemnumber }
120
    my @branchtransfers = map { $_->itemnumber }
117
      Koha::Item::Transfers->search(
121
      Koha::Item::Transfers->search(
Lines 132-138 sub get_items_that_can_fill { Link Here
132
136
133
    return Koha::Items->search(
137
    return Koha::Items->search(
134
        {
138
        {
135
            biblionumber => { in => \@biblionumbers },
139
            -or => \@bibs_or_items,
136
            itemnumber   => { -not_in => [ @branchtransfers, @waiting_holds ] },
140
            itemnumber   => { -not_in => [ @branchtransfers, @waiting_holds ] },
137
            onloan       => undef,
141
            onloan       => undef,
138
        }
142
        }
(-)a/circ/pendingreserves.pl (-11 / +8 lines)
Lines 155-163 unless ( $enddate ) { Link Here
155
155
156
# building query parameters
156
# building query parameters
157
my %where = (
157
my %where = (
158
    'reserve.found' => undef,
158
    'me.found' => undef,
159
    'reserve.priority' => 1,
159
    'me.priority' => 1,
160
    'reserve.suspend' => 0,
160
    'me.suspend' => 0,
161
    'itembib.itemlost' => 0,
161
    'itembib.itemlost' => 0,
162
    'itembib.withdrawn' => 0,
162
    'itembib.withdrawn' => 0,
163
    'itembib.notforloan' => 0,
163
    'itembib.notforloan' => 0,
Lines 169-179 my $dtf = Koha::Database->new->schema->storage->datetime_parser; Link Here
169
my $startdate_iso = $dtf->format_date($startdate);
169
my $startdate_iso = $dtf->format_date($startdate);
170
my $enddate_iso   = $dtf->format_date($enddate);
170
my $enddate_iso   = $dtf->format_date($enddate);
171
if ( $startdate_iso && $enddate_iso ){
171
if ( $startdate_iso && $enddate_iso ){
172
    $where{'reserve.reservedate'} = [ -and => { '>=', $startdate_iso }, { '<=', $enddate_iso } ];
172
    $where{'me.reservedate'} = [ -and => { '>=', $startdate_iso }, { '<=', $enddate_iso } ];
173
} elsif ( $startdate_iso ){
173
} elsif ( $startdate_iso ){
174
    $where{'reserve.reservedate'} = { '>=', $startdate_iso };
174
    $where{'me.reservedate'} = { '>=', $startdate_iso };
175
} elsif ( $enddate_iso ){
175
} elsif ( $enddate_iso ){
176
    $where{'reserve.reservedate'} = { '<=', $enddate_iso };
176
    $where{'me.reservedate'} = { '<=', $enddate_iso };
177
}
177
}
178
178
179
# Bug 21320
179
# Bug 21320
Lines 188-194 if ( C4::Context->preference('IndependentBranches') ){ Link Here
188
# get all distinct unfulfilled reserves
188
# get all distinct unfulfilled reserves
189
my $holds = Koha::Holds->search(
189
my $holds = Koha::Holds->search(
190
    { %where },
190
    { %where },
191
    { join => 'itembib', alias => 'reserve', distinct  => 1, columns => qw[me.biblionumber] }
191
    { join => 'itembib', distinct  => 1, columns => qw[me.biblionumber] }
192
);
192
);
193
my @biblionumbers = $holds->get_column('biblionumber');
193
my @biblionumbers = $holds->get_column('biblionumber');
194
194
Lines 215-222 my $holds_biblios_map = { Link Here
215
            {%where},
215
            {%where},
216
            {
216
            {
217
                join    => ['itembib', 'biblio'],
217
                join    => ['itembib', 'biblio'],
218
                alias   => 'reserve',
218
                select  => ['me.biblionumber', 'me.reserve_id'],
219
                select  => ['reserve.biblionumber', 'reserve.reserve_id'],
220
            }
219
            }
221
        )->unblessed
220
        )->unblessed
222
    }
221
    }
Lines 227-233 my $all_holds = { Link Here
227
            { reserve_id => [ values %$holds_biblios_map ]},
226
            { reserve_id => [ values %$holds_biblios_map ]},
228
            {
227
            {
229
                prefetch => [ 'borrowernumber', 'itembib', 'biblio' ],
228
                prefetch => [ 'borrowernumber', 'itembib', 'biblio' ],
230
                alias    => 'reserve',
231
            }
229
            }
232
        )->as_list
230
        )->as_list
233
    }
231
    }
234
- 

Return to bug 29786