X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FMaypole%2FModel%2FCDBI%2FAsForm.pm;h=8a7f06c95e3f8237aad4d82009b0eba928353060;hb=ee812d68b34c0e43d89551e39ebf5b7d247ac5b6;hp=06f1039f3f1da76866a975733e63dbd0efb9909b;hpb=99967c293b1b617a0cac8126f923f6acfa2e4598;p=maypole.git diff --git a/lib/Maypole/Model/CDBI/AsForm.pm b/lib/Maypole/Model/CDBI/AsForm.pm index 06f1039..8a7f06c 100644 --- a/lib/Maypole/Model/CDBI/AsForm.pm +++ b/lib/Maypole/Model/CDBI/AsForm.pm @@ -1,6 +1,4 @@ package Maypole::Model::CDBI::AsForm; - -use Class::C3; use strict; use warnings; @@ -882,9 +880,9 @@ sub _to_bool_select { unless (defined $selected); my $a = HTML::Element->new("select", name => $col); - if ($args->{column_nullable} || $args->{value} eq '') { + if ($args->{column_nullable} || !defined $args->{value} ) { my $null = HTML::Element->new("option"); - $null->attr('selected', 'selected') if $args->{value} eq ''; + $null->attr('selected', 'selected') if (!defined $args->{value}); $a->push_content( $null ); } @@ -1179,7 +1177,7 @@ sub _options_from_objects { for my $object (@$items) { my $stringify = $args->{stringify}; if ($object->can('stringify_column') ) { - $stringify ||= $object->stringify_column if ($object->can($object->stringify_column)); + $stringify ||= $object->stringify_column if ($object->stringify_column && $object->can($object->stringify_column)); } my $id = $object->id; my $opt = HTML::Element->new("option", value => $id);