# parse item hash from MARC
my $frameworkcode = GetFrameworkCode( $biblionumber );
- my $item = &TransformMarcToKoha( $dbh, $source_item_marc, $frameworkcode );
- my $unlinked_item_subfields = _get_unlinked_item_subfields($source_item_marc, $frameworkcode);
+ my ($itemtag,$itemsubfield)=GetMarcFromKohaField("items.itemnumber",$frameworkcode);
+
+ my $localitemmarc=MARC::Record->new;
+ $localitemmarc->append_fields($source_item_marc->field($itemtag));
+ my $item = &TransformMarcToKoha( $dbh, $localitemmarc, $frameworkcode ,'items');
+ my $unlinked_item_subfields = _get_unlinked_item_subfields($localitemmarc, $frameworkcode);
return AddItem($item, $biblionumber, $dbh, $frameworkcode, $unlinked_item_subfields);
}
my $localitemmarc=MARC::Record->new;
$localitemmarc->append_fields($item_marc->field($itemtag));
- my $item = &TransformMarcToKoha( $dbh, $item_marc, $frameworkcode ,'items');
+ my $item = &TransformMarcToKoha( $dbh, $localitemmarc, $frameworkcode, 'items');
foreach my $item_field (keys %default_values_for_mod_from_marc) {
$item->{$item_field} = $default_values_for_mod_from_marc{$item_field} unless exists $item->{$item_field};
}
- my $unlinked_item_subfields = _get_unlinked_item_subfields($item_marc, $frameworkcode);
+ my $unlinked_item_subfields = _get_unlinked_item_subfields($localitemmarc, $frameworkcode);
return ModItem($item, $biblionumber, $itemnumber, $dbh, $frameworkcode, $unlinked_item_subfields);
}
$query .= 'WHERE ';
$query .= join ' AND ', @where_strings;
}
- $query .= ' ORDER BY itemcallnumber, title';
+ $query .= ' ORDER BY items.cn_sort, itemcallnumber, title';
my $sth = $dbh->prepare($query);
$sth->execute( @bind_params );
sub MoveItemFromBiblio {
my ($itemnumber, $frombiblio, $tobiblio) = @_;
my $dbh = C4::Context->dbh;
- my $sth = $dbh->prepare("UPDATE items SET biblioitemnumber = ?, biblionumber = ? WHERE itemnumber = ? AND biblionumber = ?");
- my $return = $sth->execute($tobiblio, $tobiblio, $itemnumber, $frombiblio);
+ my $sth = $dbh->prepare("SELECT biblioitemnumber FROM biblioitems WHERE biblionumber = ?");
+ $sth->execute( $tobiblio );
+ my ( $tobiblioitem ) = $sth->fetchrow();
+ $sth = $dbh->prepare("UPDATE items SET biblioitemnumber = ?, biblionumber = ? WHERE itemnumber = ? AND biblionumber = ?");
+ my $return = $sth->execute($tobiblioitem, $tobiblio, $itemnumber, $frombiblio);
if ($return == 1) {
# Getting framework