Bug 17281 Warning when saving subfield structure
authorFrédéric Demians <f.demians@tamil.fr>
Fri, 9 Sep 2016 06:06:19 +0000 (08:06 +0200)
committerKyle M Hall <kyle@bywatersolutions.com>
Mon, 12 Sep 2016 09:12:29 +0000 (09:12 +0000)
TO TEST:

1. Home > MARC Framework > Default > Actions > MARC structure
2. On 073 field (for example), click Edit
3. Click on Edit subfield button
4. Click on Save changes
5. Take a look in intranet logs. You find:
   Use of uninitialized value in string eq at
   ../admin/marc_subfields_structure.pl
6. Apply the patch, and repeat steps 3-5
   => no more warning in log

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

admin/marc_subfields_structure.pl

index ea1373e..38e6f24 100755 (executable)
@@ -285,7 +285,8 @@ elsif ( $op eq 'add_validate' ) {
         my $maxlength = $maxlength[$i] ? $maxlength[$i] : 9999;
         
         if (defined($liblibrarian) && $liblibrarian ne "") {
-            unless ( C4::Context->config('demo') or C4::Context->config('demo') eq 1 ) {
+            my $is_demo = C4::Context->config('demo') || '';
+            if ( $is_demo ne '1' ) {
                 if (marc_subfield_structure_exists($tagfield, $tagsubfield, $frameworkcode)) {
                     $sth_update->execute(
                         $tagfield,
@@ -376,7 +377,8 @@ elsif ( $op eq 'delete_confirm' ) {
 }
 elsif ( $op eq 'delete_confirmed' ) {
     my $dbh = C4::Context->dbh;
-    unless ( C4::Context->config('demo') or C4::Context->config('demo') eq 1 ) {
+    my $is_demo = C4::Context->config('demo') || '';
+    if ( $is_demo ne '1' ) {
         my $sth =
           $dbh->prepare(
 "delete from marc_subfield_structure where tagfield=? and tagsubfield=? and frameworkcode=?"