From 1abd2286e73de978b6db795f26f8c4e3732ed537 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 27 Feb 2018 13:36:21 -0300 Subject: [PATCH] Bug 20304: Remove warnings from cataloguing scripts --- cataloguing/additem.pl | 39 +++++++++++++++++++++++---------------- tools/batchMod.pl | 2 +- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/cataloguing/additem.pl b/cataloguing/additem.pl index a6aa25cd0e..228e16b0f8 100755 --- a/cataloguing/additem.pl +++ b/cataloguing/additem.pl @@ -128,20 +128,23 @@ sub generate_subfield_form { $subfield_data{repeatable} = $subfieldlib->{repeatable}; $subfield_data{maxlength} = $subfieldlib->{maxlength}; - $value =~ s/"/"/g; if ( ! defined( $value ) || $value eq '') { $value = $subfieldlib->{defaultvalue}; - # get today date & replace <>, <>, <
> if provided in the default value - my $today_dt = dt_from_string; - my $year = $today_dt->strftime('%Y'); - my $month = $today_dt->strftime('%m'); - my $day = $today_dt->strftime('%d'); - $value =~ s/<>/$year/g; - $value =~ s/<>/$month/g; - $value =~ s/<
>/$day/g; - # And <> with surname (?) - my $username=(C4::Context->userenv?C4::Context->userenv->{'surname'}:"superlibrarian"); - $value=~s/<>/$username/g; + if ( $value ) { + # get today date & replace <>, <>, <
> if provided in the default value + my $today_dt = dt_from_string; + my $year = $today_dt->strftime('%Y'); + my $month = $today_dt->strftime('%m'); + my $day = $today_dt->strftime('%d'); + $value =~ s/<>/$year/g; + $value =~ s/<>/$month/g; + $value =~ s/<
>/$day/g; + # And <> with surname (?) + my $username=(C4::Context->userenv?C4::Context->userenv->{'surname'}:"superlibrarian"); + $value=~s/<>/$username/g; + } + } else { + $value =~ s/"/"/g; } $subfield_data{visibility} = "display:none;" if (($subfieldlib->{hidden} > 4) || ($subfieldlib->{hidden} <= -4)); @@ -153,7 +156,9 @@ sub generate_subfield_form { my $CNsubfield2 = substr($pref_itemcallnumber, 4, 1); my $temp2 = $temp->field($CNtag); if ($temp2) { - $value = ($temp2->subfield($CNsubfield)).' '.($temp2->subfield($CNsubfield2)); + my $value = q{}; + $value .= $temp2->subfield($CNsubfield) if $temp2->subfield($CNsubfield); + $value .= $temp2->subfield($CNsubfield2) if $temp2->subfield($CNsubfield2); #remove any trailing space incase one subfield is used $value =~ s/^\s+|\s+$//g; } @@ -293,7 +298,9 @@ sub generate_subfield_form { }; } elsif ( - length($value) > 100 + ( + $value and length($value) > 100 + ) or ( C4::Context->preference("marcflavour") eq "UNIMARC" and 300 <= $tag && $tag < 400 && $subfieldtag eq 'a' @@ -323,7 +330,7 @@ sub generate_subfield_form { my $subfieldsToAllowForRestrictedEditing = C4::Context->preference('SubfieldsToAllowForRestrictedEditing'); my $allowAllSubfields = ( not defined $subfieldsToAllowForRestrictedEditing - or $subfieldsToAllowForRestrictedEditing == q|| + or $subfieldsToAllowForRestrictedEditing ne q|| ) ? 1 : 0; my @subfieldsToAllow = split(/ /, $subfieldsToAllowForRestrictedEditing); @@ -370,7 +377,7 @@ my $input = new CGI; my $error = $input->param('error'); my $biblionumber = $input->param('biblionumber'); my $itemnumber = $input->param('itemnumber'); -my $op = $input->param('op'); +my $op = $input->param('op') || q{}; my $hostitemnumber = $input->param('hostitemnumber'); my $marcflavour = C4::Context->preference("marcflavour"); my $searchid = $input->param('searchid'); diff --git a/tools/batchMod.pl b/tools/batchMod.pl index 5f540766f6..62716dafe0 100755 --- a/tools/batchMod.pl +++ b/tools/batchMod.pl @@ -315,7 +315,7 @@ my $pref_itemcallnumber = C4::Context->preference('itemcallnumber'); my $subfieldsToAllowForBatchmod = C4::Context->preference('SubfieldsToAllowForRestrictedBatchmod'); my $allowAllSubfields = ( not defined $subfieldsToAllowForBatchmod - or $subfieldsToAllowForBatchmod == q|| + or $subfieldsToAllowForBatchmod ne q|| ) ? 1 : 0; my @subfieldsToAllow = split(/ /, $subfieldsToAllowForBatchmod); -- 2.11.0