]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole/Model/CDBI.pm
Fixed FromCGI and AsForm some more. No official tests in crud.t yet but
[maypole.git] / lib / Maypole / Model / CDBI.pm
index 933fc55bade156175d88dd798d829f3a9e62fc2e..e65caa2ba46f85ad3eac4002409c6a1e55992aa1 100644 (file)
@@ -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