--- trunk/lib/Strix/View/User.pm 2008/07/10 10:28:11 78 +++ trunk/lib/Strix/View/User.pm 2008/07/10 10:33:04 79 @@ -29,9 +29,14 @@ my $u = Strix::User->insert( %$hash ); warn "Inserted ",$u->id; $self->_fey( $u ); + $self->render_as( 'view' ); }); }); - } else { + } + + warn "# _fey = ",dump( $self->_fey ); + + if ( $self->_fey ) { $self->add_button( 'Edit' => sub { my $out = $self->render_edit; @@ -54,9 +59,46 @@ } while(1) { - my $code = '$self->render_' . $self->render_as . ';'; - warn "CODE: $code"; - my $out = eval "$code"; + my $out; + if ( $self->render_as eq 'edit' ) { + $out = $self->render_iterator( + qq|
|, + sub { + #warn "# edit render_iterator ",dump( @_ ); + my ( $name, $field_name, $label, $val ) = @_; + return if $name =~ /^_/; + return qq| +
+
$label
+
+ +
+
+ |; + }, + qq|
| + ); + } elsif ( $self->render_as eq 'view' ) { + $out = $self->render_iterator( + qq|
|, + sub { + #warn "# view render_iterator ",dump( @_ ); + my ( $name, $field_name, $label, $val ) = @_; + return if $name =~ /^_/; + return qq| +
+
$label
+
$val
+
+
+ |; + }, + qq|| + ); + } else { + warn "no renderer ",dump( $self->render_as ), " skipping..."; + } + warn $@ if $@; my $f = $self->next($out); $self->set_from_hash($f);