214 |
grep { |
grep { |
215 |
die "$_ doesn't have meta" unless $class->can('meta'); |
die "$_ doesn't have meta" unless $class->can('meta'); |
216 |
! $class->meta->get_attribute($_)->is_lazy |
! $class->meta->get_attribute($_)->is_lazy |
217 |
&& ! defined $default->{$_} |
# && ! defined $default->{$_} # XXX show fields with values |
218 |
&& ! m{^_} # skip _private |
&& ! m{^_} # skip _private |
219 |
} $self->attributes; |
} $self->attributes; |
220 |
|
|
230 |
delete( $fieldset->{$_} ) |
delete( $fieldset->{$_} ) |
231 |
foreach ( grep { $#{ $fieldset->{$_} } == 0 } keys %$fieldset ); |
foreach ( grep { $#{ $fieldset->{$_} } == 0 } keys %$fieldset ); |
232 |
|
|
233 |
warn "XXX fields = ",dump( @fields ); |
warn "# fieldset = ",dump( $fieldset ); |
|
warn "XXX set = ",dump( $fieldset ); |
|
234 |
|
|
235 |
foreach my $name ( @fields ) { |
foreach my $name ( @fields ) { |
236 |
my $attr_type = ''; |
my $attr_type = ''; |
280 |
|
|
281 |
# warn "# required $name ", $class->meta->get_attribute( $name )->dump( 2 ); |
# warn "# required $name ", $class->meta->get_attribute( $name )->dump( 2 ); |
282 |
|
|
283 |
$label_title .= qq| class="required"| if $required->{$name}; |
if ( $required->{$name} ) { |
284 |
|
$label_title .= qq| class="required"|; |
285 |
|
$value_html =~ s{(<\S+)\s}{$1 class=required }; |
286 |
|
} |
287 |
$label =~ s/_/ /g; |
$label =~ s/_/ /g; |
288 |
|
|
289 |
my $set = $name; |
my $set = $name; |
337 |
label.required { |
label.required { |
338 |
font-weight: bold; |
font-weight: bold; |
339 |
} |
} |
340 |
|
input.required, |
341 |
|
select.required { |
342 |
|
border-color: #c00; |
343 |
|
} |
344 |
|
|
345 |
br { |
br { |
346 |
clear: left; |
clear: left; |