/[Frey]/trunk/lib/Frey/Web/Item.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/Frey/Web/Item.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 71 by dpavlin, Wed Jul 9 16:38:48 2008 UTC revision 74 by dpavlin, Wed Jul 9 20:46:40 2008 UTC
# Line 11  use Moose; Line 11  use Moose;
11  extends 'Continuity::Widget';  extends 'Continuity::Widget';
12  #with 'BonusTypes';  #with 'BonusTypes';
13    
14  before main => sub {  sub main {
15          my ($self) = @_;          my ( $self ) = @_;
16  #       $self->add_button('Show ID' => sub {  
17  #               print STDERR "ID = @{[$self->id]}!\n";          if ( ! $self->_fey ) {
18  #               $self->next("<tt>id @{[$self->id]}!</tt>");                  $self->add_button( 'Add' => sub {
19  #       });                          warn "## Add button callback ",dump( @_ );
20          $self->add_button('Edit' => sub {                          my $f = shift;
21                  my $out = $self->renderer->{edit}->($self);  #                       my $out = $self->render_edit;
22                  my $f = $self->next($out);  #                       my $f = $self->next($out);
23                  $self->set_from_hash($f, sub {                          warn "## my uuid ",$self->uuid;
24                          warn "## inside set_from_hash ",dump( @_ );                          $self->set_from_hash($f, sub {
25                          my $hash = shift || die "no hash?";                                  warn "## inside set_from_hash ",dump( @_ );
26                          warn "## hash = ",dump( $hash );                                  my $hash = shift || die "no hash?";
27                          $self->_fey->update( %$hash );                                  delete( $hash->{id} );  # FIXME clear primary key
28    #                               $hash->{id} = undef;
29                                    my $u = Strix::User->insert( %$hash );
30                                    warn "Inserted ",$u->id;
31                                    $self->_fey( $u );
32                            });
33                    });
34            } else {
35    
36                    $self->add_button( 'Edit' => sub {
37                            my $out = $self->render_edit;
38                            my $f = $self->next($out);
39                            $self->set_from_hash($f, sub {
40                                    warn "## inside set_from_hash ",dump( @_ );
41                                    my $hash = shift || die "no hash?";
42                                    $self->_fey->update( %$hash );
43                            });
44                    });
45    
46                    $self->add_button('Delete' => sub {
47                            print STDERR "delete ID @{[$self->id]}!\n";
48                            $self->_fey->delete;
49                            $self->next("Deleted id @{[$self->id]}!");
50                            $self->render_as( 'deleted' );
51                            Strix::Schema->ClearObjectCaches();     # XXX important!
52                  });                  });
53          });  
54            }
55    
56            while(1) {
57                    my $code = '$self->render_' . $self->render_as . ';';
58                    warn "CODE: $code";
59            my $out = eval "$code";
60                    warn $@ if $@;
61                    my $f = $self->next($out);
62                    $self->set_from_hash($f);
63                    $self->exec_buttons($f);
64            }
65  };  };
66    
67  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
# Line 35  use Strix::User; Line 70  use Strix::User;
70  my $m = Strix::User->meta;  my $m = Strix::User->meta;
71    
72  foreach ( $m->get_attribute_list ) {  foreach ( $m->get_attribute_list ) {
         warn ">> $_\n";  
73          my $attr = $m->get_attribute( $_ );          my $attr = $m->get_attribute( $_ );
74            warn ">> $_\n";
75    
76            # FIXME primary key would have to be read-only!
77    
78          has $_ => (          has $_ => (
79                  is => $attr->_is_metadata,                  is => $attr->_is_metadata,

Legend:
Removed from v.71  
changed lines
  Added in v.74

  ViewVC Help
Powered by ViewVC 1.1.26