Bug 19350 - Holds without link in 773 trigger SQL::Abstract::puke
authorDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 20 Sep 2017 14:01:16 +0000 (16:01 +0200)
committerKatrin Fischer <katrin.fischer.83@web.de>
Wed, 18 Oct 2017 21:04:22 +0000 (23:04 +0200)
Test:
1. find bibio without items which has something in field 773
   (for us, it's article) but doesn't have 0 or 9 (host item entry)
2. click on hold in left menu
3. verify application error
4. apply patch and verify that it works

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
(cherry picked from commit 5c873a408f40fd1660d0b09c6de8c1ca2e252d11)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
(cherry picked from commit a2fd973b644c9956ce7c35bdc2fcdb7b0e71e45e)
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

C4/Items.pm

index 5861718..b18da0a 100644 (file)
@@ -1661,7 +1661,12 @@ sub get_hostitemnumbers_of {
 
     foreach my $hostfield ( $marcrecord->field($tag) ) {
         my $hostbiblionumber = $hostfield->subfield($biblio_s);
+        next unless $hostbiblionumber; # have tag, don't have $biblio_s subfield
         my $linkeditemnumber = $hostfield->subfield($item_s);
+        if ( ! $linkeditemnumber ) {
+            warn "ERROR biblionumber $biblionumber has 773^0, but doesn't have 9";
+            next;
+        }
         my @itemnumbers;
         if ( my $itemnumbers =
             get_itemnumbers_of($hostbiblionumber)->{$hostbiblionumber} )