Bug 21172: Remove warning from addbiblio.pl
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 7 Aug 2018 20:06:41 +0000 (17:06 -0300)
committerLucas Gass <lucas@bywatersolutions.com>
Fri, 10 May 2019 20:51:31 +0000 (20:51 +0000)
Argument "01e" isn't numeric in numeric ne (!=) at
/home/vagrant/kohaclone/cataloguing/addbiblio.pl line 507.

A tagfield can be 01e and so raise a warning is compared with == or !=

This patch also fixes few inconsistencies:
- tagfield for items.itemnumber must be retrieved with GetMarcFromKohaField
(to support other marcflavours)
- do not use $_
- loop only once on $usedTagsLib

Test plan:
For devs only, read the code and confirm the changes make sense.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit f3afec0587f4baeff580e153ea592020d4d36be3)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 1ed01089db28deb6f9689bbb64c30ee805559dbf)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

cataloguing/addbiblio.pl

index 9018929..9b2d689 100755 (executable)
@@ -491,16 +491,19 @@ sub build_tabs {
     my @BIG_LOOP;
     my %seen;
     my @tab_data; # all tags to display
-    
+
+    my $max_num_tab=-1;
+    my ( $itemtag, $itemsubfield ) = GetMarcFromKohaField( "items.itemnumber", scalar $input->param('frameworkcode') );
     foreach my $used ( @$usedTagsLib ){
+
         push @tab_data,$used->{tagfield} if not $seen{$used->{tagfield}};
         $seen{$used->{tagfield}}++;
-    }
-        
-    my $max_num_tab=-1;
-    foreach(@$usedTagsLib){
-        if($_->{tab} > -1 && $_->{tab} >= $max_num_tab && $_->{tagfield} != '995'){ # FIXME : MARC21 ?
-            $max_num_tab = $_->{tab}; 
+
+        if (   $used->{tab} > -1
+            && $used->{tab} >= $max_num_tab
+            && $used->{tagfield} ne $itemtag )
+        {
+            $max_num_tab = $used->{tab};
         }
     }
     if($max_num_tab >= 9){