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

(-)a/C4/Items.pm (-21 lines)
Lines 70-76 BEGIN { Link Here
70
        GetLostItems
70
        GetLostItems
71
        GetItemsForInventory
71
        GetItemsForInventory
72
        GetItemsCount
72
        GetItemsCount
73
        GetItemInfosOf
74
        GetItemsByBiblioitemnumber
73
        GetItemsByBiblioitemnumber
75
        GetItemsInfo
74
        GetItemsInfo
76
	GetItemsLocationInfo
75
	GetItemsLocationInfo
Lines 947-972 sub GetItemsCount { Link Here
947
    return ($count);
946
    return ($count);
948
}
947
}
949
948
950
=head2 GetItemInfosOf
951
952
  GetItemInfosOf(@itemnumbers);
953
954
=cut
955
956
sub GetItemInfosOf {
957
    my @itemnumbers = @_;
958
959
    my $itemnumber_values = @itemnumbers ? join( ',', @itemnumbers ) : "''";
960
961
    my $dbh = C4::Context->dbh;
962
    my $query = "
963
        SELECT *
964
        FROM items
965
        WHERE itemnumber IN ($itemnumber_values)
966
    ";
967
    return $dbh->selectall_hashref($query, 'itemnumber');
968
}
969
970
=head2 GetItemsByBiblioitemnumber
949
=head2 GetItemsByBiblioitemnumber
971
950
972
  GetItemsByBiblioitemnumber($biblioitemnumber);
951
  GetItemsByBiblioitemnumber($biblioitemnumber);
(-)a/labels/label-item-search.pl (-1 lines)
Lines 30-36 use C4::Output qw(output_html_with_http_headers); Link Here
30
use C4::Context;
30
use C4::Context;
31
use C4::Search qw(SimpleSearch);
31
use C4::Search qw(SimpleSearch);
32
use C4::Biblio qw(TransformMarcToKoha);
32
use C4::Biblio qw(TransformMarcToKoha);
33
use C4::Items qw(GetItemInfosOf);
34
use C4::Koha qw(GetItemTypes);
33
use C4::Koha qw(GetItemTypes);
35
use C4::Creators::Lib qw(html_table);
34
use C4::Creators::Lib qw(html_table);
36
use C4::Debug;
35
use C4::Debug;
(-)a/reserve/request.pl (-10 / +12 lines)
Lines 44-49 use C4::Members; Link Here
44
use C4::Search;		# enabled_staff_search_views
44
use C4::Search;		# enabled_staff_search_views
45
use Koha::DateUtils;
45
use Koha::DateUtils;
46
use Koha::Holds;
46
use Koha::Holds;
47
use Koha::Items;
47
use Koha::Libraries;
48
use Koha::Libraries;
48
use Koha::Patrons;
49
use Koha::Patrons;
49
50
Lines 292-319 foreach my $biblionumber (@biblionumbers) { Link Here
292
293
293
    my %itemnumbers_of_biblioitem;
294
    my %itemnumbers_of_biblioitem;
294
295
295
    ## $items is array of 'item' table numbers
296
    my $items = Koha::Items->search({ biblionumber => $biblionumber });
297
    my @itemnumbers = $items->get_column('itemnumber');
298
    my @hostitems = get_hostitemnumbers_of($biblionumber);
296
    my @hostitems = get_hostitemnumbers_of($biblionumber);
297
    my @itemnumbers;
299
    if (@hostitems){
298
    if (@hostitems){
300
        $template->param('hostitemsflag' => 1);
299
        $template->param('hostitemsflag' => 1);
301
        push(@itemnumbers, @hostitems);
300
        push(@itemnumbers, @hostitems);
302
    }
301
    }
303
302
304
    if (!@itemnumbers) {
303
    my $items = Koha::Items->search({ -or => { biblionumber => $biblionumber, itemnumber => { in => \@itemnumbers } } });
304
305
    unless ( $items->count ) {
306
        # FIXME Then why do we continue?
305
        $template->param('noitems' => 1);
307
        $template->param('noitems' => 1);
306
        $biblioloopiter{noitems} = 1;
308
        $biblioloopiter{noitems} = 1;
307
    }
309
    }
308
310
309
    ## Hash of item number to 'item' table fields
310
    my $iteminfos_of = GetItemInfosOf(@itemnumbers);
311
312
    ## Here we go backwards again to create hash of biblioitemnumber to itemnumbers,
311
    ## Here we go backwards again to create hash of biblioitemnumber to itemnumbers,
313
    ## when by definition all of the itemnumber have the same biblioitemnumber
312
    ## when by definition all of the itemnumber have the same biblioitemnumber
314
    foreach my $itemnumber (@itemnumbers) {
313
    my ( $itemnumbers_of_biblioitem, $iteminfos_of);
315
        my $biblioitemnumber = $iteminfos_of->{$itemnumber}->{biblioitemnumber};
314
    while ( my $item = $items->next ) {
315
        $item = $item->unblessed;
316
        my $biblioitemnumber = $item->{biblioitemnumber};
317
        my $itemnumber = $item->{itemnumber};
316
        push( @{ $itemnumbers_of_biblioitem{$biblioitemnumber} }, $itemnumber );
318
        push( @{ $itemnumbers_of_biblioitem{$biblioitemnumber} }, $itemnumber );
319
        $iteminfos_of->{$itemnumber} = $item;
317
    }
320
    }
318
321
319
    ## Should be same as biblionumber
322
    ## Should be same as biblionumber
320
- 

Return to bug 18296