--- trunk/lib/Frey/Web/Row.pm 2008/07/11 17:53:08 98 +++ trunk/lib/Frey/Web/Row.pm 2008/07/13 16:17:34 111 @@ -15,11 +15,16 @@ has fey => ( is => 'rw', - label => 'Fey object', isa => 'Object', # FIXME Strix::User? # required => 1, # XXX if we require it we can't have Add form ); +has fey_class => ( + is => 'rw', + isa => 'Str', + required => 1, +); + enum 'Layouts' => qw( div table columns ); has layout => ( is => 'rw', @@ -116,7 +121,7 @@ my $hash = $self->set_from_hash($f); warn "## Add hash ", $self->uuid, " => ",dump( $hash, $f ); delete( $hash->{id} ); # FIXME clear primary key - my $u = Strix::User->insert( %$hash ); + my $u = $self->fey_class->insert( %$hash ); warn "Inserted ",$u->id; # XXX store object for later $self->fey( $u ); @@ -157,6 +162,7 @@ #warn "# edit render_iterator ",dump( @_ ); my ( $name, $field_name, $label, $val ) = @_; return if $name =~ /^_/; + $val ||= ''; return qq| $label @@ -192,6 +198,7 @@ #warn "# view render_iterator ",dump( @_ ); my ( $name, $field_name, $label, $val ) = @_; return if $name =~ /^_/; + $val ||= ''; return qq|$label$val| if $self->layout eq 'table'; return qq|$val| if $self->layout eq 'columns'; return qq| @@ -217,23 +224,21 @@ return qq|
| . $out . $self->render_buttons . qq|
|; } -use Strix::User; - sub _build_display_columns { my $self = shift; - my $m = Strix::User->meta; + my $m = $self->fey_class->meta; my @cols; foreach ( $m->get_attribute_list ) { my $attr = $m->get_attribute( $_ ); - warn ">> $_\n"; + warn "_build_display_columns $_\n" if $self->debug; # FIXME primary key would have to be read-only! push @cols, $_; } - warn "## display_columns ",dump( @cols ); + warn "## display_columns ",dump( @cols ) if $self->debug; return \@cols; }