X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FMaypole%2FModel%2FCDBI.pm;h=71e1a49f69e9a3457c8434112ce0776a490bda90;hb=094460849c1f2c4ec4ca0a153da2f5039eeedd40;hp=4321ad8e978b940135cc72ef9424d55ed0e6bffa;hpb=b62651a1bceea215765d2e7e416273a1136b5f38;p=maypole.git diff --git a/lib/Maypole/Model/CDBI.pm b/lib/Maypole/Model/CDBI.pm index 4321ad8..71e1a49 100644 --- a/lib/Maypole/Model/CDBI.pm +++ b/lib/Maypole/Model/CDBI.pm @@ -37,18 +37,21 @@ sub related { sub do_edit :Exported { my ($self, $r) = @_; my $h = CGI::Untaint->new(%{$r->{params}}); + my $creating = 0; my ($obj) = @{$r->objects || []}; if ($obj) { # We have something to edit $obj->update_from_cgi($h); } else { $obj = $self->create_from_cgi($h); + $creating++; } if (my %errors = $obj->cgi_update_errors) { # Set it up as it was: $r->{template_args}{cgi_params} = $r->{params}; $r->{template_args}{errors} = \%errors; $r->{template} = "edit"; + undef $obj if $creating; # Couldn't create } else { $r->{template} = "view"; }