if() incorrectly eval-ing syspref value 'FALSE' as true, wrapping in boolean.
authorMason James <mtj@liblime.com>
Mon, 29 Oct 2007 06:22:03 +0000 (01:22 -0500)
committerJoshua Ferraro <jmf@liblime.com>
Mon, 29 Oct 2007 21:06:09 +0000 (16:06 -0500)
if (C4::Boolean::true_p(C4::Context->preference("autoBarcode")) != 0 )

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
serials/serials-edit.pl

index e59ea7a..016b6a7 100755 (executable)
@@ -72,6 +72,8 @@ use C4::Output;
 use C4::Context;
 use C4::Serials;
 
+#use Smart::Comments;
+
 my $query = new CGI;
 my $dbh = C4::Context->dbh;
 my @serialids = $query->param('serialid');
@@ -221,7 +223,8 @@ if ($op eq 'serialchangestatus') {
             #New Item
             # if autoBarcode is ON, calculate barcode...
             my ($tagfield,$tagsubfield) = &GetMarcFromKohaField("items.barcode");
-            if (C4::Context->preference('autoBarcode')) {
+            if (C4::Boolean::true_p(C4::Context->preference("autoBarcode")) != 0 ) {
+
               unless ($record->field($tagfield)->subfield($tagsubfield)) {
                 my $sth_barcode = $dbh->prepare("select max(abs(barcode)) from items");
                 $sth_barcode->execute;