From 929d281e930b7fc065284944d06effdf198a4a08 Mon Sep 17 00:00:00 2001 From: Michael Hafen Date: Fri, 4 Dec 2009 15:37:26 -0700 Subject: [PATCH] bugfix Move Item From Biblio - biblioitemnumber isn't the same as biblionumber In the database and code biblioitemnumber is not guaranteed to be the same as biblionumber. --- C4/Items.pm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/C4/Items.pm b/C4/Items.pm index d2eee3621c..ccf8b0563b 100644 --- a/C4/Items.pm +++ b/C4/Items.pm @@ -2032,8 +2032,11 @@ Returns undef if the move failed or the biblionumber of the destination record o 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 -- 2.39.5