1 |
package Frey::Web::Item; |
package Frey::ORM::Item; |
2 |
|
|
3 |
use Data::Dump qw/dump/; |
use Data::Dump qw/dump/; |
4 |
use Carp qw/carp/; |
use Carp qw/carp/; |
5 |
|
|
6 |
use Moose; |
use Moose; |
7 |
extends 'Frey'; |
extends 'Frey'; |
8 |
with 'Frey::Web::Field'; |
with 'Frey::ORM::Field'; |
9 |
with 'Frey::Web::Layout'; |
with 'Frey::ORM::Layout'; |
10 |
with 'Frey::Storage'; |
with 'Frey::Storage'; |
11 |
#with 'BonusTypes'; |
#with 'BonusTypes'; |
12 |
|
|
13 |
use Moose::Util::TypeConstraints; |
use Moose::Util::TypeConstraints; |
14 |
|
|
15 |
enum 'Render_as' => qw( view edit none ); |
enum 'Render_as' => qw( view edit none ); |
16 |
has render_as => ( is => 'rw', isa => 'Render_as', required => 1, default => 'view' ); |
has render_as => ( |
17 |
|
is => 'rw', |
18 |
|
isa => 'Render_as', |
19 |
|
required => 1, |
20 |
|
default => 'view', |
21 |
|
); |
22 |
|
|
23 |
has fey => ( |
has fey => ( |
24 |
is => 'rw', |
is => 'rw', |
74 |
|
|
75 |
warn "# item ",$self->uuid, " fey = ",dump( $self->fey ) if $self->debug; |
warn "# item ",$self->uuid, " fey = ",dump( $self->fey ) if $self->debug; |
76 |
|
|
77 |
while(1) { |
my $out; |
78 |
my $out; |
if ( $self->render_as eq 'edit' ) { |
79 |
if ( $self->render_as eq 'edit' ) { |
$out .= $self->render_edit; |
80 |
$out .= $self->render_edit; |
} elsif ( $self->render_as eq 'view' ) { |
81 |
} elsif ( $self->render_as eq 'view' ) { |
$out .= $self->render_view; |
82 |
$out .= $self->render_view; |
} else { |
83 |
} else { |
warn "no renderer ",dump( $self->render_as ), " skipping..."; |
|
warn "no renderer ",dump( $self->render_as ), " skipping..."; |
|
|
} |
|
|
|
|
|
warn $@ if $@; |
|
|
warn ">>> ",length($out),"\n"; |
|
|
my $f = $self->next($out); |
|
|
$self->set_from_hash($f); |
|
|
$self->exec_callbacks($f) if $self->can('exec_callbacks'); |
|
84 |
} |
} |
85 |
|
|
86 |
|
warn $@ if $@; |
87 |
|
warn ">>> ",length($out),"\n"; |
88 |
|
|
89 |
|
return $out; |
90 |
}; |
}; |
91 |
|
|
92 |
sub field_value { |
sub field_value { |