/[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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 71 - (hide annotations)
Wed Jul 9 16:38:48 2008 UTC (15 years, 9 months ago) by dpavlin
Original Path: trunk/lib/Strix/View/User.pm
File size: 1113 byte(s)
added edit button and _fey accessor to store Fey::ORM object
(which we update)
1 dpavlin 63 package Strix::View::User;
2    
3 dpavlin 71 use Data::Dump qw/dump/;
4    
5 dpavlin 63 use metaclass 'Moose::Meta::Class' => (
6     attribute_metaclass => 'Continuity::Meta::Attribute::FormField'
7     );
8    
9     use Moose;
10    
11     extends 'Continuity::Widget';
12     #with 'BonusTypes';
13    
14 dpavlin 71 before main => sub {
15     my ($self) = @_;
16     # $self->add_button('Show ID' => sub {
17     # print STDERR "ID = @{[$self->id]}!\n";
18     # $self->next("<tt>id @{[$self->id]}!</tt>");
19     # });
20     $self->add_button('Edit' => sub {
21     my $out = $self->renderer->{edit}->($self);
22     my $f = $self->next($out);
23     $self->set_from_hash($f, sub {
24     warn "## inside set_from_hash ",dump( @_ );
25     my $hash = shift || die "no hash?";
26     warn "## hash = ",dump( $hash );
27     $self->_fey->update( %$hash );
28     });
29     });
30     };
31    
32 dpavlin 63 use Data::Dump qw/dump/;
33    
34     use Strix::User;
35     my $m = Strix::User->meta;
36    
37     foreach ( $m->get_attribute_list ) {
38     warn ">> $_\n";
39     my $attr = $m->get_attribute( $_ );
40    
41     has $_ => (
42     is => $attr->_is_metadata,
43     label => ucfirst($_),
44     required => $attr->is_required,
45     );
46    
47     }
48    
49 dpavlin 71 has _foo => (
50 dpavlin 63 is => 'rw',
51     label => 'Foo',
52     );
53    
54 dpavlin 71 has _fey => (
55     is => 'rw',
56     label => 'Fey object',
57     isa => 'Strix::User',
58     );
59    
60 dpavlin 63 1;

  ViewVC Help
Powered by ViewVC 1.1.26