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);
# 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,
} );
$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
$class->related_meta($col);
-Given a column associated with a relationship it will return the relatation
-ship type and the meta info for the relationship on the column.
+Returns the hash ref of relationship meta info for a given column.
=cut
my $class_meta = $self->meta_info;
if (my ($rel_type) = grep { defined $class_meta->{$_}->{$accssr} }
keys %$class_meta)
- { return $rel_type, $class_meta->{$rel_type}->{$accssr} };
+ { return $class_meta->{$rel_type}->{$accssr} };
}
my $info = $class->_column_info->{$col} ||
eval { $class->_isa_class($col)->_column_info($col) } ||
return '';
-
+
my $def = $info->{COLUMN_DEF};
- $def = '' unless defined $def;
-
- # exclude defaults we don't want to display-- may need some additions here
- if ( $class->column_type($col) =~ /^BOOL/i ) {
- $def = $def ? 1 : 0; # allow 0 or 1 for bool cols
- }
- else {
- $def = $def =~ /(^0000-00-00.*$|^0[0]*$|^0\.00$|CURRENT_TIMESTAMP|NULL)/i ? '' : $def ;
-
- }
- return $def;
+ $def = '' unless defined $def; # is this good?
+ return $def;
}
+
+
=head2 get_classmetadata
Gets class meta data *excluding cgi input* for the passed in class or the