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

(-)a/C4/ILSDI/Services.pm (-1 / +1 lines)
Lines 228-234 sub GetRecords { Link Here
228
        my $biblioitemnumber = $biblioitem->{'biblioitemnumber'};
228
        my $biblioitemnumber = $biblioitem->{'biblioitemnumber'};
229
        my $holds  = $biblio->current_holds->unblessed;
229
        my $holds  = $biblio->current_holds->unblessed;
230
        my $issues           = GetBiblioIssues($biblionumber);
230
        my $issues           = GetBiblioIssues($biblionumber);
231
        my $items            = GetItemsByBiblioitemnumber($biblioitemnumber);
231
        my $items            = $biblio->items->unblessed;
232
232
233
        # We loop over the items to clean them
233
        # We loop over the items to clean them
234
        foreach my $item (@$items) {
234
        foreach my $item (@$items) {
(-)a/C4/Items.pm (-59 lines)
Lines 69-75 BEGIN { Link Here
69
        CheckItemPreSave
69
        CheckItemPreSave
70
    
70
    
71
        GetItemsForInventory
71
        GetItemsForInventory
72
        GetItemsByBiblioitemnumber
73
        GetItemsInfo
72
        GetItemsInfo
74
	GetItemsLocationInfo
73
	GetItemsLocationInfo
75
	GetHostItemsInfo
74
	GetHostItemsInfo
Lines 775-785 The following functions provide various ways of Link Here
775
getting an item record, a set of item records, or
774
getting an item record, a set of item records, or
776
lists of authorized values for certain item fields.
775
lists of authorized values for certain item fields.
777
776
778
Some of the functions in this group are candidates
779
for refactoring -- for example, some of the code
780
in C<GetItemsByBiblioitemnumber> and C<GetItemsInfo>
781
has copy-and-paste work.
782
783
=cut
777
=cut
784
778
785
=head2 GetItemsForInventory
779
=head2 GetItemsForInventory
Lines 932-989 sub GetItemsForInventory { Link Here
932
    return (\@results, $iTotalRecords);
926
    return (\@results, $iTotalRecords);
933
}
927
}
934
928
935
=head2 GetItemsByBiblioitemnumber
936
937
  GetItemsByBiblioitemnumber($biblioitemnumber);
938
939
Returns an arrayref of hashrefs suitable for use in a TMPL_LOOP
940
Called by C<C4::XISBN>
941
942
=cut
943
944
sub GetItemsByBiblioitemnumber {
945
    my ( $bibitem ) = @_;
946
    my $dbh = C4::Context->dbh;
947
    my $sth = $dbh->prepare("SELECT * FROM items WHERE items.biblioitemnumber = ?") || die $dbh->errstr;
948
    # Get all items attached to a biblioitem
949
    my $i = 0;
950
    my @results; 
951
    $sth->execute($bibitem) || die $sth->errstr;
952
    while ( my $data = $sth->fetchrow_hashref ) {  
953
        # Foreach item, get circulation information
954
        my $sth2 = $dbh->prepare( "SELECT * FROM issues,borrowers
955
                                   WHERE itemnumber = ?
956
                                   AND issues.borrowernumber = borrowers.borrowernumber"
957
        );
958
        $sth2->execute( $data->{'itemnumber'} );
959
        if ( my $data2 = $sth2->fetchrow_hashref ) {
960
            # if item is out, set the due date and who it is out too
961
            $data->{'date_due'}   = $data2->{'date_due'};
962
            $data->{'cardnumber'} = $data2->{'cardnumber'};
963
            $data->{'borrowernumber'}   = $data2->{'borrowernumber'};
964
        }
965
        else {
966
            # set date_due to blank, so in the template we check itemlost, and withdrawn
967
            $data->{'date_due'} = '';                                                                                                         
968
        }    # else         
969
        # Find the last 3 people who borrowed this item.                  
970
        my $query2 = "SELECT * FROM old_issues, borrowers WHERE itemnumber = ?
971
                      AND old_issues.borrowernumber = borrowers.borrowernumber
972
                      ORDER BY returndate desc,timestamp desc LIMIT 3";
973
        $sth2 = $dbh->prepare($query2) || die $dbh->errstr;
974
        $sth2->execute( $data->{'itemnumber'} ) || die $sth2->errstr;
975
        my $i2 = 0;
976
        while ( my $data2 = $sth2->fetchrow_hashref ) {
977
            $data->{"timestamp$i2"} = $data2->{'timestamp'};
978
            $data->{"card$i2"}      = $data2->{'cardnumber'};
979
            $data->{"borrower$i2"}  = $data2->{'borrowernumber'};
980
            $i2++;
981
        }
982
        push(@results,$data);
983
    } 
984
    return (\@results); 
985
}
986
987
=head2 GetItemsInfo
929
=head2 GetItemsInfo
988
930
989
  @results = GetItemsInfo($biblionumber);
931
  @results = GetItemsInfo($biblionumber);
990
- 

Return to bug 21202