X-Git-Url: https://git.decadent.org.uk/gitweb/?p=maypole.git;a=blobdiff_plain;f=lib%2FMaypole%2FModel%2FCDBI.pm;h=e65caa2ba46f85ad3eac4002409c6a1e55992aa1;hp=933fc55bade156175d88dd798d829f3a9e62fc2e;hb=c3973978e1373a262d13da63c9e9ecfde4b72cc7;hpb=2a0564f48a17a688c114fac6384bb2a4dd34865b diff --git a/lib/Maypole/Model/CDBI.pm b/lib/Maypole/Model/CDBI.pm index 933fc55..e65caa2 100644 --- a/lib/Maypole/Model/CDBI.pm +++ b/lib/Maypole/Model/CDBI.pm @@ -80,8 +80,8 @@ sub do_edit : Exported { return; } - my $required_cols = $config->{$table}->{required_cols} || []; - my $ignored_cols = $r->{config}{ $r->{table} }{ignore_cols} || []; + my $required_cols = $config->{$table}{required_cols} || []; + my $ignored_cols = $config->{$table}{ignore_cols} || []; ($obj, my $fatal, my $creating) = $self->_do_update_or_create($r, $obj, $required_cols, $ignored_cols); @@ -135,16 +135,16 @@ sub _do_update_or_create { # update or create if ($obj) { # We have something to edit - eval { $obj->update_from_cgi( $h => { + eval { $obj->update_from_cgi( $r => { required => $required_cols, ignore => $ignored_cols, - } ); + }); $obj->update(); # pos fix for bug 17132 'autoupdate required by do_edit' }; $fatal = $@; } else { eval { - $obj = $self->create_from_cgi( $h => { + $obj = $self->create_from_cgi( $r => { required => $required_cols, ignore => $ignored_cols, } ); @@ -152,11 +152,43 @@ sub _do_update_or_create { $fatal = $@; $creating++; } - return $obj, $fatal, $creating; } +# split out from do_edit to be reported by Mp::P::Trace +#sub _do_update_or_create { +# my ($self, $r, $obj, $required_cols, $ignored_cols) = @_; +# +# my $fatal; +# my $creating = 0; +# +# my $h = $self->Untainter->new( %{$r->params} ); +# +# # update or create +# if ($obj) { +# # We have something to edit +# eval { $obj->update_from_cgi( $h => { +# required => $required_cols, +# ignore => $ignored_cols, +# } ); +# $obj->update(); # pos fix for bug 17132 'autoupdate required by do_edit' +# }; +# $fatal = $@; +# } else { +# eval { +# $obj = $self->create_from_cgi( $h => { +# required => $required_cols, +# ignore => $ignored_cols, +# } ); +# }; +# $fatal = $@; +# $creating++; +# } +# +# return $obj, $fatal, $creating; +#} + =head2 delete Deprecated method that calls do_delete or a given classes delete method, please