From 2c9aeb9b0f4449d1a25274b8fbf8dae4ec11d3bf Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 15 Mar 2017 12:30:53 -0300 Subject: [PATCH] Bug 18277: Remove GetBiblionumberFromItemnumber - linkitem Test plan: Enable EasyAnalyticalRecords and link an item to another one (Edit > link to host item) Signed-off-by: Josef Moravec Signed-off-by: Marcel de Rooy Signed-off-by: Jonathan Druart --- cataloguing/linkitem.pl | 69 +++++++++---------- .../prog/en/modules/cataloguing/linkitem.tt | 1 - 2 files changed, 34 insertions(+), 36 deletions(-) diff --git a/cataloguing/linkitem.pl b/cataloguing/linkitem.pl index 082c7b0e1f..5f33c16c53 100755 --- a/cataloguing/linkitem.pl +++ b/cataloguing/linkitem.pl @@ -56,43 +56,42 @@ if ($marcflavour eq 'MARC21' || $marcflavour eq 'NORMARC') { $template->param(biblionumber => $biblionumber); -if ($barcode && $biblionumber) { - - # We get the host itemnumber - my $hostitemnumber = GetItemnumberFromBarcode($barcode); - - if ($hostitemnumber) { - my $hostbiblionumber = GetBiblionumberFromItemnumber($hostitemnumber); - - if ($hostbiblionumber) { - my $field = PrepHostMarcField($hostbiblionumber, $hostitemnumber,$marcflavour); - $biblio->append_fields($field); - - my $modresult = ModBiblio($biblio, $biblionumber, ''); - if ($modresult) { - $template->param(success => 1); - } else { - $template->param(error => 1, - errornomodbiblio => 1); - } - } else { - $template->param(error => 1, - errornohostbiblionumber => 1); - } - } else { - $template->param(error => 1, - errornohostitemnumber => 1); - +if ( $barcode && $biblionumber ) { + + my $item = Koha::Items->find( { barcode => $barcode } ); + + if ($item) { + my $field = PrepHostMarcField( $item->biblio->biblionumber, $item->itemnumber, $marcflavour ); + $biblio->append_fields($field); + + my $modresult = ModBiblio( $biblio, $biblionumber, '' ); + if ($modresult) { + $template->param( success => 1 ); + } + else { + $template->param( + error => 1, + errornomodbiblio => 1 + ); + } + } + else { + $template->param( + error => 1, + errornohostitemnumber => 1, + ); } + $template->param( - barcode => $barcode, - hostitemnumber => $hostitemnumber, - ); - -} else { - $template->param(missingparameter => 1); - if (!$barcode) { $template->param(missingbarcode => 1); } - if (!$biblionumber) { $template->param(missingbiblionumber => 1); } + barcode => $barcode, + hostitemnumber => $item->itemnumber, + ); + +} +else { + $template->param( missingparameter => 1 ); + if ( !$barcode ) { $template->param( missingbarcode => 1 ); } + if ( !$biblionumber ) { $template->param( missingbiblionumber => 1 ); } } diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/linkitem.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/linkitem.tt index 4261554a7a..0741fce9ad 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/linkitem.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/linkitem.tt @@ -11,7 +11,6 @@ [% IF ( error ) %]
[% IF ( errornomodbiblio ) %]ERROR: Unable to modify the bibliographic record.[% END %] - [% IF ( errornohostbiblionumber ) %]ERROR: Unable to get the biblio number of host item.[% END %] [% IF ( errornohostitemnumber ) %]ERROR: Unable to get the item number from this barcode.[% END %]
-- 2.39.5