--- trunk/lib/Strix/View/User.pm 2008/07/10 20:00:54 89 +++ trunk/lib/Strix/View/User.pm 2008/07/11 09:24:23 92 @@ -18,12 +18,21 @@ return unless $self->_fey; $self->add_button( 'Edit' => sub { + $self->remove_button( 'Delete' ); + $self->rename_button( 'Edit' => 'Save' ); my $out = $self->render_edit; my $f = $self->next($out); my $hash = $self->set_from_hash($f); - $self->_fey->update( %$hash ); + #warn "# Edit/Save hash = ",dump( $hash ); + $self->_fey->update( %$hash ) if $hash; + $self->rename_button( 'Save' => 'Edit' ); + $self->delete_button; }); + $self->delete_button; +} +sub delete_button { + my $self = shift; $self->add_button('Delete' => sub { print STDERR "delete ID @{[$self->id]}!\n"; $self->_fey->delete; @@ -31,7 +40,6 @@ $self->render_as( 'deleted' ); Strix::Schema->ClearObjectCaches(); # XXX important! }); - } sub main { @@ -84,16 +92,16 @@ my ( $name, $field_name, $label, $val ) = @_; return if $name =~ /^_/; return qq| - - $label - + + $label + | if $self->_layout eq 'table'; return qq|
-
$label
+
@@ -128,6 +136,7 @@ carp "no output, skipping"; return ''; } + $out =~ s/^\t+//mg; # XXX compress output return $out . qq|| . $self->render_buttons . qq|| if $self->_layout eq 'table'; return qq|
| . $out . $self->render_buttons . qq|
|; }