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

(-)a/C4/Items.pm (-18 / +17 lines)
Lines 149-186 names to values. If C<$serial> is true, include serial publication data. Link Here
149
sub GetItem {
149
sub GetItem {
150
    my ($itemnumber,$barcode, $serial) = @_;
150
    my ($itemnumber,$barcode, $serial) = @_;
151
    my $dbh = C4::Context->dbh;
151
    my $dbh = C4::Context->dbh;
152
	my $data;
152
    my $data;
153
153
154
    if ($itemnumber) {
154
    if ($itemnumber) {
155
        my $sth = $dbh->prepare("
155
        my $sth = $dbh->prepare("
156
            SELECT * FROM items 
156
            SELECT * FROM items
157
            WHERE itemnumber = ?");
157
            WHERE itemnumber = ?");
158
        $sth->execute($itemnumber);
158
        $sth->execute($itemnumber);
159
        $data = $sth->fetchrow_hashref;
159
        $data = $sth->fetchrow_hashref;
160
    } else {
160
    } else {
161
        my $sth = $dbh->prepare("
161
        my $sth = $dbh->prepare("
162
            SELECT * FROM items 
162
            SELECT * FROM items
163
            WHERE barcode = ?"
163
            WHERE barcode = ?"
164
            );
164
            );
165
        $sth->execute($barcode);		
165
        $sth->execute($barcode);
166
        $data = $sth->fetchrow_hashref;
166
        $data = $sth->fetchrow_hashref;
167
    }
167
    }
168
168
169
    return unless ( $data );
169
    return unless ( $data );
170
170
171
    if ( $serial) {      
171
    if ($serial) {
172
    my $ssth = $dbh->prepare("SELECT serialseq,publisheddate from serialitems left join serial on serialitems.serialid=serial.serialid where serialitems.itemnumber=?");
172
        my $ssth = $dbh->prepare("SELECT serialseq,publisheddate from serialitems left join serial on serialitems.serialid=serial.serialid where serialitems.itemnumber=?");
173
        $ssth->execute($data->{'itemnumber'}) ;
173
        $ssth->execute( $data->{'itemnumber'} );
174
        ($data->{'serialseq'} , $data->{'publisheddate'}) = $ssth->fetchrow_array();
174
        ( $data->{'serialseq'}, $data->{'publisheddate'} ) = $ssth->fetchrow_array();
175
    }
175
    }
176
	#if we don't have an items.itype, use biblioitems.itemtype.
176
177
    # FIXME this should respect the itypes systempreference
177
    # Set the itype to biblioitems.itype unless we are using item level itypes
178
    # if (C4::Context->preference('item-level_itypes')) {
178
    unless ( C4::Context->preference('item-level_itypes') ) {
179
	if( ! $data->{'itype'} ) {
179
        my $sth = $dbh->prepare("SELECT itemtype FROM biblioitems WHERE biblionumber = ?");
180
		my $sth = $dbh->prepare("SELECT itemtype FROM biblioitems  WHERE biblionumber = ?");
180
        $sth->execute( $data->{'biblionumber'} );
181
		$sth->execute($data->{'biblionumber'});
181
        ( $data->{'itype'} ) = $sth->fetchrow_array;
182
		($data->{'itype'}) = $sth->fetchrow_array;
182
    }
183
	}
183
184
    return $data;
184
    return $data;
185
}    # sub GetItem
185
}    # sub GetItem
186
186
187
- 

Return to bug 14598