X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FMaypole%2FModel%2FCDBI%2FDFV.pm;h=5aa0e9ab85cc37aa592800a620449a3c0ff73c16;hb=refs%2Ftags%2F2.13;hp=ded183fde396e24a5c74bc98b75b9cd37ef82743;hpb=f59ec6e803f30a07c3d726c40fa0cffc2e669142;p=maypole.git diff --git a/lib/Maypole/Model/CDBI/DFV.pm b/lib/Maypole/Model/CDBI/DFV.pm index ded183f..5aa0e9a 100644 --- a/lib/Maypole/Model/CDBI/DFV.pm +++ b/lib/Maypole/Model/CDBI/DFV.pm @@ -35,7 +35,6 @@ of CGI::Untaint. For teh win!! =cut -use Class::C3; use Data::FormValidator; use Data::Dumper; @@ -152,10 +151,6 @@ sub do_edit : Exported { if (ref $errors) { # pass errors to template $r->template_args->{errors} = $errors; - foreach my $error (keys %$errors) { - $r->template_args->{errors}{ucfirst($error)} = $errors->{$error} - } - # Set it up as it was: $r->template_args->{cgi_params} = $r->params; $r->template("edit"); @@ -185,8 +180,16 @@ sub _do_update { my $this_class_params = {}; + + + # NG changes start here. + # Code below fails to handle multi col PKs + my @pks = $class->columns('Primary'); + foreach my $param ( $class->columns ) { - next if ($param eq $class->columns('Primary')); + # next if ($param eq $class->columns('Primary')); + next if grep {/^${param}$/} @pks; + my $value = $r->params->{$param}; next unless (defined $value); $this_class_params->{$param} = ( $value eq '' ) ? undef : $value;