Bug 7330 - System preferences editor generates errors in the log with each search
authorOwen Leonard <oleonard@myacpl.org>
Wed, 7 Dec 2011 15:50:06 +0000 (10:50 -0500)
committerPaul Poulain <paul.poulain@biblibre.com>
Thu, 15 Dec 2011 16:24:44 +0000 (17:24 +0100)
Adding a check for an empty value in a couple of places
which seem to always get one.

As far as I can tell these places in the script are looping
over ALL the data in the pref files, and sometimes an empty
value comes through. I wonder if this is because of a minor
syntax error in the pref file?

My correction is a stab in the dark since I haven't determined
where the empty value is actually coming from. This change
quiets the errors in the log and doesn't seem to affect
preference search results.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
No more messages in the logs. Yay!

Ran unit tests on this (t, xt/author, xt, t/db_dependent)- nothing out of the ordinary in any.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
admin/preferences.pl

index 055f69d..0dcec19 100755 (executable)
@@ -216,6 +216,7 @@ sub SearchPrefs {
 
                 foreach my $piece ( @$line ) {
                     if ( ref( $piece ) eq 'HASH' ) {
+                        if ( !$piece->{'pref'} ){ next; }
                         if ( $piece->{'pref'} =~ /^$searchfield$/i ) {
                             my ( undef, $LINES ) = TransformPrefsToHTML( $data, $searchfield );
 
@@ -249,7 +250,7 @@ sub SearchPrefs {
 
 sub matches {
     my ( $text, $terms ) = @_;
-    return !grep( { $text !~ /$_/i } @$terms );
+    if ( $text ) { return !grep( { $text !~ /$_/i } @$terms ); }
 }
 
 my $dbh = C4::Context->dbh;