From: Dan Wells Date: Wed, 3 Dec 2014 19:21:16 +0000 (-0500) Subject: LP#1198465 Allow null fields to stay null in to_fieldmapper() X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=14de2b0e47813e76fff1b067ccf02afbefd9df3b;p=evergreen%2Fmasslnc.git LP#1198465 Allow null fields to stay null in to_fieldmapper() In CDBI.pm, we can convert DB objects to Fieldmapper objects using to_fieldmapper(). Part of the conversion was forcing stringification, which does what we need for nested objects, but also converts 'nulls' (undefineds) to 'empty' values. This causes problems when trying to write these Fieldmapper objects back to the DB using cstore (or the like). This commit simply lets undefined values stay that way, which in turn prevents NULLs from trying to become empty strings in the DB. Signed-off-by: Dan Wells Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm index c3a0cf027a..d8391b8edc 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm @@ -178,7 +178,7 @@ sub to_fieldmapper { if (ref($obj)) { for my $field ( $fm->real_fields ) { - $fm->$field( ''.$obj->$field ); + $fm->$field( ''.$obj->$field ) if defined $obj->$field; } }