X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FMaypole%2FModel%2FCDBI.pm;fp=lib%2FMaypole%2FModel%2FCDBI.pm;h=ae11c4dc1fc50d2d498d5515c93e9a16e262cccd;hb=1194fb590c7566bf936be64155db24275e263ff6;hp=bd982e6ccfe4e84798d9bfd1183ae58607cfdf18;hpb=e7f319a9e935411f945702295a6622da5fe50ffe;p=maypole.git diff --git a/lib/Maypole/Model/CDBI.pm b/lib/Maypole/Model/CDBI.pm index bd982e6..ae11c4d 100644 --- a/lib/Maypole/Model/CDBI.pm +++ b/lib/Maypole/Model/CDBI.pm @@ -100,11 +100,15 @@ sub do_edit : Exported { } undef $obj if $creating; + + die "do_update failed with error : $fatal" if ($fatal); $r->template("edit"); } else { $r->template("view"); } + + $r->objects( $obj ? [$obj] : []); } @@ -136,7 +140,10 @@ sub _do_update_or_create { }; if ($fatal = $@) { - warn "$fatal" if $r->debug; + warn "FATAL ERROR: $fatal" if $r->debug; +# $self->dbi_rollback; + } else { +# $self->dbi_commit; } $creating++; } @@ -173,7 +180,9 @@ sub delete : Exported { sub do_delete { my ( $self, $r ) = @_; + # FIXME: handle fatal error with exception $_->SUPER::delete for @{ $r->objects || [] }; +# $self->dbi_commit; $r->objects( [ $self->retrieve_all ] ); $r->{template} = "list"; $self->list($r);